Merge "Fixup usage of lex/yacc in Android.mk files"
diff --git a/src/compiler/Android.glsl.gen.mk b/src/compiler/Android.glsl.gen.mk
index f4bc9e8..fc708ac 100644
--- a/src/compiler/Android.glsl.gen.mk
+++ b/src/compiler/Android.glsl.gen.mk
@@ -54,42 +54,24 @@
define local-l-or-ll-to-c-or-cpp
@mkdir -p $(dir $@)
@echo "Mesa Lex: $(PRIVATE_MODULE) <= $<"
- $(hide) $(LEX) --nounistd -o$@ $<
+ $(hide) M4=$(M4) $(LEX) --nounistd -o$@ $<
endef
-define glsl_local-y-to-c-and-h
- @mkdir -p $(dir $@)
- @echo "Mesa Yacc: $(PRIVATE_MODULE) <= $<"
- $(hide) $(YACC) -o $@ -p "glcpp_parser_" $<
-endef
-
-YACC_HEADER_SUFFIX := .hpp
-
-define local-yy-to-cpp-and-h
- @mkdir -p $(dir $@)
- @echo "Mesa Yacc: $(PRIVATE_MODULE) <= $<"
- $(hide) $(YACC) -p "_mesa_glsl_" -o $@ $<
- touch $(@:$1=$(YACC_HEADER_SUFFIX))
- echo '#ifndef '$(@F:$1=_h) > $(@:$1=.h)
- echo '#define '$(@F:$1=_h) >> $(@:$1=.h)
- cat $(@:$1=$(YACC_HEADER_SUFFIX)) >> $(@:$1=.h)
- echo '#endif' >> $(@:$1=.h)
- rm -f $(@:$1=$(YACC_HEADER_SUFFIX))
-endef
-
-$(intermediates)/glsl/glsl_lexer.cpp: $(LOCAL_PATH)/glsl/glsl_lexer.ll
+$(intermediates)/glsl/glsl_lexer.cpp: $(LOCAL_PATH)/glsl/glsl_lexer.ll $(LEX) $(M4)
$(call local-l-or-ll-to-c-or-cpp)
-$(intermediates)/glsl/glsl_parser.cpp: $(LOCAL_PATH)/glsl/glsl_parser.yy
- $(call local-yy-to-cpp-and-h,.cpp)
+$(intermediates)/glsl/glsl_parser.cpp: PRIVATE_YACCFLAGS := -p "_mesa_glsl_"
+$(intermediates)/glsl/glsl_parser.cpp: .KATI_IMPLICIT_OUTPUTS := $(intermediates)/glsl/glsl_parser.h
+$(intermediates)/glsl/glsl_parser.cpp: $(LOCAL_PATH)/glsl/glsl_parser.yy $(BISON) $(BISON_DATA) $(M4)
+ $(transform-y-to-c-or-cpp)
-$(intermediates)/glsl/glsl_parser.h: $(intermediates)/glsl/glsl_parser.cpp
-
-$(intermediates)/glsl/glcpp/glcpp-lex.c: $(LOCAL_PATH)/glsl/glcpp/glcpp-lex.l
+$(intermediates)/glsl/glcpp/glcpp-lex.c: $(LOCAL_PATH)/glsl/glcpp/glcpp-lex.l $(LEX) $(M4)
$(call local-l-or-ll-to-c-or-cpp)
-$(intermediates)/glsl/glcpp/glcpp-parse.c: $(LOCAL_PATH)/glsl/glcpp/glcpp-parse.y
- $(call glsl_local-y-to-c-and-h)
+$(intermediates)/glsl/glcpp/glcpp-parse.c: PRIVATE_YACCFLAGS := -p "glcpp_parser_"
+$(intermediates)/glsl/glcpp/glcpp-parse.c: .KATI_IMPLICIT_OUTPUTS := $(intermediates)/glsl/glcpp/glcpp-parse.h
+$(intermediates)/glsl/glcpp/glcpp-parse.c: $(LOCAL_PATH)/glsl/glcpp/glcpp-parse.y $(BISON) $(BISON_DATA) $(M4)
+ $(transform-y-to-c-or-cpp)
$(intermediates)/glsl/ir_expression_operation.h: $(prebuilt_intermediates)/glsl/ir_expression_operation.h
cp -a $< $@
diff --git a/src/mesa/program/Android.mk b/src/mesa/program/Android.mk
index c6470e6..91e7286 100644
--- a/src/mesa/program/Android.mk
+++ b/src/mesa/program/Android.mk
@@ -20,18 +20,6 @@
LOCAL_PATH := $(call my-dir)
-define local-l-to-c
- @mkdir -p $(dir $@)
- @echo "Mesa Lex: $(PRIVATE_MODULE) <= $<"
- $(hide) $(LEX) -o$@ $<
-endef
-
-define mesa_local-y-to-c-and-h
- @mkdir -p $(dir $@)
- @echo "Mesa Yacc: $(PRIVATE_MODULE) <= $<"
- $(hide) $(YACC) -o $@ -p "_mesa_program_" $<
-endef
-
# ----------------------------------------------------------------------
# libmesa_program.a
# ----------------------------------------------------------------------
@@ -58,19 +46,17 @@
LOCAL_SRC_FILES := \
$(filter-out $(generated_sources_basenames),$(subst program/,,$(PROGRAM_FILES))) \
- $(subst program/,,$(PROGRAM_NIR_FILES))
+ $(subst program/,,$(PROGRAM_NIR_FILES)) \
+ program_lexer.l
LOCAL_GENERATED_SOURCES := \
- $(addprefix $(intermediates)/program/,$(generated_sources_basenames))
+ $(intermediates)/program/program_parse.tab.c \
+ $(intermediates)/program/program_parse.tab.h
-$(intermediates)/program/program_parse.tab.c: $(LOCAL_PATH)/program_parse.y
- $(mesa_local-y-to-c-and-h)
-
-$(intermediates)/program/program_parse.tab.h: $(intermediates)/program/program_parse.tab.c
- @
-
-$(intermediates)/program/lex.yy.c: $(LOCAL_PATH)/program_lexer.l
- $(local-l-to-c)
+$(intermediates)/program/program_parse.tab.c: .KATI_IMPLICIT_OUTPUTS := $(intermediates)/program/program_parse.tab.h
+$(intermediates)/program/program_parse.tab.c: PRIVATE_YACCFLAGS := -p "_mesa_program_"
+$(intermediates)/program/program_parse.tab.c: $(LOCAL_PATH)/program_parse.y $(BISON) $(BISON_DATA) $(M4)
+ $(transform-y-to-c-or-cpp)
LOCAL_C_INCLUDES := \
$(MESA_TOP)/src/mapi \