182b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang# This file defines the rule to fuse the platform.zip into the current PDK build.
282b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang
382b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang.PHONY: pdk fusion
482b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wangpdk fusion: $(DEFAULT_GOAL)
582b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang
682b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang# What to build:
782b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang# pdk fusion if:
84da8e127c736a2e97d35f8767b8a409d2bc84cc0Keun young Park# 1) PDK_FUSION_PLATFORM_ZIP is passed in from the environment
982b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang# or
104da8e127c736a2e97d35f8767b8a409d2bc84cc0Keun young Park# 2) the platform.zip exists in the default location
1182b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang# or
1282b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang# 3) fusion is a command line build goal,
1382b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang#    PDK_FUSION_PLATFORM_ZIP is needed anyway, then do we need the 'fusion' goal?
1482b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang# otherwise pdk only if:
1582b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang# 1) pdk is a command line build goal
1682b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang# or
1782b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang# 2) TARGET_BUILD_PDK is passed in from the environment
1882b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang
194da8e127c736a2e97d35f8767b8a409d2bc84cc0Keun young Park# if PDK_FUSION_PLATFORM_ZIP is specified, do not override.
204da8e127c736a2e97d35f8767b8a409d2bc84cc0Keun young Parkifndef PDK_FUSION_PLATFORM_ZIP
21072923238d277bb24ffc82073d3e11d13a4de2faChad Jones# Most PDK project paths should be using vendor/pdk/TARGET_DEVICE
22072923238d277bb24ffc82073d3e11d13a4de2faChad Jones# but some legacy ones (e.g. mini_armv7a_neon generic PDK) were setup
23072923238d277bb24ffc82073d3e11d13a4de2faChad Jones# with vendor/pdk/TARGET_PRODUCT.
243b4856e842d3aec88a4a040836ce23b5dbe8957dkeunyoung_pdk_fusion_default_platform_zip = $(wildcard \
253b4856e842d3aec88a4a040836ce23b5dbe8957dkeunyoungvendor/pdk/$(TARGET_DEVICE)/$(TARGET_PRODUCT)-$(TARGET_BUILD_VARIANT)/platform/platform.zip \
26072923238d277bb24ffc82073d3e11d13a4de2faChad Jonesvendor/pdk/$(TARGET_DEVICE)/$(patsubst aosp_%,full_%,$(TARGET_PRODUCT))-$(TARGET_BUILD_VARIANT)/platform/platform.zip \
27072923238d277bb24ffc82073d3e11d13a4de2faChad Jonesvendor/pdk/$(TARGET_PRODUCT)/$(TARGET_PRODUCT)-$(TARGET_BUILD_VARIANT)/platform/platform.zip \
28072923238d277bb24ffc82073d3e11d13a4de2faChad Jonesvendor/pdk/$(TARGET_PRODUCT)/$(patsubst aosp_%,full_%,$(TARGET_PRODUCT))-$(TARGET_BUILD_VARIANT)/platform/platform.zip)
293b4856e842d3aec88a4a040836ce23b5dbe8957dkeunyoungifneq (,$(_pdk_fusion_default_platform_zip))
303b4856e842d3aec88a4a040836ce23b5dbe8957dkeunyoungPDK_FUSION_PLATFORM_ZIP := $(word 1, $(_pdk_fusion_default_platform_zip))
3182b836fda6894ebfccccfbddc2ce3ee2718d862eYing WangTARGET_BUILD_PDK := true
323b4856e842d3aec88a4a040836ce23b5dbe8957dkeunyoung$(info $(PDK_FUSION_PLATFORM_ZIP) found, do a PDK fusion build.)
333b4856e842d3aec88a4a040836ce23b5dbe8957dkeunyoungendif # _pdk_fusion_default_platform_zip
344da8e127c736a2e97d35f8767b8a409d2bc84cc0Keun young Parkendif # !PDK_FUSION_PLATFORM_ZIP
3582b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang
3682b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wangifneq (,$(filter pdk fusion, $(MAKECMDGOALS)))
3782b836fda6894ebfccccfbddc2ce3ee2718d862eYing WangTARGET_BUILD_PDK := true
3882b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wangifneq (,$(filter fusion, $(MAKECMDGOALS)))
3982b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wangifndef PDK_FUSION_PLATFORM_ZIP
4082b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang  $(error Specify PDK_FUSION_PLATFORM_ZIP to do a PDK fusion.)
4182b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wangendif
4282b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wangendif  # fusion
4382b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wangendif  # pdk or fusion
4482b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang
45c451a373a4f07ea37aba6a50c6169d251668ba32Colin CrossPDK_PLATFORM_JAVA_ZIP_JAVA_TARGET_LIB_DIR :=
46c451a373a4f07ea37aba6a50c6169d251668ba32Colin CrossPDK_PLATFORM_JAVA_ZIP_JAVA_HOST_LIB_DIR := \
47c451a373a4f07ea37aba6a50c6169d251668ba32Colin Cross	host/common/obj/JAVA_LIBRARIES/bouncycastle-host_intermediates
48c451a373a4f07ea37aba6a50c6169d251668ba32Colin CrossPDK_PLATFORM_JAVA_ZIP_CONTENTS :=
49c451a373a4f07ea37aba6a50c6169d251668ba32Colin Cross
50f4d1438d859bbbc289b55ba28c62de73f8c83fd5Keun young Parkifneq (,$(filter platform-java, $(MAKECMDGOALS))$(PDK_FUSION_PLATFORM_ZIP))
51816b9fd4e22843c836543522464782bece1305b8Keun young Park# additional items to add to platform.zip for platform-java build
52816b9fd4e22843c836543522464782bece1305b8Keun young Park# For these dirs, add classes.jar and javalib.jar from the dir to platform.zip
53816b9fd4e22843c836543522464782bece1305b8Keun young Park# all paths under out dir
54c451a373a4f07ea37aba6a50c6169d251668ba32Colin CrossPDK_PLATFORM_JAVA_ZIP_JAVA_TARGET_LIB_DIR += \
55816b9fd4e22843c836543522464782bece1305b8Keun young Park	target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates \
561e961acf0c203b62c535d509f7f41813e8b21a5aColin Cross	target/common/obj/JAVA_LIBRARIES/core-libart_intermediates \
57816b9fd4e22843c836543522464782bece1305b8Keun young Park	target/common/obj/JAVA_LIBRARIES/core-junit_intermediates \
58816b9fd4e22843c836543522464782bece1305b8Keun young Park	target/common/obj/JAVA_LIBRARIES/ext_intermediates \
59816b9fd4e22843c836543522464782bece1305b8Keun young Park	target/common/obj/JAVA_LIBRARIES/framework_intermediates \
606fe6c3c22e5e333456606fd28f1c5a2e34119d0fColin Cross	target/common/obj/JAVA_LIBRARIES/android.test.runner_intermediates \
616fe6c3c22e5e333456606fd28f1c5a2e34119d0fColin Cross	target/common/obj/JAVA_LIBRARIES/telephony-common_intermediates \
62554a0adfb790580735fdc2d32f4c6016072ef226Wink Saville	target/common/obj/JAVA_LIBRARIES/voip-common_intermediates \
63273c22cbc06f3939f85aeb6013b4594d2cf9fbdeWink Saville	target/common/obj/JAVA_LIBRARIES/ims-common_intermediates \
64735bba8be0511fc3b6b023eff0605d9bf4b30477Eino-Ville Talvala	target/common/obj/JAVA_LIBRARIES/mms-common_intermediates \
654b764993a99d36e434c9f9d33e6e233e10e8f2f6Colin Cross	target/common/obj/JAVA_LIBRARIES/android-ex-camera2_intermediates \
664b764993a99d36e434c9f9d33e6e233e10e8f2f6Colin Cross	target/common/obj/JAVA_LIBRARIES/android-common_intermediates \
674b764993a99d36e434c9f9d33e6e233e10e8f2f6Colin Cross
68816b9fd4e22843c836543522464782bece1305b8Keun young Park# not java libraries
69c451a373a4f07ea37aba6a50c6169d251668ba32Colin CrossPDK_PLATFORM_JAVA_ZIP_CONTENTS += \
70816b9fd4e22843c836543522464782bece1305b8Keun young Park	target/common/obj/APPS/framework-res_intermediates/package-export.apk \
71816b9fd4e22843c836543522464782bece1305b8Keun young Park	target/common/obj/APPS/framework-res_intermediates/src/R.stamp
72c451a373a4f07ea37aba6a50c6169d251668ba32Colin Crossendif # platform-java or FUSION build
73c451a373a4f07ea37aba6a50c6169d251668ba32Colin Cross
74c451a373a4f07ea37aba6a50c6169d251668ba32Colin CrossPDK_PLATFORM_JAVA_ZIP_JAVA_LIB_DIR := \
75c451a373a4f07ea37aba6a50c6169d251668ba32Colin Cross	$(PDK_PLATFORM_JAVA_ZIP_JAVA_TARGET_LIB_DIR) \
76c451a373a4f07ea37aba6a50c6169d251668ba32Colin Cross	$(PDK_PLATFORM_JAVA_ZIP_JAVA_HOST_LIB_DIR)
77c451a373a4f07ea37aba6a50c6169d251668ba32Colin Cross
78816b9fd4e22843c836543522464782bece1305b8Keun young ParkPDK_PLATFORM_JAVA_ZIP_CONTENTS += $(foreach lib_dir,$(PDK_PLATFORM_JAVA_ZIP_JAVA_LIB_DIR),\
79816b9fd4e22843c836543522464782bece1305b8Keun young Park    $(lib_dir)/classes.jar $(lib_dir)/javalib.jar)
80816b9fd4e22843c836543522464782bece1305b8Keun young Park
81efe02ce9e00b9aebde7e9b32e81780d8de8f0dbdKeun young Park# check and override java support level
82f4d1438d859bbbc289b55ba28c62de73f8c83fd5Keun young Parkifneq ($(TARGET_BUILD_PDK)$(PDK_FUSION_PLATFORM_ZIP),)
83efe02ce9e00b9aebde7e9b32e81780d8de8f0dbdKeun young Parkifneq ($(wildcard external/proguard),)
84efe02ce9e00b9aebde7e9b32e81780d8de8f0dbdKeun young ParkTARGET_BUILD_JAVA_SUPPORT_LEVEL := sdk
85efe02ce9e00b9aebde7e9b32e81780d8de8f0dbdKeun young Parkelse # no proguard
86efe02ce9e00b9aebde7e9b32e81780d8de8f0dbdKeun young ParkTARGET_BUILD_JAVA_SUPPORT_LEVEL :=
87efe02ce9e00b9aebde7e9b32e81780d8de8f0dbdKeun young Parkendif
88efe02ce9e00b9aebde7e9b32e81780d8de8f0dbdKeun young Park# platform supprot is set after checking platform.zip
89efe02ce9e00b9aebde7e9b32e81780d8de8f0dbdKeun young Parkendif # PDK
90816b9fd4e22843c836543522464782bece1305b8Keun young Park
9182b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wangifdef PDK_FUSION_PLATFORM_ZIP
9282b836fda6894ebfccccfbddc2ce3ee2718d862eYing WangTARGET_BUILD_PDK := true
9382b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wangifeq (,$(wildcard $(PDK_FUSION_PLATFORM_ZIP)))
9482b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang  $(error Cannot find file $(PDK_FUSION_PLATFORM_ZIP).)
9582b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wangendif
9682b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang
9782b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang_pdk_fusion_intermediates := $(call intermediates-dir-for, PACKAGING, pdk_fusion)
9882b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang_pdk_fusion_stamp := $(_pdk_fusion_intermediates)/pdk_fusion.stamp
9982b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang
100816b9fd4e22843c836543522464782bece1305b8Keun young Park_pdk_fusion_file_list := $(shell unzip -Z -1 $(PDK_FUSION_PLATFORM_ZIP) \
101816b9fd4e22843c836543522464782bece1305b8Keun young Park    '*[^/]' -x 'target/common/*' 2>/dev/null)
102816b9fd4e22843c836543522464782bece1305b8Keun young Park_pdk_fusion_java_file_list := \
103816b9fd4e22843c836543522464782bece1305b8Keun young Park	$(shell unzip -Z -1 $(PDK_FUSION_PLATFORM_ZIP) 'target/common/*' 2>/dev/null)
104816b9fd4e22843c836543522464782bece1305b8Keun young Park_pdk_fusion_files := $(addprefix $(_pdk_fusion_intermediates)/,\
105816b9fd4e22843c836543522464782bece1305b8Keun young Park    $(_pdk_fusion_file_list) $(_pdk_fusion_java_file_list))
106efe02ce9e00b9aebde7e9b32e81780d8de8f0dbdKeun young Park
107816b9fd4e22843c836543522464782bece1305b8Keun young Parkifneq ($(_pdk_fusion_java_file_list),)
108efe02ce9e00b9aebde7e9b32e81780d8de8f0dbdKeun young Park# This represents whether java build can use platform API or not
109efe02ce9e00b9aebde7e9b32e81780d8de8f0dbdKeun young Park# This should not be used in Android.mk
110efe02ce9e00b9aebde7e9b32e81780d8de8f0dbdKeun young ParkTARGET_BUILD_PDK_JAVA_PLATFORM := true
111efe02ce9e00b9aebde7e9b32e81780d8de8f0dbdKeun young Parkifneq ($(TARGET_BUILD_JAVA_SUPPORT_LEVEL),)
112efe02ce9e00b9aebde7e9b32e81780d8de8f0dbdKeun young ParkTARGET_BUILD_JAVA_SUPPORT_LEVEL := platform
113efe02ce9e00b9aebde7e9b32e81780d8de8f0dbdKeun young Parkendif
114816b9fd4e22843c836543522464782bece1305b8Keun young Parkendif
115816b9fd4e22843c836543522464782bece1305b8Keun young Park
11682b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang$(_pdk_fusion_stamp) : $(PDK_FUSION_PLATFORM_ZIP)
11782b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang	@echo "Unzip $(dir $@) <- $<"
11882b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang	$(hide) rm -rf $(dir $@) && mkdir -p $(dir $@)
11982b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang	$(hide) unzip -qo $< -d $(dir $@)
120d8de82fbca4371ccefb41e02ac737e3a153901b3Keun young Park	$(call split-long-arguments,-touch,$(_pdk_fusion_files))
121816b9fd4e22843c836543522464782bece1305b8Keun young Park	$(hide) touch $@
122816b9fd4e22843c836543522464782bece1305b8Keun young Park
12382b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang
12482b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang$(_pdk_fusion_files) : $(_pdk_fusion_stamp)
12582b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang
126816b9fd4e22843c836543522464782bece1305b8Keun young Park
12782b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang# Implicit pattern rules to copy the fusion files to the system image directory.
12882b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang# Note that if there is already explicit rule in the build system to generate a file,
12982b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang# the pattern rule will be just ignored by make.
13082b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang# That's desired by us: we want only absent files from the platform zip package.
13182b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang# Copy with the last-modified time preserved, never follow symbolic links.
1322bea2e65658c686afc11eb753f647c5257685966Colin Cross$(PRODUCT_OUT)/% : $(_pdk_fusion_intermediates)/% $(_pdk_fusion_stamp)
13382b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang	@mkdir -p $(dir $@)
13479d51095bb0fa75c5636e1988edd01fcf613694aSungmin Choi	$(hide) rm -rf $@
13582b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang	$(hide) cp -fpPR $< $@
13682b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang
137c451a373a4f07ea37aba6a50c6169d251668ba32Colin Cross# implicit rules for host java files
138c451a373a4f07ea37aba6a50c6169d251668ba32Colin Cross$(HOST_COMMON_OUT_ROOT)/% : $(_pdk_fusion_intermediates)/host/common/% $(_pdk_fusion_stamp)
139c451a373a4f07ea37aba6a50c6169d251668ba32Colin Cross	@mkdir -p $(dir $@)
140c451a373a4f07ea37aba6a50c6169d251668ba32Colin Cross	$(hide) cp -fpPR $< $@
141c451a373a4f07ea37aba6a50c6169d251668ba32Colin Cross
142efe02ce9e00b9aebde7e9b32e81780d8de8f0dbdKeun young Parkifeq (true,$(TARGET_BUILD_PDK_JAVA_PLATFORM))
143816b9fd4e22843c836543522464782bece1305b8Keun young Park
144a219bdc0ba22c5e4a37f4367f16e7874510d0e78keunyoungPDK_FUSION_OUT_DIR := $(OUT_DIR)
14560767620c35b569559a14e50ebc27896d8202779Tom Cherryifeq (debug,$(TARGET_BUILD_TYPE))
14660767620c35b569559a14e50ebc27896d8202779Tom CherryPDK_FUSION_OUT_DIR := $(DEBUG_OUT_DIR)
14760767620c35b569559a14e50ebc27896d8202779Tom Cherryendif
148a219bdc0ba22c5e4a37f4367f16e7874510d0e78keunyoung
149a219bdc0ba22c5e4a37f4367f16e7874510d0e78keunyoungdefine JAVA_dependency_template
15060767620c35b569559a14e50ebc27896d8202779Tom Cherry$(PDK_FUSION_OUT_DIR)/$(strip $(1)): $(_pdk_fusion_intermediates)/$(strip $(1)) \
151a219bdc0ba22c5e4a37f4367f16e7874510d0e78keunyoung  $(PDK_FUSION_OUT_DIR)/$(strip $(2)) $(_pdk_fusion_stamp)
152816b9fd4e22843c836543522464782bece1305b8Keun young Park	@mkdir -p $$(dir $$@)
153816b9fd4e22843c836543522464782bece1305b8Keun young Park	$(hide) cp -fpPR $$< $$@
154816b9fd4e22843c836543522464782bece1305b8Keun young Parkendef
15582b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wang
156816b9fd4e22843c836543522464782bece1305b8Keun young Park# needs explicit dependency as package-export.apk is not explicitly pulled
157816b9fd4e22843c836543522464782bece1305b8Keun young Park$(eval $(call JAVA_dependency_template,\
158816b9fd4e22843c836543522464782bece1305b8Keun young Parktarget/common/obj/APPS/framework-res_intermediates/src/R.stamp,\
159816b9fd4e22843c836543522464782bece1305b8Keun young Parktarget/common/obj/APPS/framework-res_intermediates/package-export.apk))
160816b9fd4e22843c836543522464782bece1305b8Keun young Park
161816b9fd4e22843c836543522464782bece1305b8Keun young Park# javalib.jar should pull classes.jar as classes.jar is not explicitly pulled.
162074d8385908f3d37f57cdc08b8248bbdf0f97c80Colin Cross$(foreach lib_dir,$(PDK_PLATFORM_JAVA_ZIP_JAVA_TARGET_LIB_DIR),\
163816b9fd4e22843c836543522464782bece1305b8Keun young Park$(eval $(call JAVA_dependency_template,$(lib_dir)/javalib.jar,\
164816b9fd4e22843c836543522464782bece1305b8Keun young Park$(lib_dir)/classes.jar)))
165816b9fd4e22843c836543522464782bece1305b8Keun young Park
166074d8385908f3d37f57cdc08b8248bbdf0f97c80Colin Cross# implicit rules for all other target files
167816b9fd4e22843c836543522464782bece1305b8Keun young Park$(TARGET_COMMON_OUT_ROOT)/% : $(_pdk_fusion_intermediates)/target/common/% $(_pdk_fusion_stamp)
168816b9fd4e22843c836543522464782bece1305b8Keun young Park	@mkdir -p $(dir $@)
169816b9fd4e22843c836543522464782bece1305b8Keun young Park	$(hide) cp -fpPR $< $@
17082b836fda6894ebfccccfbddc2ce3ee2718d862eYing Wangendif
171ebb351e1b38422345e060ba3a986f470e461c95cKeun young Park
172816b9fd4e22843c836543522464782bece1305b8Keun young ParkALL_PDK_FUSION_FILES := $(addprefix $(PRODUCT_OUT)/, $(_pdk_fusion_file_list))
173816b9fd4e22843c836543522464782bece1305b8Keun young Park
174816b9fd4e22843c836543522464782bece1305b8Keun young Parkendif # PDK_FUSION_PLATFORM_ZIP
175816b9fd4e22843c836543522464782bece1305b8Keun young Park
176ebb351e1b38422345e060ba3a986f470e461c95cKeun young Parkifeq ($(TARGET_BUILD_PDK),true)
177f4d1438d859bbbc289b55ba28c62de73f8c83fd5Keun young Park$(info PDK TARGET_BUILD_JAVA_SUPPORT_LEVEL $(TARGET_BUILD_JAVA_SUPPORT_LEVEL))
178efe02ce9e00b9aebde7e9b32e81780d8de8f0dbdKeun young Parkifeq ($(TARGET_BUILD_PDK_JAVA_PLATFORM),)
179816b9fd4e22843c836543522464782bece1305b8Keun young Park
180ebb351e1b38422345e060ba3a986f470e461c95cKeun young Park# SDK used for Java build under PDK
181ebb351e1b38422345e060ba3a986f470e461c95cKeun young ParkPDK_BUILD_SDK_VERSION := $(lastword $(TARGET_AVAILABLE_SDK_VERSIONS))
182ebb351e1b38422345e060ba3a986f470e461c95cKeun young Park$(info PDK Build uses SDK $(PDK_BUILD_SDK_VERSION))
183ebb351e1b38422345e060ba3a986f470e461c95cKeun young Park
184816b9fd4e22843c836543522464782bece1305b8Keun young Parkelse # PDK_JAVA
185816b9fd4e22843c836543522464782bece1305b8Keun young Park
186816b9fd4e22843c836543522464782bece1305b8Keun young Park$(info PDK Build uses the current platform API)
187816b9fd4e22843c836543522464782bece1305b8Keun young Park
188816b9fd4e22843c836543522464782bece1305b8Keun young Parkendif # PDK_JAVA
189816b9fd4e22843c836543522464782bece1305b8Keun young Park
190ebb351e1b38422345e060ba3a986f470e461c95cKeun young Parkendif # BUILD_PDK
191722266918f5b1152bab0a9c05790420d09229b29Keun young Park
192722266918f5b1152bab0a9c05790420d09229b29Keun young Parkifneq (,$(filter platform platform-java, $(MAKECMDGOALS))$(filter true,$(TARGET_BUILD_PDK)))
193722266918f5b1152bab0a9c05790420d09229b29Keun young Park# files under $(PRODUCT_OUT)/symbols to help debugging.
194722266918f5b1152bab0a9c05790420d09229b29Keun young Park# Source not included to PDK due to dependency issue, so provide symbols instead.
195788c7789b9d5406b24efff7d6bdb113dafe05759Ying Wang
19600b83411a21e1efe35b646518223627a4b0a7960Ying Wang# We may not be building all of them.
19700b83411a21e1efe35b646518223627a4b0a7960Ying Wang# The platform.zip just silently ignores the nonexistent ones.
198722266918f5b1152bab0a9c05790420d09229b29Keun young ParkPDK_SYMBOL_FILES_LIST := \
19900b83411a21e1efe35b646518223627a4b0a7960Ying Wang    system/bin/app_process32 \
20000b83411a21e1efe35b646518223627a4b0a7960Ying Wang    system/bin/app_process64
201722266918f5b1152bab0a9c05790420d09229b29Keun young Park
202722266918f5b1152bab0a9c05790420d09229b29Keun young Parkifdef PDK_FUSION_PLATFORM_ZIP
203722266918f5b1152bab0a9c05790420d09229b29Keun young Park# symbols should be explicitly pulled for fusion build
20400b83411a21e1efe35b646518223627a4b0a7960Ying Wang$(foreach f,$(filter $(PDK_SYMBOL_FILES_LIST), $(_pdk_fusion_file_list)),\
205722266918f5b1152bab0a9c05790420d09229b29Keun young Park  $(eval $(call add-dependency,$(PRODUCT_OUT)/$(f),$(PRODUCT_OUT)/symbols/$(f))))
206722266918f5b1152bab0a9c05790420d09229b29Keun young Parkendif # PLATFORM_ZIP
207722266918f5b1152bab0a9c05790420d09229b29Keun young Parkendif # platform.zip build or PDK
208