X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fglsl%2FMakefile;h=f5aadc347bd5e20f86ef92521a32a82a4a405b77;hb=b2ddb93ff3b8c88682634ccdef247967e31fab84;hp=ddc9d82d61fb5e8cfea05521e327efde7a99adee;hpb=d674ebcee0d2731e50d6530502cefcebc39dcdb6;p=mesa.git diff --git a/src/glsl/Makefile b/src/glsl/Makefile index ddc9d82d61f..f5aadc347bd 100644 --- a/src/glsl/Makefile +++ b/src/glsl/Makefile @@ -6,12 +6,17 @@ include $(TOP)/configs/current LIBNAME = glsl -C_SOURCES = \ - glcpp/glcpp.c \ +LIBGLCPP_SOURCES = \ glcpp/glcpp-lex.c \ glcpp/glcpp-parse.c \ - glcpp/pp.c \ - glcpp/xtalloc.c + glcpp/pp.c + +GLCPP_SOURCES = \ + $(LIBGLCPP_SOURCES) \ + glcpp/glcpp.c + +C_SOURCES = \ + $(LIBGLCPP_SOURCES) CXX_SOURCES = \ ast_expr.cpp \ @@ -23,44 +28,66 @@ CXX_SOURCES = \ 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_constant_folding.cpp \ - ir_constant_variable.cpp \ - ir_copy_propagation.cpp \ ir.cpp \ - ir_dead_code.cpp \ - ir_dead_code_local.cpp \ - ir_div_to_mul_rcp.cpp \ ir_expression_flattening.cpp \ ir_function_can_inline.cpp \ ir_function.cpp \ - ir_function_inlining.cpp \ ir_hierarchical_visitor.cpp \ ir_hv_accept.cpp \ - ir_if_return.cpp \ - ir_if_simplification.cpp \ - ir_mod_to_fract.cpp \ + ir_import_prototypes.cpp \ ir_print_visitor.cpp \ ir_reader.cpp \ - ir_swizzle_swizzle.cpp \ + ir_rvalue_visitor.cpp \ + ir_set_program_inouts.cpp \ ir_validate.cpp \ ir_variable.cpp \ - ir_vec_index_to_cond_assign.cpp \ - ir_vec_index_to_swizzle.cpp \ + ir_variable_refcount.cpp \ linker.cpp \ + link_functions.cpp \ + loop_analysis.cpp \ + loop_controls.cpp \ + loop_unroll.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_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 LIBS = \ $(TOP)/src/glsl/libglsl.a \ - $(shell pkg-config --libs talloc) + $(TALLOC_LIBS) + +APPS = glsl_compiler glcpp/glcpp -APPS = glsl_compiler GLSL2_C_SOURCES = \ - ../mesa/shader/hash_table.c \ - ../mesa/shader/symbol_table.c + ../mesa/program/hash_table.c \ + ../mesa/program/symbol_table.c GLSL2_CXX_SOURCES = \ main.cpp @@ -70,15 +97,24 @@ GLSL2_OBJECTS = \ ### Basic defines ### +DEFINES += \ + $(LIBRARY_DEFINES) \ + $(API_DEFINES) + +GLCPP_OBJECTS = \ + $(GLCPP_SOURCES:.c=.o) \ + ../mesa/program/hash_table.o + OBJECTS = \ $(C_SOURCES:.c=.o) \ $(CXX_SOURCES:.cpp=.o) INCLUDES = \ + $(TALLOC_CFLAGS) \ -I. \ -I../mesa \ -I../mapi \ - -I../mesa/shader \ + -I../../include \ $(LIBRARY_INCLUDES) ALL_SOURCES = \ @@ -101,7 +137,7 @@ depend: $(ALL_SOURCES) Makefile # Remove .o and backup files clean: - rm -f $(OBJECTS) lib$(LIBNAME).a depend depend.bak + rm -f $(GLCPP_OBJECTS) $(GLSL2_OBJECTS) $(OBJECTS) lib$(LIBNAME).a depend depend.bak -rm -f $(APPS) # Dummy target @@ -114,25 +150,34 @@ install: glsl_compiler: $(GLSL2_OBJECTS) libglsl.a $(APP_CXX) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(GLSL2_OBJECTS) $(LIBS) -o $@ +glcpp/glcpp: $(GLCPP_OBJECTS) libglsl.a + $(APP_CC) $(INCLUDES) $(CFLAGS) $(LDFLAGS) $(GLCPP_OBJECTS) $(LIBS) -o $@ + .cpp.o: - $(CXX) -c $(INCLUDES) $(CXXFLAGS) $(LIBRARY_DEFINES) $< -o $@ + $(CXX) -c $(INCLUDES) $(CXXFLAGS) $(DEFINES) $< -o $@ .c.o: - $(CC) -c $(INCLUDES) $(CFLAGS) $(LIBRARY_DEFINES) $< -o $@ + $(CC) -c $(INCLUDES) $(CFLAGS) $(DEFINES) $< -o $@ glsl_lexer.cpp: glsl_lexer.lpp - flex --never-interactive --outfile="$@" $< + flex --nounistd -o$@ $< glsl_parser.cpp: glsl_parser.ypp - bison -v -o "$@" --defines=glsl_parser.h $< + bison -v -o "$@" -p "_mesa_glsl_" --defines=glsl_parser.h $< glcpp/glcpp-lex.c: glcpp/glcpp-lex.l - flex --never-interactive --outfile="$@" $< + flex --nounistd -o$@ $< glcpp/glcpp-parse.c: glcpp/glcpp-parse.y bison -v -o "$@" --defines=glcpp/glcpp-parse.h $< -builtin_function.cpp: builtins/*/* - ./builtins/tools/generate_builtins.pl > builtin_function.cpp +builtins: builtin_function.cpp builtins/profiles/* builtins/ir/* builtins/tools/generate_builtins.py builtins/tools/texture_builtins.py + @echo Bootstrapping the compiler... + cp builtins/tools/builtin_function.cpp . + make glsl_compiler + @echo Regenerating builtin_function.cpp... + $(PYTHON2) $(PYTHON_FLAGS) builtins/tools/generate_builtins.py > builtin_function.cpp + @echo Rebuilding the real compiler... + make glsl_compiler -include depend