dumpvar.mk revision 5f1c9ba0b87c8b233b5e5d904aae2a4d079a310f
1# ---------------------------------------------------------------
2# the setpath shell function in envsetup.sh uses this to figure out
3# what to add to the path given the config we have chosen.
4ifeq ($(CALLED_FROM_SETUP),true)
5
6ifneq ($(filter /%,$(HOST_OUT_EXECUTABLES)),)
7ABP:=$(HOST_OUT_EXECUTABLES)
8else
9ABP:=$(PWD)/$(HOST_OUT_EXECUTABLES)
10endif
11
12# Add the toolchain bin dir if it actually exists
13ifneq ($(wildcard $(PWD)/prebuilt/$(HOST_PREBUILT_TAG)/toolchain/arm-linux-androideabi-4.4.x/bin),)
14	# this should be copied to HOST_OUT_EXECUTABLES instead
15	ABP:=$(ABP):$(PWD)/prebuilt/$(HOST_PREBUILT_TAG)/toolchain/arm-linux-androideabi-4.4.x/bin
16endif
17ANDROID_BUILD_PATHS := $(ABP)
18ANDROID_PREBUILTS := prebuilt/$(HOST_PREBUILT_TAG)
19
20# The "dumpvar" stuff lets you say something like
21#
22#     CALLED_FROM_SETUP=true \
23#       make -f config/envsetup.make dumpvar-TARGET_OUT
24# or
25#     CALLED_FROM_SETUP=true \
26#       make -f config/envsetup.make dumpvar-abs-HOST_OUT_EXECUTABLES
27#
28# The plain (non-abs) version just dumps the value of the named variable.
29# The "abs" version will treat the variable as a path, and dumps an
30# absolute path to it.
31#
32dumpvar_goals := \
33	$(strip $(patsubst dumpvar-%,%,$(filter dumpvar-%,$(MAKECMDGOALS))))
34ifdef dumpvar_goals
35
36  ifneq ($(words $(dumpvar_goals)),1)
37    $(error Only one "dumpvar-" goal allowed. Saw "$(MAKECMDGOALS)")
38  endif
39
40  # If the goal is of the form "dumpvar-abs-VARNAME", then
41  # treat VARNAME as a path and return the absolute path to it.
42  absolute_dumpvar := $(strip $(filter abs-%,$(dumpvar_goals)))
43  ifdef absolute_dumpvar
44    dumpvar_goals := $(patsubst abs-%,%,$(dumpvar_goals))
45    ifneq ($(filter /%,$($(dumpvar_goals))),)
46      DUMPVAR_VALUE := $($(dumpvar_goals))
47    else
48      DUMPVAR_VALUE := $(PWD)/$($(dumpvar_goals))
49    endif
50    dumpvar_target := dumpvar-abs-$(dumpvar_goals)
51  else
52    DUMPVAR_VALUE := $($(dumpvar_goals))
53    dumpvar_target := dumpvar-$(dumpvar_goals)
54  endif
55
56.PHONY: $(dumpvar_target)
57$(dumpvar_target):
58	@echo $(DUMPVAR_VALUE)
59
60endif # dumpvar_goals
61
62ifneq ($(dumpvar_goals),report_config)
63PRINT_BUILD_CONFIG:=
64endif
65
66endif # CALLED_FROM_SETUP
67
68
69ifneq ($(PRINT_BUILD_CONFIG),)
70HOST_OS_EXTRA:=$(shell python -c "import platform; print(platform.platform())")
71$(info ============================================)
72$(info   PLATFORM_VERSION_CODENAME=$(PLATFORM_VERSION_CODENAME))
73$(info   PLATFORM_VERSION=$(PLATFORM_VERSION))
74$(info   TARGET_PRODUCT=$(TARGET_PRODUCT))
75$(info   TARGET_BUILD_VARIANT=$(TARGET_BUILD_VARIANT))
76$(info   TARGET_BUILD_TYPE=$(TARGET_BUILD_TYPE))
77$(info   TARGET_BUILD_APPS=$(TARGET_BUILD_APPS))
78$(info   TARGET_ARCH=$(TARGET_ARCH))
79$(info   TARGET_ARCH_VARIANT=$(TARGET_ARCH_VARIANT))
80$(info   HOST_ARCH=$(HOST_ARCH))
81$(info   HOST_OS=$(HOST_OS))
82$(info   HOST_OS_EXTRA=$(HOST_OS_EXTRA))
83$(info   HOST_BUILD_TYPE=$(HOST_BUILD_TYPE))
84$(info   BUILD_ID=$(BUILD_ID))
85$(info   OUT_DIR=$(OUT_DIR))
86$(info ============================================)
87endif
88