On 11/02/2013 12:00 PM, Emil Velikov wrote:
Rip out the source file list from mesa/Makefile.sources, to a
more sensible location/file.
* Split PROGRAM_FILES and GENERATED_FILES.
* Update the automake and Android build systems.

Android
* Slightly reshuffle the Android.mk for readability sake.
* Use GENERATED_FILES, drop the TODO item.
* Use explicit 'call' when executing local macros.

Cc: Chad Versace <chad.vers...@linux.intel.com>
Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com>
---

Andoid changes are _not_ tested (yet).

The changes to the Andoid.mk look good to me. It's much easier to
understand now. However, I've also not tested the changes. This
path is
Reviewed-by: Chad Versace <chad.vers...@linux.intel.com>

Adrian, do wish to test this series on Android?

---
  src/mesa/Makefile.sources         | 24 ---------------
  src/mesa/program/Android.mk       | 65 ++++++++++++++++-----------------------
  src/mesa/program/Makefile.am      | 25 +++++++++------
  src/mesa/program/Makefile.sources | 27 ++++++++++++++++
  4 files changed, 69 insertions(+), 72 deletions(-)
  create mode 100644 src/mesa/program/Makefile.sources

diff --git a/src/mesa/Makefile.sources b/src/mesa/Makefile.sources
index a84f8a7..e4146ae 100644
--- a/src/mesa/Makefile.sources
+++ b/src/mesa/Makefile.sources
@@ -252,30 +252,6 @@ STATETRACKER_FILES = \
        $(SRCDIR)state_tracker/st_texture.c \
        $(SRCDIR)state_tracker/st_vdpau.c

-PROGRAM_FILES = \
-       $(SRCDIR)program/arbprogparse.c \
-       $(SRCDIR)program/prog_hash_table.c \
-       $(SRCDIR)program/ir_to_mesa.cpp \
-       $(SRCDIR)program/program.c \
-       $(SRCDIR)program/program_parse_extra.c \
-       $(SRCDIR)program/prog_cache.c \
-       $(SRCDIR)program/prog_execute.c \
-       $(SRCDIR)program/prog_instruction.c \
-       $(SRCDIR)program/prog_noise.c \
-       $(SRCDIR)program/prog_optimize.c \
-       $(SRCDIR)program/prog_opt_constant_fold.c \
-       $(SRCDIR)program/prog_parameter.c \
-       $(SRCDIR)program/prog_parameter_layout.c \
-       $(SRCDIR)program/prog_print.c \
-       $(SRCDIR)program/prog_statevars.c \
-       $(SRCDIR)program/programopt.c \
-       $(SRCDIR)program/register_allocate.c \
-       $(SRCDIR)program/sampler.cpp \
-       $(SRCDIR)program/string_to_uint_map.cpp \
-       $(SRCDIR)program/symbol_table.c \
-       $(BUILDDIR)program/lex.yy.c \
-       $(BUILDDIR)program/program_parse.tab.c
-
  ASM_C_FILES = \
        $(SRCDIR)x86/common_x86.c \
        $(SRCDIR)x86/x86_xform.c \
diff --git a/src/mesa/program/Android.mk b/src/mesa/program/Android.mk
index e85afe6..e340ed4 100644
--- a/src/mesa/program/Android.mk
+++ b/src/mesa/program/Android.mk
@@ -18,8 +18,30 @@
  # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  # DEALINGS IN THE SOFTWARE.

+# ----------------------------------------------------------------------
+# libmesa_program.a
+# ----------------------------------------------------------------------
  LOCAL_PATH := $(call my-dir)

+# get PROGRAM_FILES and GENERATED_FILES
+include $(LOCAL_PATH)/Makefile.sources
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libmesa_program
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+
+intermediates := $(call local-intermediates-dir)
+
+LOCAL_C_INCLUDES := \
+       $(intermediates) \
+       $(MESA_TOP)/src/mapi \
+       $(MESA_TOP)/src/mesa \
+       $(MESA_TOP)/src/glsl
+
+
+LOCAL_SRC_FILES := $(PROGRAM_FILES)
+LOCAL_GENERATED_SOURCES := $(addprefix $(intermediates)/,$(GENERATED_FILES))
+
  define local-l-to-c
        @mkdir -p $(dir $@)
        @echo "Mesa Lex: $(PRIVATE_MODULE) <= $<"
@@ -32,48 +54,15 @@ define mesa_local-y-to-c-and-h
        $(hide) $(YACC) -o $@ -p "_mesa_program_" $<
  endef

-# ----------------------------------------------------------------------
-# libmesa_program.a
-# ----------------------------------------------------------------------
-
-# Import the following variables:
-#     PROGRAM_FILES
-include $(MESA_TOP)/src/mesa/Makefile.sources
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libmesa_program
-LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-
-intermediates := $(call local-intermediates-dir)
+$(intermediates)/lex.yy.c: $(LOCAL_PATH)/program_lexer.l
+       $(call local-l-to-c)

-# TODO(chadv): In Makefile.sources, move these vars to a different list so we 
can
-# remove this kludge.
-generated_sources_basenames := \
-       lex.yy.c \
-       program_parse.tab.c \
-       program_parse.tab.h
+$(intermediates)/program_parse.tab.c: $(LOCAL_PATH)/program_parse.y
+       $(call mesa_local-y-to-c-and-h)

-LOCAL_SRC_FILES := \
-       $(filter-out $(generated_sources_basenames),$(subst 
program/,,$(PROGRAM_FILES)))
-
-LOCAL_GENERATED_SOURCES := \
-       $(addprefix $(intermediates)/program/,$(generated_sources_basenames))
-
-$(intermediates)/program/program_parse.tab.c: $(LOCAL_PATH)/program_parse.y
-       $(mesa_local-y-to-c-and-h)
-
-$(intermediates)/program/program_parse.tab.h: 
$(intermediates)/program/program_parse.tab.c
+$(intermediates)/program_parse.tab.h: $(intermediates)/program_parse.tab.c
        @

-$(intermediates)/program/lex.yy.c: $(LOCAL_PATH)/program_lexer.l
-       $(local-l-to-c)
-
-LOCAL_C_INCLUDES := \
-       $(intermediates) \
-       $(MESA_TOP)/src/mapi \
-       $(MESA_TOP)/src/mesa \
-       $(MESA_TOP)/src/glsl

  include $(MESA_COMMON_MK)
  include $(BUILD_STATIC_LIBRARY)
diff --git a/src/mesa/program/Makefile.am b/src/mesa/program/Makefile.am
index 5e05782..3b560bd 100644
--- a/src/mesa/program/Makefile.am
+++ b/src/mesa/program/Makefile.am
@@ -19,18 +19,26 @@
  # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
  # IN THE SOFTWARE.

-include ../Makefile.sources
+include Makefile.sources
+
+AM_CPPFLAGS = \
+       -I$(top_srcdir)/include \
+       -I$(top_builddir)/src/mapi \
+       -I$(top_srcdir)/src/mapi \
+       -I$(top_builddir)/src/mesa \
+       -I$(top_srcdir)/src/mesa \
+       -I$(top_builddir)/src/glsl \
+       -I$(top_srcdir)/src/glsl \
+       $(DEFINES)

-AM_CPPFLAGS = $(DEFINES) $(INCLUDE_DIRS)
  AM_CFLAGS = $(VISIBILITY_CFLAGS)
  AM_CXXFLAGS = $(VISIBILITY_CXXFLAGS)

-SRCDIR = $(top_srcdir)/src/mesa/
-BUILDDIR = $(top_builddir)/src/mesa/
-
  noinst_LTLIBRARIES = libprogram.la

-libprogram_la_SOURCES = $(PROGRAM_FILES)
+libprogram_la_SOURCES = \
+       $(PROGRAM_FILES) \
+       $(GENERATED_FILES)

  lex.yy.c: program_lexer.l
        $(AM_V_GEN) $(LEX) --never-interactive --outfile=$@ $<
@@ -38,8 +46,5 @@ lex.yy.c: program_lexer.l
  program_parse.tab.c program_parse.tab.h: program_parse.y
        $(AM_V_GEN) $(YACC) -p "_mesa_program_" -v -d --output=program_parse.tab.c 
$<

-BUILT_SOURCES = \
-       program_parse.tab.c \
-       program_parse.tab.h \
-       lex.yy.c
+BUILT_SOURCES = $(GENERATED_FILES)
  CLEANFILES = $(BUILT_SOURCES)
diff --git a/src/mesa/program/Makefile.sources 
b/src/mesa/program/Makefile.sources
new file mode 100644
index 0000000..8b2dee5
--- /dev/null
+++ b/src/mesa/program/Makefile.sources
@@ -0,0 +1,27 @@
+PROGRAM_FILES := \
+       arbprogparse.c \
+       ir_to_mesa.cpp \
+       prog_cache.c \
+       prog_execute.c \
+       prog_hash_table.c \
+       prog_instruction.c \
+       prog_noise.c \
+       prog_opt_constant_fold.c \
+       prog_optimize.c \
+       prog_parameter.c \
+       prog_parameter_layout.c \
+       prog_print.c \
+       program.c \
+       program_parse_extra.c \
+       programopt.c \
+       prog_statevars.c \
+       register_allocate.c \
+       sampler.cpp \
+       string_to_uint_map.cpp \
+       symbol_table.c
+
+
+GENERATED_FILES := \
+       lex.yy.c \
+       program_parse.tab.c \
+       program_parse.tab.h


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to