1 ROOT_SHADERC_PATH := $(call my-dir) 2 3 include $(ROOT_SHADERC_PATH)/third_party/Android.mk 4 include $(ROOT_SHADERC_PATH)/libshaderc_util/Android.mk 5 include $(ROOT_SHADERC_PATH)/libshaderc/Android.mk 6 7 ALL_LIBS:=libglslang.a \ 8 libOGLCompiler.a \ 9 libOSDependent.a \ 10 libshaderc.a \ 11 libshaderc_util.a \ 12 libSPIRV.a \ 13 libHLSL.a \ 14 libSPIRV-Tools.a \ 15 libSPIRV-Tools-opt.a 16 17 define gen_libshaderc 18 $(1)/combine.ar: $(addprefix $(1)/, $(ALL_LIBS)) 19 @echo "create libshaderc_combined.a" > $(1)/combine.ar 20 $(foreach lib,$(ALL_LIBS), 21 @echo "addlib $(lib)" >> $(1)/combine.ar 22 ) 23 @echo "save" >> $(1)/combine.ar 24 @echo "end" >> $(1)/combine.ar 25 26 $(1)/libshaderc_combined.a: $(addprefix $(1)/, $(ALL_LIBS)) $(1)/combine.ar 27 @echo "[$(TARGET_ARCH_ABI)] Combine: libshaderc_combined.a <= $(ALL_LIBS)" 28 @cd $(1) && $(2)ar -M < combine.ar && cd $(ROOT_SHADERC_PATH) 29 @$(2)objcopy --strip-debug $(1)/libshaderc_combined.a 30 31 $(NDK_APP_LIBS_OUT)/$(APP_STL)/$(TARGET_ARCH_ABI)/libshaderc.a: \ 32 $(1)/libshaderc_combined.a 33 $(call host-mkdir,$(NDK_APP_LIBS_OUT)/$(APP_STL)/$(TARGET_ARCH_ABI)) 34 $(call host-cp,$(1)/libshaderc_combined.a \ 35 ,$(NDK_APP_LIBS_OUT)/$(APP_STL)/$(TARGET_ARCH_ABI)/libshaderc.a) 36 37 ifndef HEADER_TARGET 38 HEADER_TARGET=1 39 $(NDK_APP_LIBS_OUT)/../include/shaderc/shaderc.hpp: \ 40 $(ROOT_SHADERC_PATH)/libshaderc/include/shaderc/shaderc.hpp 41 $(call host-mkdir,$(NDK_APP_LIBS_OUT)/../include/shaderc) 42 $(call host-cp,$(ROOT_SHADERC_PATH)/libshaderc/include/shaderc/shaderc.hpp \ 43 ,$(NDK_APP_LIBS_OUT)/../include/shaderc/shaderc.hpp) 44 45 $(NDK_APP_LIBS_OUT)/../include/shaderc/shaderc.h: \ 46 $(ROOT_SHADERC_PATH)/libshaderc/include/shaderc/shaderc.h 47 $(call host-mkdir,$(NDK_APP_LIBS_OUT)/../include/shaderc) 48 $(call host-cp,$(ROOT_SHADERC_PATH)/libshaderc/include/shaderc/shaderc.h \ 49 ,$(NDK_APP_LIBS_OUT)/../include/shaderc/shaderc.h) 50 endif 51 52 libshaderc_combined: \ 53 $(NDK_APP_LIBS_OUT)/$(APP_STL)/$(TARGET_ARCH_ABI)/libshaderc.a 54 55 endef 56 libshaderc_combined: $(NDK_APP_LIBS_OUT)/../include/shaderc/shaderc.hpp \ 57 $(NDK_APP_LIBS_OUT)/../include/shaderc/shaderc.h 58 59 $(eval $(call gen_libshaderc,$(TARGET_OUT),$(TOOLCHAIN_PREFIX))) 60