OSDN Git Service

Update Security String to 2017-02-01 in klp-dev am: b1a7ec0841 am: 5c99964c63 am...
[android-x86/build.git] / core / dumpvar.mk
1
2 # List of variables we want to print in the build banner.
3 print_build_config_vars := \
4   PLATFORM_VERSION_CODENAME \
5   PLATFORM_VERSION \
6   TARGET_PRODUCT \
7   TARGET_BUILD_VARIANT \
8   TARGET_BUILD_TYPE \
9   TARGET_BUILD_APPS \
10   TARGET_ARCH \
11   TARGET_ARCH_VARIANT \
12   TARGET_CPU_VARIANT \
13   TARGET_2ND_ARCH \
14   TARGET_2ND_ARCH_VARIANT \
15   TARGET_2ND_CPU_VARIANT \
16   HOST_ARCH \
17   HOST_2ND_ARCH \
18   HOST_OS \
19   HOST_OS_EXTRA \
20   HOST_CROSS_OS \
21   HOST_CROSS_ARCH \
22   HOST_CROSS_2ND_ARCH \
23   HOST_BUILD_TYPE \
24   BUILD_ID \
25   OUT_DIR
26
27 ifeq ($(TARGET_BUILD_PDK),true)
28 print_build_config_vars += \
29   TARGET_BUILD_PDK \
30   PDK_FUSION_PLATFORM_ZIP
31 endif
32
33 # ---------------------------------------------------------------
34 # the setpath shell function in envsetup.sh uses this to figure out
35 # what to add to the path given the config we have chosen.
36 ifeq ($(CALLED_FROM_SETUP),true)
37
38 ifneq ($(filter /%,$(HOST_OUT_EXECUTABLES)),)
39 ABP:=$(HOST_OUT_EXECUTABLES)
40 else
41 ABP:=$(PWD)/$(HOST_OUT_EXECUTABLES)
42 endif
43
44 ANDROID_BUILD_PATHS := $(ABP)
45 ANDROID_PREBUILTS := prebuilt/$(HOST_PREBUILT_TAG)
46 ANDROID_GCC_PREBUILTS := prebuilts/gcc/$(HOST_PREBUILT_TAG)
47
48 # The "dumpvar" stuff lets you say something like
49 #
50 #     CALLED_FROM_SETUP=true \
51 #       make -f config/envsetup.make dumpvar-TARGET_OUT
52 # or
53 #     CALLED_FROM_SETUP=true \
54 #       make -f config/envsetup.make dumpvar-abs-HOST_OUT_EXECUTABLES
55 #
56 # The plain (non-abs) version just dumps the value of the named variable.
57 # The "abs" version will treat the variable as a path, and dumps an
58 # absolute path to it.
59 #
60 dumpvar_goals := \
61         $(strip $(patsubst dumpvar-%,%,$(filter dumpvar-%,$(MAKECMDGOALS))))
62 ifdef dumpvar_goals
63
64   ifneq ($(words $(dumpvar_goals)),1)
65     $(error Only one "dumpvar-" goal allowed. Saw "$(MAKECMDGOALS)")
66   endif
67
68   # If the goal is of the form "dumpvar-abs-VARNAME", then
69   # treat VARNAME as a path and return the absolute path to it.
70   absolute_dumpvar := $(strip $(filter abs-%,$(dumpvar_goals)))
71   ifdef absolute_dumpvar
72     dumpvar_goals := $(patsubst abs-%,%,$(dumpvar_goals))
73     DUMPVAR_VALUE := $(abspath $($(dumpvar_goals)))
74     dumpvar_target := dumpvar-abs-$(dumpvar_goals)
75   else
76     DUMPVAR_VALUE := $($(dumpvar_goals))
77     dumpvar_target := dumpvar-$(dumpvar_goals)
78   endif
79
80 .PHONY: $(dumpvar_target)
81 $(dumpvar_target):
82         @echo $(DUMPVAR_VALUE)
83
84 endif # dumpvar_goals
85
86 ifneq ($(dumpvar_goals),report_config)
87 PRINT_BUILD_CONFIG:=
88 endif
89
90 ifneq ($(filter report_config,$(DUMP_MANY_VARS)),)
91 # Construct the shell commands that print the config banner.
92 report_config_sh := echo '============================================';
93 report_config_sh += $(foreach v,$(print_build_config_vars),echo '$v=$($(v))';)
94 report_config_sh += echo '============================================';
95 endif
96
97 # Dump mulitple variables to "<var>=<value>" pairs, one per line.
98 # The output may be executed as bash script.
99 # Input variables:
100 #   DUMP_MANY_VARS: the list of variable names.
101 #   DUMP_VAR_PREFIX: an optional prefix of the variable name added to the output.
102 #   DUMP_MANY_ABS_VARS: the list of abs variable names.
103 #   DUMP_ABS_VAR_PREFIX: an optional prefix of the abs variable name added to the output.
104 .PHONY: dump-many-vars
105 dump-many-vars :
106         @$(foreach v, $(filter-out report_config, $(DUMP_MANY_VARS)),\
107           echo "$(DUMP_VAR_PREFIX)$(v)='$($(v))'";)
108 ifneq ($(filter report_config, $(DUMP_MANY_VARS)),)
109         @# Construct a special variable for report_config.
110         @# Escape \` to defer the execution of report_config_sh to preserve the line breaks.
111         @echo "$(DUMP_VAR_PREFIX)report_config=\`$(report_config_sh)\`"
112 endif
113         @$(foreach v, $(sort $(DUMP_MANY_ABS_VARS)),\
114           echo "$(DUMP_ABS_VAR_PREFIX)$(v)='$(abspath $($(v)))'";)
115
116 endif # CALLED_FROM_SETUP
117
118 ifneq ($(PRINT_BUILD_CONFIG),)
119 $(info ============================================)
120 $(foreach v, $(print_build_config_vars),\
121   $(info $v=$($(v))))
122 $(info ============================================)
123 endif