| # |
| # Copyright 2019 The Android Open-Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| |
| ifneq ($(filter generic_% generic emulator_% emulator64_% emu64%, $(TARGET_DEVICE)),) |
| LOCAL_PATH:= $(call my-dir) |
| |
| include $(CLEAR_VARS) |
| EMU_EXTRA_FILES := \ |
| $(PRODUCT_OUT)/system-qemu-config.txt \ |
| $(PRODUCT_OUT)/ramdisk-qemu.img \ |
| $(PRODUCT_OUT)/misc_info.txt \ |
| $(PRODUCT_OUT)/vbmeta.img \ |
| $(PRODUCT_OUT)/VerifiedBootParams.textproto \ |
| $(foreach p,$(BOARD_SUPER_PARTITION_PARTITION_LIST),$(PRODUCT_OUT)/$(p).img) |
| |
| ifeq ($(filter sdk_gphone_%, $(TARGET_PRODUCT)),) |
| ifeq ($(TARGET_BUILD_VARIANT),user) |
| EMU_EXTRA_FILES += device/generic/goldfish/data/etc/user/advancedFeatures.ini |
| else |
| EMU_EXTRA_FILES += device/generic/goldfish/data/etc/advancedFeatures.ini |
| endif |
| else |
| ifeq ($(TARGET_BUILD_VARIANT),user) |
| EMU_EXTRA_FILES += device/generic/goldfish/data/etc/google/user/advancedFeatures.ini |
| else |
| EMU_EXTRA_FILES += device/generic/goldfish/data/etc/google/userdebug/advancedFeatures.ini |
| endif |
| endif |
| |
| EMU_EXTRA_FILES += device/generic/goldfish/data/etc/config.ini |
| EMU_EXTRA_FILES += device/generic/goldfish/data/etc/encryptionkey.img |
| EMU_EXTRA_FILES += device/generic/goldfish/data/etc/userdata.img |
| |
| name := emu-extra-linux-system-images-$(FILE_NAME_TAG) |
| |
| EMU_EXTRA_TARGET := $(PRODUCT_OUT)/$(name).zip |
| |
| EMULATOR_KERNEL_ARCH := $(TARGET_ARCH) |
| EMULATOR_KERNEL_DIST_NAME := kernel-ranchu |
| # Below should be the same as TARGET_KERNEL_USE set in |
| # device/generic/goldfish/(arm|x86)*-vendor.mk |
| TARGET_KERNEL_USE ?= 5.15 |
| |
| # Use 64-bit kernel even for 32-bit Android |
| ifeq ($(TARGET_ARCH), x86) |
| EMULATOR_KERNEL_ARCH := x86_64 |
| EMULATOR_KERNEL_DIST_NAME := kernel-ranchu-64 |
| else |
| ifeq ($(TARGET_ARCH), x86_64) |
| EMULATOR_KERNEL_ARCH := $(TARGET_ARCH) |
| EMULATOR_KERNEL_DIST_NAME := kernel-ranchu |
| else |
| ifeq ($(TARGET_ARCH), arm64) |
| EMULATOR_KERNEL_ARCH := $(TARGET_ARCH) |
| EMULATOR_KERNEL_DIST_NAME := kernel-ranchu |
| else |
| ifeq ($(TARGET_ARCH), arm) |
| EMULATOR_KERNEL_ARCH := $(TARGET_ARCH) |
| EMULATOR_KERNEL_DIST_NAME := kernel-ranchu |
| EMULATOR_KERNEL_VERSION := 3.18 |
| EMULATOR_KERNEL_FILE := prebuilts/qemu-kernel/$(EMULATOR_KERNEL_ARCH)/$(EMULATOR_KERNEL_VERSION)/kernel-qemu2 |
| else |
| $(error unsupported arch: $(TARGET_ARCH)) |
| endif # arm |
| endif # arm64 |
| endif # x86_64 |
| endif # x86 |
| |
| $(EMU_EXTRA_TARGET): PRIVATE_PACKAGE_SRC := \ |
| $(call intermediates-dir-for, PACKAGING, emu_extra_target) |
| |
| $(EMU_EXTRA_TARGET): $(EMU_EXTRA_FILES) $(EMULATOR_KERNEL_FILE) $(SOONG_ZIP) |
| @echo "Package: $@" |
| rm -rf $@ $(PRIVATE_PACKAGE_SRC) |
| mkdir -p $(PRIVATE_PACKAGE_SRC)/$(TARGET_ARCH)/prebuilts/qemu-kernel/$(TARGET_ARCH) |
| touch $(PRIVATE_PACKAGE_SRC)/$(TARGET_ARCH)/prebuilts/qemu-kernel/$(TARGET_ARCH)/kernel-qemu |
| $(foreach f,$(EMU_EXTRA_FILES), cp $(f) $(PRIVATE_PACKAGE_SRC)/$(TARGET_ARCH)/$(notdir $(f)) &&) true |
| cp $(EMULATOR_KERNEL_FILE) $(PRIVATE_PACKAGE_SRC)/$(TARGET_ARCH)/${EMULATOR_KERNEL_DIST_NAME} |
| cp -r $(PRODUCT_OUT)/data $(PRIVATE_PACKAGE_SRC)/$(TARGET_ARCH) |
| mkdir -p $(PRIVATE_PACKAGE_SRC)/$(TARGET_ARCH)/system |
| cp $(PRODUCT_OUT)/system/build.prop $(PRIVATE_PACKAGE_SRC)/$(TARGET_ARCH)/system |
| $(SOONG_ZIP) -o $@ -C $(PRIVATE_PACKAGE_SRC) -D $(PRIVATE_PACKAGE_SRC)/$(TARGET_ARCH) |
| |
| .PHONY: emu_extra_imgs |
| emu_extra_imgs: $(EMU_EXTRA_TARGET) |
| |
| $(call dist-for-goals, emu_extra_imgs, $(EMU_EXTRA_TARGET)) |
| |
| include $(call all-makefiles-under,$(LOCAL_PATH)) |
| endif |