Home | History | Annotate | Download | only in shaderc
      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