Fri, 16 Jan 2015 18:13:44 +0100
Integrate suggestion from review to improve consistency with existing code.
1 # -*- makefile -*-
2 # vim:set ts=8 sw=8 sts=8 noet:
3 #
4 # This Source Code Form is subject to the terms of the Mozilla Public
5 # License, v. 2.0. If a copy of the MPL was not distributed with this file,
6 # You can obtain one at http://mozilla.org/MPL/2.0/.
7 #
9 ###########################################################################
10 ## Intent: Helper targets for displaying variables and state information
11 ###########################################################################
13 # Support usage outside of config/rules.mk
14 ifndef INCLUDED_DEBUGMAKE_MK #{
16 define shell_quote
17 '$(subst ','\'',$(1))'
18 endef
20 echo-variable-%:
21 @echo $(call shell_quote,$($*))
23 echo-tiers:
24 @echo $(TIERS)
26 echo-tier-dirs:
27 @$(foreach tier,$(TIERS),echo '$(tier):'; echo ' dirs: $(tier_$(tier)_dirs)'; $(if $(tier_$(tier)_staticdirs),echo ' staticdirs: $(tier_$(tier)_staticdirs)';) )
29 echo-dirs:
30 @echo $(call shell_quote,$(DIRS))
32 define print_var
33 @printf '%20s = %s\n' $1 $(call shell_quote,$($1))
35 endef
37 define print_vars
38 $(foreach var,$1,$(call print_var,$(var)))
39 endef
41 showtargs:
42 ifneq (,$(filter $(PROGRAM) $(HOST_PROGRAM) $(SIMPLE_PROGRAMS) $(HOST_LIBRARY) $(LIBRARY) $(SHARED_LIBRARY),$(TARGETS)))
43 @echo --------------------------------------------------------------------------------
44 $(call print_vars,\
45 PROGRAM \
46 SIMPLE_PROGRAMS \
47 LIBRARY \
48 SHARED_LIBRARY \
49 SHARED_LIBRARY_LIBS \
50 LIBS \
51 DEF_FILE \
52 IMPORT_LIBRARY \
53 STATIC_LIBS \
54 EXTRA_DSO_LDOPTS \
55 DEPENDENT_LIBS \
56 )
57 @echo --------------------------------------------------------------------------------
58 endif
59 $(LOOP_OVER_PARALLEL_DIRS)
60 $(LOOP_OVER_DIRS)
61 $(LOOP_OVER_TOOL_DIRS)
63 showbuild:
64 $(call print_vars,\
65 MOZ_BUILD_ROOT \
66 MOZ_WIDGET_TOOLKIT \
67 CC \
68 CXX \
69 CCC \
70 CPP \
71 LD \
72 AR \
73 IMPLIB \
74 FILTER \
75 MKSHLIB \
76 MKCSHLIB \
77 RC \
78 MC \
79 CFLAGS \
80 OS_CFLAGS \
81 COMPILE_CFLAGS \
82 CXXFLAGS \
83 OS_CXXFLAGS \
84 COMPILE_CXXFLAGS \
85 COMPILE_CMFLAGS \
86 COMPILE_CMMFLAGS \
87 LDFLAGS \
88 OS_LDFLAGS \
89 DSO_LDOPTS \
90 OS_INCLUDES \
91 OS_LIBS \
92 EXTRA_LIBS \
93 BIN_FLAGS \
94 INCLUDES \
95 DEFINES \
96 ACDEFINES \
97 BIN_SUFFIX \
98 LIB_SUFFIX \
99 DLL_SUFFIX \
100 IMPORT_LIB_SUFFIX \
101 INSTALL \
102 VPATH \
103 )
105 showhost:
106 $(call print_vars,\
107 HOST_CC \
108 HOST_CXX \
109 HOST_CFLAGS \
110 HOST_LDFLAGS \
111 HOST_LIBS \
112 HOST_EXTRA_LIBS \
113 HOST_EXTRA_DEPS \
114 HOST_PROGRAM \
115 HOST_OBJS \
116 HOST_PROGOBJS \
117 HOST_LIBRARY \
118 )
120 INCLUDED_DEBUGMAKE_MK = 1
121 endif #}