dumpvar.mk revision 8af0efd6a157e682d88c9a6e030f37bab9860caf
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),)
70$(info ============================================)
71$(info   PLATFORM_VERSION_CODENAME=$(PLATFORM_VERSION_CODENAME))
72$(info   PLATFORM_VERSION=$(PLATFORM_VERSION))
73$(info   TARGET_PRODUCT=$(TARGET_PRODUCT))
74$(info   TARGET_BUILD_VARIANT=$(TARGET_BUILD_VARIANT))
75$(info   TARGET_BUILD_TYPE=$(TARGET_BUILD_TYPE))
76$(info   TARGET_BUILD_APPS=$(TARGET_BUILD_APPS))
77$(info   TARGET_ARCH=$(TARGET_ARCH))
78$(info   TARGET_ARCH_VARIANT=$(TARGET_ARCH_VARIANT))
79$(info   HOST_ARCH=$(HOST_ARCH))
80$(info   HOST_OS=$(HOST_OS))
81$(info   HOST_BUILD_TYPE=$(HOST_BUILD_TYPE))
82$(info   BUILD_ID=$(BUILD_ID))
83$(info   OUT_DIR=$(OUT_DIR))
84$(info ============================================)
85endif
86