Files
build/core/tasks/vendor_snapshot.mk
Inseob Kim c497641e6f Implement fake vendor snapshot
A fake vendor snapshot is a vendor snapshot whose prebuilt binaries and
captured headers are all empty. It's much faster to be built than the
real vendor snapshot, so users can exploit the fake vendor snapshot to
reduce the size of vendor snapshot they need, by installing the fake
snapshot and then inspecting the ninja dependencies.

Bug: 157967325
Test: m dist vendor-fake-snapshot
Change-Id: I7fa5d5033a296965b21e840765cc7fe02fd1f44e
2021-01-07 13:56:33 +09:00

47 lines
1.6 KiB
Makefile

# Copyright (C) 2020 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.
current_makefile := $(lastword $(MAKEFILE_LIST))
# BOARD_VNDK_VERSION must be set to 'current' in order to generate a vendor snapshot.
ifeq ($(BOARD_VNDK_VERSION),current)
.PHONY: vendor-snapshot
vendor-snapshot: $(SOONG_VENDOR_SNAPSHOT_ZIP)
$(call dist-for-goals, vendor-snapshot, $(SOONG_VENDOR_SNAPSHOT_ZIP))
.PHONY: vendor-fake-snapshot
vendor-fake-snapshot: $(SOONG_VENDOR_FAKE_SNAPSHOT_ZIP)
$(call dist-for-goals, vendor-fake-snapshot, $(SOONG_VENDOR_FAKE_SNAPSHOT_ZIP):fake/$(notdir $(SOONG_VENDOR_FAKE_SNAPSHOT_ZIP)))
else # BOARD_VNDK_VERSION is NOT set to 'current'
.PHONY: vendor-snapshot
vendor-snapshot: PRIVATE_MAKEFILE := $(current_makefile)
vendor-snapshot:
$(call echo-error,$(PRIVATE_MAKEFILE),\
"CANNOT generate Vendor snapshot. BOARD_VNDK_VERSION must be set to 'current'.")
exit 1
.PHONY: vendor-fake-snapshot
vendor-fake-snapshot: PRIVATE_MAKEFILE := $(current_makefile)
vendor-fake-snapshot:
$(call echo-error,$(PRIVATE_MAKEFILE),\
"CANNOT generate Vendor snapshot. BOARD_VNDK_VERSION must be set to 'current'.")
exit 1
endif # BOARD_VNDK_VERSION