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 16 define gen_libshaderc 17 $(1)/combine.ar: $(addprefix $(1)/, $(ALL_LIBS)) 18 @echo "create libshaderc_combined.a" > $(1)/combine.ar 19 $(foreach lib,$(ALL_LIBS), 20 @echo "addlib $(lib)" >> $(1)/combine.ar 21 ) 22 @echo "save" >> $(1)/combine.ar 23 @echo "end" >> $(1)/combine.ar 24 25 $(1)/libshaderc_combined.a: $(addprefix $(1)/, $(ALL_LIBS)) $(1)/combine.ar 26 @echo "[$(TARGET_ARCH_ABI)] Combine: libshaderc_combined.a <= $(ALL_LIBS)" 27 @cd $(1) && $(2)ar -M < combine.ar && cd $(ROOT_SHADERC_PATH) 28 @$(2)objcopy --strip-debug $(1)/libshaderc_combined.a 29 30 $(NDK_APP_LIBS_OUT)/$(APP_STL)/$(TARGET_ARCH_ABI)/libshaderc.a: \ 31 $(1)/libshaderc_combined.a 32 $(call host-mkdir,$(NDK_APP_LIBS_OUT)/$(APP_STL)/$(TARGET_ARCH_ABI)) 33 $(call host-cp,$(1)/libshaderc_combined.a \ 34 ,$(NDK_APP_LIBS_OUT)/$(APP_STL)/$(TARGET_ARCH_ABI)/libshaderc.a) 35 36 ifndef HEADER_TARGET 37 HEADER_TARGET=1 38 $(NDK_APP_LIBS_OUT)/../include/shaderc/shaderc.hpp: \ 39 $(ROOT_SHADERC_PATH)/libshaderc/include/shaderc/shaderc.hpp 40 $(call host-mkdir,$(NDK_APP_LIBS_OUT)/../include/shaderc) 41 $(call host-cp,$(ROOT_SHADERC_PATH)/libshaderc/include/shaderc/shaderc.hpp \ 42 ,$(NDK_APP_LIBS_OUT)/../include/shaderc/shaderc.hpp) 43 44 $(NDK_APP_LIBS_OUT)/../include/shaderc/shaderc.h: \ 45 $(ROOT_SHADERC_PATH)/libshaderc/include/shaderc/shaderc.h 46 $(call host-mkdir,$(NDK_APP_LIBS_OUT)/../include/shaderc) 47 $(call host-cp,$(ROOT_SHADERC_PATH)/libshaderc/include/shaderc/shaderc.h \ 48 ,$(NDK_APP_LIBS_OUT)/../include/shaderc/shaderc.h) 49 endif 50 51 libshaderc_combined: \ 52 $(NDK_APP_LIBS_OUT)/$(APP_STL)/$(TARGET_ARCH_ABI)/libshaderc.a 53 54 endef 55 libshaderc_combined: $(NDK_APP_LIBS_OUT)/../include/shaderc/shaderc.hpp \ 56 $(NDK_APP_LIBS_OUT)/../include/shaderc/shaderc.h 57 58 $(eval $(call gen_libshaderc,$(TARGET_OUT),$(TOOLCHAIN_PREFIX))) 59