82 lines
3.5 KiB
Makefile
82 lines
3.5 KiB
Makefile
#
|
|
# Copyright (C) 2015 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.
|
|
#
|
|
|
|
# Build additional images requested by the product makefile.
|
|
# This script gives the ability to build multiple additional images and you can
|
|
# configure what modules/files to include in each image.
|
|
# 1. Define PRODUCT_CUSTOM_IMAGE_MAKEFILES in your product makefile.
|
|
# PRODUCT_CUSTOM_IMAGE_MAKEFILES is a list of makefiles.
|
|
# Each makefile configures an image.
|
|
# For image configuration makefile foo/bar/xyz.mk, the built image file name
|
|
# will be xyz.img. So make sure they won't conflict.
|
|
# 2. In each image's configuration makefile, you can define variables:
|
|
# - CUSTOM_IMAGE_MOUNT_POINT, the mount point, such as "oem", "odm" etc.
|
|
# - CUSTOM_IMAGE_PARTITION_SIZE
|
|
# - CUSTOM_IMAGE_FILE_SYSTEM_TYPE
|
|
# - CUSTOM_IMAGE_DICT_FILE, a text file defines a dictionary accepted by
|
|
# BuildImage() in tools/releasetools/build_image.py.
|
|
# - CUSTOM_IMAGE_MODULES, a list of module names you want to include in
|
|
# the image; Not only the module itself will be installed to proper path in
|
|
# the image, you can also piggyback additional files/directories with the
|
|
# module's LOCAL_PICKUP_FILES.
|
|
# - CUSTOM_IMAGE_COPY_FILES, a list of "<src>:<dest>" to be copied to the
|
|
# image. <dest> is relativ to the root of the image.
|
|
# - CUSTOM_IMAGE_SELINUX, set to "true" if the image supports selinux.
|
|
# - CUSTOM_IMAGE_SUPPORT_VERITY, set to "true" if the product supports verity.
|
|
# - CUSTOM_IMAGE_SUPPORT_VERITY_FEC, set to "true" if the product supports
|
|
# verity FEC (forward error correction).
|
|
# - CUSTOM_IMAGE_VERITY_BLOCK_DEVICE
|
|
# - CUSTOM_IMAGE_AVB_HASH_ENABLE, set to "true" to add AVB HASH footer.
|
|
# - CUSTOM_IMAGE_AVB_ADD_HASH_FOOTER_ARGS, additional args of AVB HASH footer.
|
|
# - CUSTOM_IMAGE_AVB_HASHTREE_ENABLE, set to "true" to add AVB HASHTREE
|
|
# footer.
|
|
# - CUSTOM_IMAGE_AVB_ADD_HASHTREE_FOOTER_ARGS, additional args of AVB
|
|
# HASHTREE footer.
|
|
# - CUSTOM_IMAGE_AVB_KEY_PATH, custom AVB signing key.
|
|
# - CUSTOM_IMAGE_AVB_ALGORITHM, custom AVB signing algorithm.
|
|
#
|
|
# To build all those images, run "make custom_images".
|
|
|
|
ifneq ($(filter $(MAKECMDGOALS),custom_images),)
|
|
|
|
.PHONY: custom_images
|
|
|
|
custom_image_parameter_variables := \
|
|
CUSTOM_IMAGE_MOUNT_POINT \
|
|
CUSTOM_IMAGE_PARTITION_SIZE \
|
|
CUSTOM_IMAGE_FILE_SYSTEM_TYPE \
|
|
CUSTOM_IMAGE_DICT_FILE \
|
|
CUSTOM_IMAGE_MODULES \
|
|
CUSTOM_IMAGE_COPY_FILES \
|
|
CUSTOM_IMAGE_SELINUX \
|
|
CUSTOM_IMAGE_SUPPORT_VERITY \
|
|
CUSTOM_IMAGE_SUPPORT_VERITY_FEC \
|
|
CUSTOM_IMAGE_VERITY_BLOCK_DEVICE \
|
|
CUSTOM_IMAGE_AVB_HASH_ENABLE \
|
|
CUSTOM_IMAGE_AVB_ADD_HASH_FOOTER_ARGS \
|
|
CUSTOM_IMAGE_AVB_HASHTREE_ENABLE \
|
|
CUSTOM_IMAGE_AVB_ADD_HASHTREE_FOOTER_ARGS \
|
|
CUSTOM_IMAGE_AVB_KEY_PATH \
|
|
CUSTOM_IMAGE_AVB_ALGORITHM \
|
|
|
|
# We don't expect product makefile to inherit/override PRODUCT_CUSTOM_IMAGE_MAKEFILES,
|
|
# so we don't put it in the _product_var_list.
|
|
$(foreach mk, $(PRODUCT_CUSTOM_IMAGE_MAKEFILES),\
|
|
$(eval my_custom_imag_makefile := $(mk))\
|
|
$(eval include $(BUILD_SYSTEM)/tasks/tools/build_custom_image.mk))
|
|
|
|
endif
|