14df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# 24df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# Copyright (C) 2017 The Android Open Source Project 34df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# 44df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# Licensed under the Apache License, Version 2.0 (the "License"); 54df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# you may not use this file except in compliance with the License. 64df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# You may obtain a copy of the License at 74df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# 84df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# http://www.apache.org/licenses/LICENSE-2.0 94df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# 104df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# Unless required by applicable law or agreed to in writing, software 114df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# distributed under the License is distributed on an "AS IS" BASIS, 124df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# See the License for the specific language governing permissions and 144df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# limitations under the License. 154df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# 164df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 174df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_PATH := $(call my-dir) 184df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 194df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiSPIRIT_SRCS := \ 204df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni builder.cpp\ 214df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni entity.cpp\ 224df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni instructions.cpp\ 234df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni module.cpp\ 243f30b6202dd5ad6ff66959131d216405850ed152Yang Ni pass.cpp\ 253f30b6202dd5ad6ff66959131d216405850ed152Yang Ni pass_queue.cpp\ 264df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni transformer.cpp\ 274df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni visitor.cpp\ 284df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni word_stream.cpp\ 294df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni word_stream_impl.cpp 304df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 314df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLIBNAME = libspirit 324df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 334df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiNDK_PREBUILTS := $(TOP)/prebuilts/ndk/r13 344df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiSPIRV_TOOLS_PATH := $(NDK_PREBUILTS)/sources/third_party/shaderc/third_party/spirv-tools 354df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiSPIRV_HEADERS_PATH := $(SPIRV_TOOLS_PATH)/external/spirv-headers 364df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiSPIRV_CORE_GRAMMAR := $(SPIRV_HEADERS_PATH)/include/spirv/1.1/spirv.core.grammar.json 374df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiGENERATOR := $(LOCAL_PATH)/generate.py 384df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 394df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# Don't build for unbundled branches 404df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Niifeq (,$(TARGET_BUILD_APPS)) 414df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 424df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni#===================================================================== 434df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# Host shared library libspirit.so 444df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni#===================================================================== 454df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 464df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Niinclude $(CLEAR_VARS) 474df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 484df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_SRC_FILES := $(SPIRIT_SRCS) 494df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 504df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_MODULE := $(LIBNAME) 514df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_MULTILIB := first 524df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_MODULE_CLASS := SHARED_LIBRARIES 53d8152c9ada89be8ab1ca242b3304c287ca3742fbYang NiLOCAL_IS_HOST_MODULE := true 544df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 554df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiPATH_TO_GENERATED := $(local-generated-sources-dir) 564df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiGEN := \ 574df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni instructions_generated.h\ 584df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni types_generated.h\ 594df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni opcodes_generated.h\ 604df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni instruction_dispatches_generated.h\ 614df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni enum_dispatches_generated.h\ 624df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni type_inst_dispatches_generated.h\ 634df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni const_inst_dispatches_generated.h\ 644df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni factory_methods_generated.h 654df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 664df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiFULL_GEN := $(addprefix $(PATH_TO_GENERATED)/,$(GEN)) 674df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni$(FULL_GEN): $(SPIRV_CORE_GRAMMAR) $(GENERATOR) 684df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni $(GENERATOR) $< --$(notdir $(@:%_generated.h=%)) $@ 694df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 704df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_GENERATED_SOURCES := $(FULL_GEN) 714df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 724df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_C_INCLUDES += $(PATH_TO_GENERATED) 734df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 744df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) $(PATH_TO_GENERATED) 754df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 764df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Niinclude $(BUILD_HOST_SHARED_LIBRARY) 774df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 784df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni#===================================================================== 794df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# Tests for host module word_stream 804df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni#===================================================================== 814df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 824df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Niinclude $(CLEAR_VARS) 834df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 844df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_SRC_FILES := \ 854df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni word_stream.cpp \ 864df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni word_stream_impl.cpp \ 874df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni word_stream_test.cpp 884df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 894df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_STATIC_LIBRARIES := libgtest_host 904df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 914df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_MODULE := word_stream_test 924df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_MULTILIB := first 934df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_MODULE_TAGS := tests 944df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_MODULE_CLASS := NATIVE_TESTS 95d8152c9ada89be8ab1ca242b3304c287ca3742fbYang NiLOCAL_IS_HOST_MODULE := true 964df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 974df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiPATH_TO_GENERATED := $(local-generated-sources-dir) 984df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiGEN := \ 994df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni enum_dispatches_generated.h\ 1004df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni types_generated.h 1014df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1024df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiFULL_GEN := $(addprefix $(PATH_TO_GENERATED)/,$(GEN)) 1034df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni$(FULL_GEN): $(SPIRV_CORE_GRAMMAR) $(GENERATOR) 1044df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni $(GENERATOR) $< --$(notdir $(@:%_generated.h=%)) $@ 1054df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1064df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_GENERATED_SOURCES := $(FULL_GEN) 1074df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1084df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_C_INCLUDES += $(PATH_TO_GENERATED) 1094df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1104df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Niinclude $(BUILD_HOST_NATIVE_TEST) 1114df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1124df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni#===================================================================== 1134df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# Tests for host module instructions 1144df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni#===================================================================== 1154df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1164df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Niinclude $(CLEAR_VARS) 1174df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1184df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_SRC_FILES := \ 1194df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni entity.cpp \ 1204df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni instructions.cpp \ 1214df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni instructions_test.cpp \ 1224df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni visitor.cpp \ 1234df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni word_stream.cpp \ 1244df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni word_stream_impl.cpp 1254df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1264df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_STATIC_LIBRARIES := libgtest_host 1274df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1284df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_MODULE := instructions_test 1294df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_MULTILIB := first 1304df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_MODULE_TAGS := tests 1314df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_MODULE_CLASS := NATIVE_TESTS 132d8152c9ada89be8ab1ca242b3304c287ca3742fbYang NiLOCAL_IS_HOST_MODULE := true 1334df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1344df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiPATH_TO_GENERATED := $(local-generated-sources-dir) 1354df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiGEN := \ 1364df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni enum_dispatches_generated.h\ 1374df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni instruction_dispatches_generated.h\ 1384df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni instructions_generated.h\ 1394df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni types_generated.h\ 1404df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni opcodes_generated.h 1414df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1424df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiFULL_GEN := $(addprefix $(PATH_TO_GENERATED)/,$(GEN)) 1434df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni$(FULL_GEN): $(SPIRV_CORE_GRAMMAR) $(GENERATOR) 1444df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni $(GENERATOR) $< --$(notdir $(@:%_generated.h=%)) $@ 1454df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1464df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_GENERATED_SOURCES := $(FULL_GEN) 1474df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1484df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_C_INCLUDES += $(PATH_TO_GENERATED) 1494df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1504df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Niinclude $(BUILD_HOST_NATIVE_TEST) 1514df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1524df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni#===================================================================== 1533f30b6202dd5ad6ff66959131d216405850ed152Yang Ni# Tests for host module pass queue 1543f30b6202dd5ad6ff66959131d216405850ed152Yang Ni#===================================================================== 1553f30b6202dd5ad6ff66959131d216405850ed152Yang Ni 1563f30b6202dd5ad6ff66959131d216405850ed152Yang Niinclude $(CLEAR_VARS) 1573f30b6202dd5ad6ff66959131d216405850ed152Yang Ni 1583f30b6202dd5ad6ff66959131d216405850ed152Yang NiLOCAL_SRC_FILES := \ 1593f30b6202dd5ad6ff66959131d216405850ed152Yang Ni pass.cpp \ 1603f30b6202dd5ad6ff66959131d216405850ed152Yang Ni pass_queue.cpp \ 1613f30b6202dd5ad6ff66959131d216405850ed152Yang Ni pass_queue_test.cpp \ 1623f30b6202dd5ad6ff66959131d216405850ed152Yang Ni 1633f30b6202dd5ad6ff66959131d216405850ed152Yang NiLOCAL_STATIC_LIBRARIES := libgtest_host 1643f30b6202dd5ad6ff66959131d216405850ed152Yang Ni 1653f30b6202dd5ad6ff66959131d216405850ed152Yang NiLOCAL_SHARED_LIBRARIES := $(LIBNAME) 1663f30b6202dd5ad6ff66959131d216405850ed152Yang Ni 1673f30b6202dd5ad6ff66959131d216405850ed152Yang NiLOCAL_MODULE := pass_queue_test 1683f30b6202dd5ad6ff66959131d216405850ed152Yang NiLOCAL_MULTILIB := first 1693f30b6202dd5ad6ff66959131d216405850ed152Yang NiLOCAL_MODULE_TAGS := tests 1703f30b6202dd5ad6ff66959131d216405850ed152Yang NiLOCAL_MODULE_CLASS := NATIVE_TESTS 1713f30b6202dd5ad6ff66959131d216405850ed152Yang NiLOCAL_IS_HOST_MODULE := true 1723f30b6202dd5ad6ff66959131d216405850ed152Yang Ni 1733f30b6202dd5ad6ff66959131d216405850ed152Yang Niinclude $(BUILD_HOST_NATIVE_TEST) 1743f30b6202dd5ad6ff66959131d216405850ed152Yang Ni 1753f30b6202dd5ad6ff66959131d216405850ed152Yang Ni#===================================================================== 1764df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# Tests for host shared library 1774df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni#===================================================================== 1784df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1794df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Niinclude $(CLEAR_VARS) 1804df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1814df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_SRC_FILES := \ 1824df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni builder_test.cpp \ 1834df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni module_test.cpp \ 1844df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni transformer_test.cpp \ 1854df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1864df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_STATIC_LIBRARIES := libgtest_host 1874df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1884df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_SHARED_LIBRARIES := $(LIBNAME) 1894df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1904df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_MODULE := $(LIBNAME)_test 1914df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_MULTILIB := first 1924df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_MODULE_TAGS := tests 1934df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_MODULE_CLASS := NATIVE_TESTS 194d8152c9ada89be8ab1ca242b3304c287ca3742fbYang NiLOCAL_IS_HOST_MODULE := true 1954df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1964df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Niinclude $(BUILD_HOST_NATIVE_TEST) 1974df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 1984df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni#===================================================================== 1994df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni# Device shared library libspirit.so 2004df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni#===================================================================== 2014df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 2024df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Niinclude $(CLEAR_VARS) 2034df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 2044df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_SRC_FILES := $(SPIRIT_SRCS) 2054df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 2064df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_C_INCLUDES := $(SPIRIT_INCLUDES) 2074df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 2084df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_MODULE := $(LIBNAME) 2094df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_MODULE_CLASS := SHARED_LIBRARIES 2104df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 2114df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_SHARED_LIBRARIES += 2124df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 2134df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiPATH_TO_GENERATED := $(local-generated-sources-dir) 2144df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 2154df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiGEN := \ 2164df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni instructions_generated.h\ 2174df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni types_generated.h\ 2184df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni opcodes_generated.h\ 2194df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni instruction_dispatches_generated.h\ 2204df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni enum_dispatches_generated.h\ 2214df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni type_inst_dispatches_generated.h\ 2224df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni const_inst_dispatches_generated.h\ 2234df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni factory_methods_generated.h 2244df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 2254df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiFULL_GEN := $(addprefix $(PATH_TO_GENERATED)/,$(GEN)) 2264df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni$(FULL_GEN): $(SPIRV_CORE_GRAMMAR) $(GENERATOR) 2274df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni $(GENERATOR) $< --$(notdir $(@:%_generated.h=%)) $@ 2284df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 2294df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_GENERATED_SOURCES := $(FULL_GEN) 2304df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 2314df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_C_INCLUDES += $(PATH_TO_GENERATED) 2324df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 2334df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_CFLAGS := -Wno-error=non-virtual-dtor 2344df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 2354df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang NiLOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) $(PATH_TO_GENERATED) 2364df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 2374df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Niinclude $(BUILD_SHARED_LIBRARY) 2384df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Ni 2394df77d18bf57187f8e7142c6f7a70a9cdd3d581eYang Niendif # Don't build in unbundled branches 240