| ROOT_SHADERC_PATH := $(call my-dir) |
| |
| include $(ROOT_SHADERC_PATH)/third_party/Android.mk |
| include $(ROOT_SHADERC_PATH)/libshaderc_util/Android.mk |
| include $(ROOT_SHADERC_PATH)/libshaderc/Android.mk |
| |
| ALL_LIBS:=libglslang.a \ |
| libOGLCompiler.a \ |
| libOSDependent.a \ |
| libshaderc.a \ |
| libshaderc_util.a \ |
| libSPIRV.a \ |
| libHLSL.a \ |
| libSPIRV-Tools.a \ |
| libSPIRV-Tools-opt.a |
| |
| define gen_libshaderc |
| $(1)/combine.ar: $(addprefix $(1)/, $(ALL_LIBS)) |
| @echo "create libshaderc_combined.a" > $(1)/combine.ar |
| $(foreach lib,$(ALL_LIBS), |
| @echo "addlib $(lib)" >> $(1)/combine.ar |
| ) |
| @echo "save" >> $(1)/combine.ar |
| @echo "end" >> $(1)/combine.ar |
| |
| $(1)/libshaderc_combined.a: $(addprefix $(1)/, $(ALL_LIBS)) $(1)/combine.ar |
| @echo "[$(TARGET_ARCH_ABI)] Combine: libshaderc_combined.a <= $(ALL_LIBS)" |
| @cd $(1) && $(2)ar -M < combine.ar && cd $(ROOT_SHADERC_PATH) |
| @$(2)objcopy --strip-debug $(1)/libshaderc_combined.a |
| |
| $(NDK_APP_LIBS_OUT)/$(APP_STL)/$(TARGET_ARCH_ABI)/libshaderc.a: \ |
| $(1)/libshaderc_combined.a |
| $(call host-mkdir,$(NDK_APP_LIBS_OUT)/$(APP_STL)/$(TARGET_ARCH_ABI)) |
| $(call host-cp,$(1)/libshaderc_combined.a \ |
| ,$(NDK_APP_LIBS_OUT)/$(APP_STL)/$(TARGET_ARCH_ABI)/libshaderc.a) |
| |
| ifndef HEADER_TARGET |
| HEADER_TARGET=1 |
| $(NDK_APP_LIBS_OUT)/../include/shaderc/shaderc.hpp: \ |
| $(ROOT_SHADERC_PATH)/libshaderc/include/shaderc/shaderc.hpp |
| $(call host-mkdir,$(NDK_APP_LIBS_OUT)/../include/shaderc) |
| $(call host-cp,$(ROOT_SHADERC_PATH)/libshaderc/include/shaderc/shaderc.hpp \ |
| ,$(NDK_APP_LIBS_OUT)/../include/shaderc/shaderc.hpp) |
| |
| $(NDK_APP_LIBS_OUT)/../include/shaderc/shaderc.h: \ |
| $(ROOT_SHADERC_PATH)/libshaderc/include/shaderc/shaderc.h |
| $(call host-mkdir,$(NDK_APP_LIBS_OUT)/../include/shaderc) |
| $(call host-cp,$(ROOT_SHADERC_PATH)/libshaderc/include/shaderc/shaderc.h \ |
| ,$(NDK_APP_LIBS_OUT)/../include/shaderc/shaderc.h) |
| endif |
| |
| libshaderc_combined: \ |
| $(NDK_APP_LIBS_OUT)/$(APP_STL)/$(TARGET_ARCH_ABI)/libshaderc.a |
| |
| endef |
| libshaderc_combined: $(NDK_APP_LIBS_OUT)/../include/shaderc/shaderc.hpp \ |
| $(NDK_APP_LIBS_OUT)/../include/shaderc/shaderc.h |
| |
| $(eval $(call gen_libshaderc,$(TARGET_OUT),$(TOOLCHAIN_PREFIX))) |