[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