android: nir: add build rules for nir_builder_opcodes.h
[mesa.git] / src / glsl / Android.gen.mk
index e4ccb7291ef0cbf716644c217925af238d76cde7..137a97fa58a97162916dba046f304d224a1da213 100644 (file)
@@ -33,15 +33,24 @@ sources := \
        glsl_lexer.cpp \
        glsl_parser.cpp \
        glcpp/glcpp-lex.c \
-       glcpp/glcpp-parse.c
-
-ifneq ($(LOCAL_IS_HOST_MODULE),true)
-sources += builtin_function.cpp
-endif
+       glcpp/glcpp-parse.c \
+       nir/nir_builder_opcodes.h \
+       nir/nir_constant_expressions.c \
+       nir/nir_opcodes.c \
+       nir/nir_opcodes.h \
+       nir/nir_opt_algebraic.c
 
 LOCAL_SRC_FILES := $(filter-out $(sources), $(LOCAL_SRC_FILES))
 
-LOCAL_C_INCLUDES += $(intermediates) $(intermediates)/glcpp $(MESA_TOP)/src/glsl/glcpp
+LOCAL_C_INCLUDES += \
+       $(intermediates) \
+       $(intermediates)/glcpp \
+       $(intermediates)/nir \
+       $(MESA_TOP)/src/glsl/glcpp \
+       $(MESA_TOP)/src/glsl/nir
+
+LOCAL_EXPORT_C_INCLUDE_DIRS += \
+       $(intermediates)/nir
 
 sources := $(addprefix $(intermediates)/, $(sources))
 LOCAL_GENERATED_SOURCES += $(sources)
@@ -52,10 +61,10 @@ define local-l-or-ll-to-c-or-cpp
        $(hide) $(LEX) --nounistd -o$@ $<
 endef
 
-define local-y-to-c-and-h
+define glsl_local-y-to-c-and-h
        @mkdir -p $(dir $@)
        @echo "Mesa Yacc: $(PRIVATE_MODULE) <= $<"
-       $(hide) $(YACC) -o $@ $<
+       $(hide) $(YACC) -o $@ -p "glcpp_parser_" $<
 endef
 
 define local-yy-to-cpp-and-h
@@ -80,19 +89,52 @@ $(intermediates)/glcpp/glcpp-lex.c: $(LOCAL_PATH)/glcpp/glcpp-lex.l
        $(call local-l-or-ll-to-c-or-cpp)
 
 $(intermediates)/glcpp/glcpp-parse.c: $(LOCAL_PATH)/glcpp/glcpp-parse.y
-       $(call local-y-to-c-and-h)
+       $(call glsl_local-y-to-c-and-h)
+
+nir_builder_opcodes_gen := $(LOCAL_PATH)/nir/nir_builder_opcodes_h.py
+nir_builder_opcodes_deps := \
+       $(LOCAL_PATH)/nir/nir_opcodes.py \
+       $(LOCAL_PATH)/nir/nir_builder_opcodes_h.py
 
-BUILTIN_COMPILER := $(BUILD_OUT_EXECUTABLES)/mesa_builtin_compiler$(BUILD_EXECUTABLE_SUFFIX)
+$(intermediates)/nir/nir_builder_opcodes.h: $(nir_builder_opcodes_deps)
+       @mkdir -p $(dir $@)
+       $(hide) $(MESA_PYTHON2) $(nir_builder_opcodes_gen) $< > $@
+
+nir_constant_expressions_gen := $(LOCAL_PATH)/nir/nir_constant_expressions.py
+nir_constant_expressions_deps := \
+       $(LOCAL_PATH)/nir/nir_opcodes.py \
+       $(LOCAL_PATH)/nir/nir_constant_expressions.py \
+       $(LOCAL_PATH)/nir/nir_constant_expressions.h
+
+$(intermediates)/nir/nir_constant_expressions.c: $(nir_constant_expressions_deps)
+       @mkdir -p $(dir $@)
+       $(hide) $(MESA_PYTHON2) $(nir_constant_expressions_gen) $< > $@
+
+nir_opcodes_h_gen := $(LOCAL_PATH)/nir/nir_opcodes_h.py
+nir_opcodes_h_deps := \
+       $(LOCAL_PATH)/nir/nir_opcodes.py \
+       $(LOCAL_PATH)/nir/nir_opcodes_h.py
+
+$(intermediates)/nir/nir_opcodes.h: $(nir_opcodes_h_deps)
+       @mkdir -p $(dir $@)
+       $(hide) $(MESA_PYTHON2) $(nir_opcodes_h_gen) $< > $@
+
+$(LOCAL_PATH)/nir/nir.h: $(intermediates)/nir/nir_opcodes.h
+
+nir_opcodes_c_gen := $(LOCAL_PATH)/nir/nir_opcodes_c.py
+nir_opcodes_c_deps := \
+       $(LOCAL_PATH)/nir/nir_opcodes.py \
+       $(LOCAL_PATH)/nir/nir_opcodes_c.py
+
+$(intermediates)/nir/nir_opcodes.c: $(nir_opcodes_c_deps)
+       @mkdir -p $(dir $@)
+       $(hide) $(MESA_PYTHON2) $(nir_opcodes_c_gen) $< > $@
 
-builtin_function_deps := \
-       $(LOCAL_PATH)/builtins/tools/generate_builtins.py \
-       $(LOCAL_PATH)/builtins/tools/texture_builtins.py \
-       $(BUILTIN_COMPILER) \
-       $(wildcard $(LOCAL_PATH)/builtins/profiles/*) \
-               $(wildcard $(LOCAL_PATH)/builtins/ir/*)
+nir_opt_algebraic_gen := $(LOCAL_PATH)/nir/nir_opt_algebraic.py
+nir_opt_algebraic_deps := \
+       $(LOCAL_PATH)/nir/nir_opt_algebraic.py \
+       $(LOCAL_PATH)/nir/nir_algebraic.py
 
-$(intermediates)/builtin_function.cpp: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/builtins/tools/generate_builtins.py
-$(intermediates)/builtin_function.cpp: $(builtin_function_deps)
+$(intermediates)/nir/nir_opt_algebraic.c: $(nir_opt_algebraic_deps)
        @mkdir -p $(dir $@)
-       @echo "Gen GLSL: $(PRIVATE_MODULE) <= $(notdir $@)"
-       $(hide) $(PRIVATE_SCRIPT) $(BUILTIN_COMPILER) > $@ || rm -f $@
+       $(hide) $(MESA_PYTHON2) $(nir_opt_algebraic_gen) $< > $@