[Mesa-dev] [PATCH 1/3] glsl: Refactor source lists to Makefile.sources

Chia-I Wu olvaffe at gmail.com
Sun Oct 30 04:53:49 PDT 2011


With the hope that Android.mk and SConscript can share the file to reduce
future breakage.
---
 src/glsl/Makefile         |   82 ++++-------------------------------
 src/glsl/Makefile.sources |  104 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 113 insertions(+), 73 deletions(-)
 create mode 100644 src/glsl/Makefile.sources

diff --git a/src/glsl/Makefile b/src/glsl/Makefile
index 504f1fb..d9ecbc8 100644
--- a/src/glsl/Makefile
+++ b/src/glsl/Makefile
@@ -7,86 +7,23 @@ include $(TOP)/configs/current
 
 LIBNAME = glsl
 
-LIBGLCPP_SOURCES = \
-	glcpp/glcpp-lex.c \
-	glcpp/glcpp-parse.c \
-	glcpp/pp.c
+include Makefile.sources
 
 GLCPP_SOURCES = \
+	$(LIBGLCPP_GENERATED_SOURCES) \
 	$(LIBGLCPP_SOURCES) \
 	ralloc.c \
 	glcpp/glcpp.c
 
 C_SOURCES = \
-	strtod.c \
-	ralloc.c \
-	$(LIBGLCPP_SOURCES)
+	$(LIBGLCPP_GENERATED_SOURCES) \
+	$(LIBGLCPP_SOURCES) \
+	$(LIBGLSL_SOURCES)
 
+# common sources for builtin_compiler and libglsl
 CXX_SOURCES = \
-	ast_expr.cpp \
-	ast_function.cpp \
-	ast_to_hir.cpp \
-	ast_type.cpp \
-	glsl_lexer.cpp \
-	glsl_parser.cpp \
-	glsl_parser_extras.cpp \
-	glsl_types.cpp \
-	glsl_symbol_table.cpp \
-	hir_field_selection.cpp \
-	ir_basic_block.cpp \
-	ir_clone.cpp \
-	ir_constant_expression.cpp \
-	ir.cpp \
-	ir_expression_flattening.cpp \
-	ir_function_can_inline.cpp \
-	ir_function_detect_recursion.cpp \
-	ir_function.cpp \
-	ir_hierarchical_visitor.cpp \
-	ir_hv_accept.cpp \
-	ir_import_prototypes.cpp \
-	ir_print_visitor.cpp \
-	ir_reader.cpp \
-	ir_rvalue_visitor.cpp \
-	ir_set_program_inouts.cpp \
-	ir_validate.cpp \
-	ir_variable.cpp \
-	ir_variable_refcount.cpp \
-	linker.cpp \
-	link_functions.cpp \
-	link_uniforms.cpp \
-	loop_analysis.cpp \
-	loop_controls.cpp \
-	loop_unroll.cpp \
-	lower_clip_distance.cpp \
-	lower_discard.cpp \
-	lower_if_to_cond_assign.cpp \
-	lower_instructions.cpp \
-	lower_jumps.cpp \
-	lower_mat_op_to_vec.cpp \
-	lower_noise.cpp \
-	lower_texture_projection.cpp \
-	lower_variable_index_to_cond_assign.cpp \
-	lower_vec_index_to_cond_assign.cpp \
-	lower_vec_index_to_swizzle.cpp \
-	lower_vector.cpp \
-	opt_algebraic.cpp \
-	opt_constant_folding.cpp \
-	opt_constant_propagation.cpp \
-	opt_constant_variable.cpp \
-	opt_copy_propagation.cpp \
-	opt_copy_propagation_elements.cpp \
-	opt_dead_code.cpp \
-	opt_dead_code_local.cpp \
-	opt_dead_functions.cpp \
-	opt_discard_simplification.cpp \
-	opt_function_inlining.cpp \
-	opt_if_simplification.cpp \
-	opt_noop_swizzle.cpp \
-	opt_redundant_jumps.cpp \
-	opt_structure_splitting.cpp \
-	opt_swizzle_swizzle.cpp \
-	opt_tree_grafting.cpp \
-	s_expression.cpp
+	$(BUILTIN_COMPILER_GENERATED_CXX_SOURCES) \
+	$(LIBGLSL_CXX_SOURCES)
 
 LIBS = \
 	$(TOP)/src/glsl/libglsl.a
@@ -97,8 +34,7 @@ GLSL2_C_SOURCES = \
 	../mesa/program/hash_table.c \
 	../mesa/program/symbol_table.c
 GLSL2_CXX_SOURCES = \
-	main.cpp \
-	standalone_scaffolding.cpp
+	$(GLSL_COMPILER_CXX_SOURCES)
 
 GLSL2_OBJECTS = \
 	$(GLSL2_C_SOURCES:.c=.o) \
diff --git a/src/glsl/Makefile.sources b/src/glsl/Makefile.sources
new file mode 100644
index 0000000..b4bfff0
--- /dev/null
+++ b/src/glsl/Makefile.sources
@@ -0,0 +1,104 @@
+# shared source lists for Makefile, SConscript, and Android.mk
+
+# libglcpp
+
+LIBGLCPP_SOURCES := \
+	glcpp/pp.c
+
+LIBGLCPP_GENERATED_SOURCES := \
+	glcpp/glcpp-lex.c \
+	glcpp/glcpp-parse.c
+
+# libglsl
+
+LIBGLSL_SOURCES := \
+	strtod.c \
+	ralloc.c
+
+LIBGLSL_CXX_SOURCES := \
+	ast_expr.cpp \
+	ast_function.cpp \
+	ast_to_hir.cpp \
+	ast_type.cpp \
+	glsl_parser_extras.cpp \
+	glsl_types.cpp \
+	glsl_symbol_table.cpp \
+	hir_field_selection.cpp \
+	ir_basic_block.cpp \
+	ir_clone.cpp \
+	ir_constant_expression.cpp \
+	ir.cpp \
+	ir_expression_flattening.cpp \
+	ir_function_can_inline.cpp \
+	ir_function_detect_recursion.cpp \
+	ir_function.cpp \
+	ir_hierarchical_visitor.cpp \
+	ir_hv_accept.cpp \
+	ir_import_prototypes.cpp \
+	ir_print_visitor.cpp \
+	ir_reader.cpp \
+	ir_rvalue_visitor.cpp \
+	ir_set_program_inouts.cpp \
+	ir_validate.cpp \
+	ir_variable.cpp \
+	ir_variable_refcount.cpp \
+	linker.cpp \
+	link_functions.cpp \
+	link_uniforms.cpp \
+	loop_analysis.cpp \
+	loop_controls.cpp \
+	loop_unroll.cpp \
+	lower_clip_distance.cpp \
+	lower_discard.cpp \
+	lower_if_to_cond_assign.cpp \
+	lower_instructions.cpp \
+	lower_jumps.cpp \
+	lower_mat_op_to_vec.cpp \
+	lower_noise.cpp \
+	lower_texture_projection.cpp \
+	lower_variable_index_to_cond_assign.cpp \
+	lower_vec_index_to_cond_assign.cpp \
+	lower_vec_index_to_swizzle.cpp \
+	lower_vector.cpp \
+	opt_algebraic.cpp \
+	opt_constant_folding.cpp \
+	opt_constant_propagation.cpp \
+	opt_constant_variable.cpp \
+	opt_copy_propagation.cpp \
+	opt_copy_propagation_elements.cpp \
+	opt_dead_code.cpp \
+	opt_dead_code_local.cpp \
+	opt_dead_functions.cpp \
+	opt_discard_simplification.cpp \
+	opt_function_inlining.cpp \
+	opt_if_simplification.cpp \
+	opt_noop_swizzle.cpp \
+	opt_redundant_jumps.cpp \
+	opt_structure_splitting.cpp \
+	opt_swizzle_swizzle.cpp \
+	opt_tree_grafting.cpp \
+	s_expression.cpp
+
+# glsl_compiler
+
+GLSL_COMPILER_CXX_SOURCES := \
+	standalone_scaffolding.cpp \
+	main.cpp
+
+# builtin_compiler
+#
+# This is built before libglsl to generate builtin_funciton.cpp for libglsl.
+# For this to work, a dummy version of builtin_function.cpp,
+# builtin_stubs.cpp, is used.
+
+BUILTIN_COMPILER_CXX_SOURCES := \
+	builtin_stubs.cpp
+
+BUILTIN_COMPILER_GENERATED_CXX_SOURCES := \
+	glsl_lexer.cpp \
+	glsl_parser.cpp
+
+# libglsl generated sources
+LIBGLSL_GENERATED_CXX_SOURCES := \
+	$(BUILTIN_COMPILER_GENERATED_CXX_SOURCES) \
+	builtin_function.cpp
-- 
1.7.6.3



More information about the mesa-dev mailing list