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