OSDN Git Service

[DO NOT MERGE] Updating Security String to 2017-03-05 on mnc-dev am: b6ac653f2d am...
[android-x86/build.git] / core / pdk_fusion_modules.mk
1 # Auto-generate module defitions from platform.zip.
2 # We use these rules to rebuild .odex files of the .jar/.apk inside the platform.zip.
3 #
4
5 pdk_dexpreopt_config_mk := $(TARGET_OUT_INTERMEDIATES)/pdk_dexpreopt_config.mk
6
7 $(shell rm -f $(pdk_dexpreopt_config_mk) && mkdir -p $(dir $(pdk_dexpreopt_config_mk)) && \
8         unzip -qo $(PDK_FUSION_PLATFORM_ZIP) -d $(dir $(pdk_dexpreopt_config_mk)) pdk_dexpreopt_config.mk 2>/dev/null)
9
10 -include $(pdk_dexpreopt_config_mk)
11
12 # Define a PDK prebuilt module that comes from platform.zip.
13 # Must be called with $(eval)
14 define prebuilt-pdk-java-module
15 include $(CLEAR_VARS)
16 LOCAL_MODULE:=$(1)
17 LOCAL_MODULE_CLASS:=$(2)
18 # Use LOCAL_PREBUILT_MODULE_FILE instead of LOCAL_SRC_FILES so we don't need to deal with LOCAL_PATH.
19 LOCAL_PREBUILT_MODULE_FILE:=$(3)
20 LOCAL_DEX_PREOPT:=$(4)
21 LOCAL_MULTILIB:=$(5)
22 LOCAL_DEX_PREOPT_FLAGS:=$(6)
23 LOCAL_BUILT_MODULE_STEM:=$(7)
24 LOCAL_MODULE_SUFFIX:=$(suffix $(7))
25 LOCAL_PRIVILEGED_MODULE:=$(8)
26 LOCAL_PROPRIETARY_MODULE:=$(9)
27 LOCAL_MODULE_TARGET_ARCH:=$(10)
28 LOCAL_REPLACE_PREBUILT_APK_INSTALLED:=$(11)
29 LOCAL_CERTIFICATE:=PRESIGNED
30 include $(BUILD_PREBUILT)
31
32 # The source prebuilts are extracted in the rule of _pdk_fusion_stamp.
33 # Use a touch rule to establish the dependency.
34 $(3) $(11) : $(_pdk_fusion_stamp)
35         $(hide) if [ ! -f $$@ ]; then \
36           echo 'Error: $$@ does not exist. Check your platform.zip.' 1>&2; \
37           exit 1; \
38         fi
39         $(hide) touch $$@
40 endef
41
42 # We don't have a LOCAL_PATH for the auto-generated modules, so let it be the $(BUILD_SYSTEM).
43 LOCAL_PATH := $(BUILD_SYSTEM)
44
45 ##### Java libraries.
46 # Only set up rules for modules that aren't built from source.
47 pdk_prebuilt_libraries := $(foreach l,$(PDK.DEXPREOPT.JAVA_LIBRARIES),\
48   $(if $(MODULE.TARGET.JAVA_LIBRARIES.$(l)),,$(l)))
49
50 $(foreach l,$(pdk_prebuilt_libraries), $(eval \
51   $(call prebuilt-pdk-java-module,\
52     $(l),\
53     JAVA_LIBRARIES,\
54     $(_pdk_fusion_intermediates)/$(PDK.DEXPREOPT.$(l).SRC),\
55     $(PDK.DEXPREOPT.$(l).DEX_PREOPT),\
56     $(PDK.DEXPREOPT.$(l).MULTILIB),\
57     $(PDK.DEXPREOPT.$(l).DEX_PREOPT_FLAGS),\
58     javalib.jar,\
59     )))
60
61 ###### Apps.
62 pdk_prebuilt_apps := $(foreach a,$(PDK.DEXPREOPT.APPS),\
63   $(if $(MODULE.TARGET.APPS.$(a)),,$(a)))
64
65 $(foreach a,$(pdk_prebuilt_apps), $(eval \
66   $(call prebuilt-pdk-java-module,\
67     $(a),\
68     APPS,\
69     $(_pdk_fusion_intermediates)/$(PDK.DEXPREOPT.$(a).SRC),\
70     $(PDK.DEXPREOPT.$(a).DEX_PREOPT),\
71     $(PDK.DEXPREOPT.$(a).MULTILIB),\
72     $(PDK.DEXPREOPT.$(a).DEX_PREOPT_FLAGS),\
73     package.apk,\
74     $(PDK.DEXPREOPT.$(a).PRIVILEGED_MODULE),\
75     $(PDK.DEXPREOPT.$(a).PROPRIETARY_MODULE),\
76     $(PDK.DEXPREOPT.$(a).TARGET_ARCH),\
77     $(_pdk_fusion_intermediates)/$(PDK.DEXPREOPT.$(a).STRIPPED_SRC),\
78     )))