1# Copyright (C) 2019 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15 16.PHONY: with-license 17 18name := $(TARGET_PRODUCT) 19ifeq ($(TARGET_BUILD_TYPE),debug) 20 name := $(name)_debug 21endif 22 23name := $(name)-flashable-$(FILE_NAME_TAG)-with-license 24 25with_license_intermediates := \ 26 $(call intermediates-dir-for,PACKAGING,with_license) 27 28# Create a with-license artifact target 29license_image_input_zip := $(with_license_intermediates)/$(name).zip 30$(license_image_input_zip) : $(BUILT_TARGET_FILES_PACKAGE) $(ZIP2ZIP) 31# DO NOT PROCEED without a license file. 32ifndef VENDOR_BLOBS_LICENSE 33 @echo "with-license requires VENDOR_BLOBS_LICENSE to be set." 34 exit 1 35else 36 $(ZIP2ZIP) -i $(BUILT_TARGET_FILES_PACKAGE) -o $@ \ 37 RADIO/bootloader.img:bootloader.img RADIO/radio.img:radio.img \ 38 IMAGES/*.img:. OTA/android-info.txt:android-info.txt 39endif 40 41$(call declare-1p-container,$(license_image_input_zip),build) 42$(call declare-container-deps,$(license_image_input_zip),$(BUILT_TARGET_FILES_PACKAGE)) 43 44with_license_zip := $(PRODUCT_OUT)/$(name).sh 45$(with_license_zip): PRIVATE_NAME := $(name) 46$(with_license_zip): PRIVATE_INPUT_ZIP := $(license_image_input_zip) 47$(with_license_zip): PRIVATE_VENDOR_BLOBS_LICENSE := $(VENDOR_BLOBS_LICENSE) 48$(with_license_zip): $(license_image_input_zip) $(VENDOR_BLOBS_LICENSE) 49$(with_license_zip): $(HOST_OUT_EXECUTABLES)/generate-self-extracting-archive 50 # Args: <output> <input archive> <comment> <license file> 51 $(HOST_OUT_EXECUTABLES)/generate-self-extracting-archive $@ \ 52 $(PRIVATE_INPUT_ZIP) $(PRIVATE_NAME) $(PRIVATE_VENDOR_BLOBS_LICENSE) 53with-license : $(with_license_zip) 54$(call dist-for-goals, with-license, $(with_license_zip)) 55 56$(call declare-1p-container,$(with_license_zip),) 57$(call declare-container-license-deps,$(with_license_zip),$(license_image_input_zip),$(with_license_zip):) 58 59