1# Copyright (C) 2017 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
15current_makefile := $(lastword $(MAKEFILE_LIST))
16
17# BOARD_VNDK_VERSION must be set to 'current' in order to generate a VNDK snapshot.
18ifeq ($(BOARD_VNDK_VERSION),current)
19
20# PLATFORM_VNDK_VERSION must be set.
21ifneq (,$(PLATFORM_VNDK_VERSION))
22
23# BOARD_VNDK_RUNTIME_DISABLE must not be set to 'true'.
24ifneq ($(BOARD_VNDK_RUNTIME_DISABLE),true)
25
26.PHONY: vndk
27vndk: $(SOONG_VNDK_SNAPSHOT_ZIP)
28
29$(call dist-for-goals, vndk, $(SOONG_VNDK_SNAPSHOT_ZIP))
30
31else # BOARD_VNDK_RUNTIME_DISABLE is set to 'true'
32error_msg := "CANNOT generate VNDK snapshot. BOARD_VNDK_RUNTIME_DISABLE must not be set to 'true'."
33endif # BOARD_VNDK_RUNTIME_DISABLE
34
35else # PLATFORM_VNDK_VERSION is NOT set
36error_msg := "CANNOT generate VNDK snapshot. PLATFORM_VNDK_VERSION must be set."
37endif # PLATFORM_VNDK_VERSION
38
39else # BOARD_VNDK_VERSION is NOT set to 'current'
40error_msg := "CANNOT generate VNDK snapshot. BOARD_VNDK_VERSION must be set to 'current'."
41endif # BOARD_VNDK_VERSION
42
43ifneq (,$(error_msg))
44
45.PHONY: vndk
46vndk: PRIVATE_MAKEFILE := $(current_makefile)
47vndk:
48	$(call echo-error,$(PRIVATE_MAKEFILE),$(error_msg))
49	exit 1
50
51endif
52