6dd11eccc5
This will allow us to remove the core.art image compiled in make. Test: m test-art-host-gtest Bug: 147817558 Bug: 147819342 Change-Id: Ie17e5818ddeb200843b13d36ade6d1a5428a9a48
42 lines
2 KiB
Makefile
42 lines
2 KiB
Makefile
####################################
|
|
# ART boot image installation
|
|
# Input variables:
|
|
# my_boot_image_name: the boot image to install
|
|
# my_boot_image_arch: the architecture to install (e.g. TARGET_ARCH, not expanded)
|
|
# my_boot_image_out: the install directory (e.g. $(PRODUCT_OUT))
|
|
# my_boot_image_syms: the symbols director (e.g. $(TARGET_OUT_UNSTRIPPED))
|
|
# my_boot_image_root: make variable used to store installed image path
|
|
#
|
|
####################################
|
|
|
|
# Install $(1) to $(2) so that it is shared between architectures.
|
|
define copy-vdex-file
|
|
my_vdex_shared := $$(dir $$(patsubst %/,%,$$(dir $(2))))$$(notdir $(2)) # Remove the arch dir.
|
|
ifneq ($(my_boot_image_arch),$(filter $(my_boot_image_arch), TARGET_2ND_ARCH HOST_2ND_ARCH))
|
|
$$(my_vdex_shared): $(1) # Copy $(1) to directory one level up (i.e. with the arch dir removed).
|
|
@echo "Install: $$@"
|
|
$$(copy-file-to-target)
|
|
endif
|
|
$(2): $$(my_vdex_shared) # Create symlink at $(2) which points to the actual physical copy.
|
|
@echo "Symlink: $$@"
|
|
mkdir -p $$(dir $$@)
|
|
ln -sfn ../$$(notdir $$@) $$@
|
|
my_vdex_shared :=
|
|
endef
|
|
|
|
# Same as 'copy-many-files' but it uses the vdex-specific helper above.
|
|
define copy-vdex-files
|
|
$(foreach v,$(1),$(eval $(call copy-vdex-file, $(call word-colon,1,$(v)), $(2)$(call word-colon,2,$(v)))))
|
|
$(foreach v,$(1),$(2)$(call word-colon,2,$(v)))
|
|
endef
|
|
|
|
# Install the boot images compiled by Soong.
|
|
# The first file is saved in $(my_boot_image_root) and the rest are added as it's dependencies.
|
|
my_suffix := BUILT_INSTALLED_$(my_boot_image_name)_$($(my_boot_image_arch))
|
|
my_installed := $(call copy-many-files,$(DEXPREOPT_IMAGE_$(my_suffix)),$(my_boot_image_out))
|
|
my_installed += $(call copy-many-files,$(DEXPREOPT_IMAGE_UNSTRIPPED_$(my_suffix)),$(my_boot_image_syms))
|
|
my_installed += $(call copy-vdex-files,$(DEXPREOPT_IMAGE_VDEX_$(my_suffix)),$(my_boot_image_out))
|
|
$(my_boot_image_root) += $(firstword $(my_installed))
|
|
$(firstword $(my_installed)): $(wordlist 2,9999,$(my_installed))
|
|
my_installed :=
|
|
my_suffix :=
|