glsl: Refactor source lists to Makefile.sources
authorChia-I Wu <olvaffe@gmail.com>
Sun, 30 Oct 2011 11:28:35 +0000 (19:28 +0800)
committerChia-I Wu <olvaffe@gmail.com>
Tue, 1 Nov 2011 22:34:39 +0000 (06:34 +0800)
With the hope that Android.mk and SConscript can share the file to reduce
future breakage.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Chad Versace <chad@chad-versace.us>
src/glsl/Makefile
src/glsl/Makefile.sources [new file with mode: 0644]

index 504f1fb43ebeca1570a7110dbfcc228670ccbc93..d9ecbc8e3e09fd227def88dd49f2a390f6f4bf0d 100644 (file)
@@ -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 (file)
index 0000000..b4bfff0
--- /dev/null
@@ -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