[Mesa-dev] Mesa (master): automake: Add a prefix variable for libglsl sources.

Jose Fonseca jfonseca at vmware.com
Mon Jun 11 10:02:34 PDT 2012


This breaks the SCons build, which parses src/glsl/Makefile.sources, and can't understand "$(GLSL_SRCDIR)/" as it only supports a simple subset of Make syntax.

Is there some other way to achieve this effect, without changing src/glsl/Makefile.sources?

Jose

----- Original Message -----
> Module: Mesa
> Branch: master
> Commit: 446faee094ae6f0a4914b59a9eb87077a1f7b3c5
> URL:
>    http://cgit.freedesktop.org/mesa/mesa/commit/?id=446faee094ae6f0a4914b59a9eb87077a1f7b3c5
> 
> Author: Eric Anholt <eric at anholt.net>
> Date:   Tue May 29 14:45:10 2012 -0700
> 
> automake: Add a prefix variable for libglsl sources.
> 
> See e86c40a84d241b954594f5ae7df9b9c3fc797a4e for reasoning.  In the
> process I did s/:=/=/ to shut up automake about nonportable make
> syntax.
> 
> ---
> 
>  src/glsl/Android.mk       |    1 +
>  src/glsl/Makefile         |    1 +
>  src/glsl/Makefile.sources |  172
>  ++++++++++++++++++++++----------------------
>  3 files changed, 88 insertions(+), 86 deletions(-)
> 
> diff --git a/src/glsl/Android.mk b/src/glsl/Android.mk
> index cf793d6..66c8bec 100644
> --- a/src/glsl/Android.mk
> +++ b/src/glsl/Android.mk
> @@ -25,6 +25,7 @@
>  
>  LOCAL_PATH := $(call my-dir)
>  
> +GLSL_SRCDIR = .
>  include $(LOCAL_PATH)/Makefile.sources
>  
>  # ---------------------------------------
> diff --git a/src/glsl/Makefile b/src/glsl/Makefile
> index 7c80c95..2ae46d1 100644
> --- a/src/glsl/Makefile
> +++ b/src/glsl/Makefile
> @@ -7,6 +7,7 @@ include $(TOP)/configs/current
>  
>  LIBNAME = glsl
>  
> +GLSL_SRCDIR=.
>  include Makefile.sources
>  
>  GLCPP_SOURCES = \
> diff --git a/src/glsl/Makefile.sources b/src/glsl/Makefile.sources
> index caa8ad5..b58de17 100644
> --- a/src/glsl/Makefile.sources
> +++ b/src/glsl/Makefile.sources
> @@ -2,92 +2,92 @@
>  
>  # libglcpp
>  
> -LIBGLCPP_FILES := \
> -	glcpp/pp.c
> +LIBGLCPP_FILES = \
> +	$(GLSL_SRCDIR)/glcpp/pp.c
>  
> -LIBGLCPP_GENERATED_FILES := \
> -	glcpp/glcpp-lex.c \
> -	glcpp/glcpp-parse.c
> +LIBGLCPP_GENERATED_FILES = \
> +	$(GLSL_SRCDIR)/glcpp/glcpp-lex.c \
> +	$(GLSL_SRCDIR)/glcpp/glcpp-parse.c
>  
>  # libglsl
>  
> -LIBGLSL_FILES := \
> -	strtod.c \
> -	ralloc.c
> +LIBGLSL_FILES = \
> +	$(GLSL_SRCDIR)/strtod.c \
> +	$(GLSL_SRCDIR)/ralloc.c
>  
> -LIBGLSL_CXX_FILES := \
> -	ast_expr.cpp \
> -	ast_function.cpp \
> -	ast_to_hir.cpp \
> -	ast_type.cpp \
> -	builtin_variables.cpp \
> -	glsl_parser_extras.cpp \
> -	glsl_types.cpp \
> -	glsl_symbol_table.cpp \
> -	hir_field_selection.cpp \
> -	ir_basic_block.cpp \
> -	ir_builder.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_refcount.cpp \
> -	linker.cpp \
> -	link_functions.cpp \
> -	link_uniforms.cpp \
> -	link_uniform_initializers.cpp \
> -	loop_analysis.cpp \
> -	loop_controls.cpp \
> -	loop_unroll.cpp \
> -	lower_clip_distance.cpp \
> -	lower_discard.cpp \
> -	lower_discard_flow.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 \
> -	lower_output_reads.cpp \
> -	opt_algebraic.cpp \
> -	opt_array_splitting.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_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
> +LIBGLSL_CXX_FILES = \
> +	$(GLSL_SRCDIR)/ast_expr.cpp \
> +	$(GLSL_SRCDIR)/ast_function.cpp \
> +	$(GLSL_SRCDIR)/ast_to_hir.cpp \
> +	$(GLSL_SRCDIR)/ast_type.cpp \
> +	$(GLSL_SRCDIR)/builtin_variables.cpp \
> +	$(GLSL_SRCDIR)/glsl_parser_extras.cpp \
> +	$(GLSL_SRCDIR)/glsl_types.cpp \
> +	$(GLSL_SRCDIR)/glsl_symbol_table.cpp \
> +	$(GLSL_SRCDIR)/hir_field_selection.cpp \
> +	$(GLSL_SRCDIR)/ir_basic_block.cpp \
> +	$(GLSL_SRCDIR)/ir_builder.cpp \
> +	$(GLSL_SRCDIR)/ir_clone.cpp \
> +	$(GLSL_SRCDIR)/ir_constant_expression.cpp \
> +	$(GLSL_SRCDIR)/ir.cpp \
> +	$(GLSL_SRCDIR)/ir_expression_flattening.cpp \
> +	$(GLSL_SRCDIR)/ir_function_can_inline.cpp \
> +	$(GLSL_SRCDIR)/ir_function_detect_recursion.cpp \
> +	$(GLSL_SRCDIR)/ir_function.cpp \
> +	$(GLSL_SRCDIR)/ir_hierarchical_visitor.cpp \
> +	$(GLSL_SRCDIR)/ir_hv_accept.cpp \
> +	$(GLSL_SRCDIR)/ir_import_prototypes.cpp \
> +	$(GLSL_SRCDIR)/ir_print_visitor.cpp \
> +	$(GLSL_SRCDIR)/ir_reader.cpp \
> +	$(GLSL_SRCDIR)/ir_rvalue_visitor.cpp \
> +	$(GLSL_SRCDIR)/ir_set_program_inouts.cpp \
> +	$(GLSL_SRCDIR)/ir_validate.cpp \
> +	$(GLSL_SRCDIR)/ir_variable_refcount.cpp \
> +	$(GLSL_SRCDIR)/linker.cpp \
> +	$(GLSL_SRCDIR)/link_functions.cpp \
> +	$(GLSL_SRCDIR)/link_uniforms.cpp \
> +	$(GLSL_SRCDIR)/link_uniform_initializers.cpp \
> +	$(GLSL_SRCDIR)/loop_analysis.cpp \
> +	$(GLSL_SRCDIR)/loop_controls.cpp \
> +	$(GLSL_SRCDIR)/loop_unroll.cpp \
> +	$(GLSL_SRCDIR)/lower_clip_distance.cpp \
> +	$(GLSL_SRCDIR)/lower_discard.cpp \
> +	$(GLSL_SRCDIR)/lower_discard_flow.cpp \
> +	$(GLSL_SRCDIR)/lower_if_to_cond_assign.cpp \
> +	$(GLSL_SRCDIR)/lower_instructions.cpp \
> +	$(GLSL_SRCDIR)/lower_jumps.cpp \
> +	$(GLSL_SRCDIR)/lower_mat_op_to_vec.cpp \
> +	$(GLSL_SRCDIR)/lower_noise.cpp \
> +	$(GLSL_SRCDIR)/lower_texture_projection.cpp \
> +	$(GLSL_SRCDIR)/lower_variable_index_to_cond_assign.cpp \
> +	$(GLSL_SRCDIR)/lower_vec_index_to_cond_assign.cpp \
> +	$(GLSL_SRCDIR)/lower_vec_index_to_swizzle.cpp \
> +	$(GLSL_SRCDIR)/lower_vector.cpp \
> +	$(GLSL_SRCDIR)/lower_output_reads.cpp \
> +	$(GLSL_SRCDIR)/opt_algebraic.cpp \
> +	$(GLSL_SRCDIR)/opt_array_splitting.cpp \
> +	$(GLSL_SRCDIR)/opt_constant_folding.cpp \
> +	$(GLSL_SRCDIR)/opt_constant_propagation.cpp \
> +	$(GLSL_SRCDIR)/opt_constant_variable.cpp \
> +	$(GLSL_SRCDIR)/opt_copy_propagation.cpp \
> +	$(GLSL_SRCDIR)/opt_copy_propagation_elements.cpp \
> +	$(GLSL_SRCDIR)/opt_dead_code.cpp \
> +	$(GLSL_SRCDIR)/opt_dead_code_local.cpp \
> +	$(GLSL_SRCDIR)/opt_dead_functions.cpp \
> +	$(GLSL_SRCDIR)/opt_function_inlining.cpp \
> +	$(GLSL_SRCDIR)/opt_if_simplification.cpp \
> +	$(GLSL_SRCDIR)/opt_noop_swizzle.cpp \
> +	$(GLSL_SRCDIR)/opt_redundant_jumps.cpp \
> +	$(GLSL_SRCDIR)/opt_structure_splitting.cpp \
> +	$(GLSL_SRCDIR)/opt_swizzle_swizzle.cpp \
> +	$(GLSL_SRCDIR)/opt_tree_grafting.cpp \
> +	$(GLSL_SRCDIR)/s_expression.cpp
>  
>  # glsl_compiler
>  
> -GLSL_COMPILER_CXX_FILES := \
> -	standalone_scaffolding.cpp \
> -	main.cpp
> +GLSL_COMPILER_CXX_FILES = \
> +	$(GLSL_SRCDIR)/standalone_scaffolding.cpp \
> +	$(GLSL_SRCDIR)/main.cpp
>  
>  # builtin_compiler
>  #
> @@ -95,14 +95,14 @@ GLSL_COMPILER_CXX_FILES := \
>  # For this to work, a dummy version of builtin_function.cpp,
>  # builtin_stubs.cpp, is used.
>  
> -BUILTIN_COMPILER_CXX_FILES := \
> -	builtin_stubs.cpp
> +BUILTIN_COMPILER_CXX_FILES = \
> +	$(GLSL_SRCDIR)/builtin_stubs.cpp
>  
> -BUILTIN_COMPILER_GENERATED_CXX_FILES := \
> -	glsl_lexer.cpp \
> -	glsl_parser.cpp
> +BUILTIN_COMPILER_GENERATED_CXX_FILES = \
> +	$(GLSL_SRCDIR)/glsl_lexer.cpp \
> +	$(GLSL_SRCDIR)/glsl_parser.cpp
>  
>  # libglsl generated sources
> -LIBGLSL_GENERATED_CXX_FILES := \
> -	$(BUILTIN_COMPILER_GENERATED_CXX_FILES) \
> -	builtin_function.cpp
> +LIBGLSL_GENERATED_CXX_FILES = \
> +	$(GLSL_SRCDIR)/$(BUILTIN_COMPILER_GENERATED_CXX_FILES) \
> +	$(GLSL_SRCDIR)/builtin_function.cpp
> 
> _______________________________________________
> mesa-commit mailing list
> mesa-commit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-commit
> 


More information about the mesa-dev mailing list