libbcc.sha1.mk revision c6e6ee4392390c0888f808220adf33334e1f64a4
1#=====================================================================
2# Calculate SHA1 checksum for libbcc.so, libRS.so and libclcore.bc
3#=====================================================================
4ifneq (true,$(DISABLE_LLVM_DEVICE_BUILDS))
5include $(CLEAR_VARS)
6
7# not supported on 64-bit yet
8LOCAL_32_BIT_ONLY := true
9
10LOCAL_MODULE := libbcc.sha1
11LOCAL_MODULE_TAGS := optional
12LOCAL_MODULE_CLASS := SHARED_LIBRARIES
13
14libbcc_SHA1_SRCS := \
15  $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/libbcc.so \
16  $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/libcompiler_rt.so \
17  $($(my_2nd_arch_prefix)TARGET_OUT_INTERMEDIATE_LIBRARIES)/libRS.so \
18  $(call intermediates-dir-for,SHARED_LIBRARIES,libclcore.bc,,,$(my_2nd_arch_prefix))/libclcore.bc \
19  $(call intermediates-dir-for,SHARED_LIBRARIES,libclcore_debug.bc,,,$(my_2nd_arch_prefix))/libclcore_debug.bc
20
21ifeq ($(TARGET_$(my_2nd_arch_prefix)ARCH),arm)
22ifeq ($(ARCH_ARM_HAVE_NEON),true)
23  libbcc_SHA1_SRCS += \
24    $(call intermediates-dir-for,SHARED_LIBRARIES,libclcore_neon.bc,,,$(my_2nd_arch_prefix))/libclcore_neon.bc
25endif
26endif
27
28libbcc_GEN_SHA1_STAMP := $(LOCAL_PATH)/tools/build/gen-sha1-stamp.py
29intermediates := $(call local-intermediates-dir,,$(my_2nd_arch_prefix))
30
31libbcc_SHA1_ASM := $(intermediates)/libbcc.sha1.S
32LOCAL_GENERATED_SOURCES += $(libbcc_SHA1_ASM)
33$(libbcc_SHA1_ASM): PRIVATE_SHA1_SRCS := $(libbcc_SHA1_SRCS)
34$(libbcc_SHA1_ASM): $(libbcc_SHA1_SRCS) $(libbcc_GEN_SHA1_STAMP)
35	@echo libbcc.sha1: $@
36	$(hide) mkdir -p $(dir $@)
37	$(hide) $(libbcc_GEN_SHA1_STAMP) $(PRIVATE_SHA1_SRCS) > $@
38
39LOCAL_CFLAGS += -D_REENTRANT -DPIC -fPIC
40LOCAL_CFLAGS += -O3 -nodefaultlibs -nostdlib
41
42ifeq ($(my_2nd_arch_prefix),)
43LOCAL_NO_2ND_ARCH := true
44else
45LOCAL_32_BIT_ONLY := true
46endif
47
48LOCAL_MODULE_TARGET_ARCH := $(LLVM_SUPPORTED_ARCH)
49
50include $(BUILD_SHARED_LIBRARY)
51endif