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