Commit ec626f11392ca1bc5e83199ceb74e41f0d9ea0c3

Authored by Masahiro Yamada
Committed by Tom Rini
1 parent 7c8278a866

Makefile: rename scripts/Makefile.build to scripts/Makefile.build.tmp

Some build scripts including scripts/Makefile.build
will be imported from Linux Kernel in the next commit.
We need to adjust them for U-Boot in the following commits.

To make it easier for reviewers to track the modification,
this commit renames scripts/Makefile.build to
scripts/Makefile.build.tmp beforehand.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>

Showing 3 changed files with 128 additions and 128 deletions Inline Diff

scripts/Kbuild.include
1 #### 1 ####
2 # kbuild: Generic definitions 2 # kbuild: Generic definitions
3 3
4 # Convenient variables 4 # Convenient variables
5 comma := , 5 comma := ,
6 squote := ' 6 squote := '
7 empty := 7 empty :=
8 space := $(empty) $(empty) 8 space := $(empty) $(empty)
9 9
10 ### 10 ###
11 # Name of target with a '.' as filename prefix. foo/bar.o => foo/.bar.o 11 # Name of target with a '.' as filename prefix. foo/bar.o => foo/.bar.o
12 dot-target = $(dir $@).$(notdir $@) 12 dot-target = $(dir $@).$(notdir $@)
13 13
14 ### 14 ###
15 # The temporary file to save gcc -MD generated dependencies must not 15 # The temporary file to save gcc -MD generated dependencies must not
16 # contain a comma 16 # contain a comma
17 depfile = $(subst $(comma),_,$(dot-target).d) 17 depfile = $(subst $(comma),_,$(dot-target).d)
18 18
19 ### 19 ###
20 # filename of target with directory and extension stripped 20 # filename of target with directory and extension stripped
21 basetarget = $(basename $(notdir $@)) 21 basetarget = $(basename $(notdir $@))
22 22
23 ### 23 ###
24 # filename of first prerequisite with directory and extension stripped 24 # filename of first prerequisite with directory and extension stripped
25 baseprereq = $(basename $(notdir $<)) 25 baseprereq = $(basename $(notdir $<))
26 26
27 ### 27 ###
28 # Escape single quote for use in echo statements 28 # Escape single quote for use in echo statements
29 escsq = $(subst $(squote),'\$(squote)',$1) 29 escsq = $(subst $(squote),'\$(squote)',$1)
30 30
31 ### 31 ###
32 # Easy method for doing a status message 32 # Easy method for doing a status message
33 kecho := : 33 kecho := :
34 quiet_kecho := echo 34 quiet_kecho := echo
35 silent_kecho := : 35 silent_kecho := :
36 kecho := $($(quiet)kecho) 36 kecho := $($(quiet)kecho)
37 37
38 ### 38 ###
39 # filechk is used to check if the content of a generated file is updated. 39 # filechk is used to check if the content of a generated file is updated.
40 # Sample usage: 40 # Sample usage:
41 # define filechk_sample 41 # define filechk_sample
42 # echo $KERNELRELEASE 42 # echo $KERNELRELEASE
43 # endef 43 # endef
44 # version.h : Makefile 44 # version.h : Makefile
45 # $(call filechk,sample) 45 # $(call filechk,sample)
46 # The rule defined shall write to stdout the content of the new file. 46 # The rule defined shall write to stdout the content of the new file.
47 # The existing file will be compared with the new one. 47 # The existing file will be compared with the new one.
48 # - If no file exist it is created 48 # - If no file exist it is created
49 # - If the content differ the new file is used 49 # - If the content differ the new file is used
50 # - If they are equal no change, and no timestamp update 50 # - If they are equal no change, and no timestamp update
51 # - stdin is piped in from the first prerequisite ($<) so one has 51 # - stdin is piped in from the first prerequisite ($<) so one has
52 # to specify a valid file as first prerequisite (often the kbuild file) 52 # to specify a valid file as first prerequisite (often the kbuild file)
53 define filechk 53 define filechk
54 $(Q)set -e; \ 54 $(Q)set -e; \
55 $(kecho) ' CHK $@'; \ 55 $(kecho) ' CHK $@'; \
56 mkdir -p $(dir $@); \ 56 mkdir -p $(dir $@); \
57 $(filechk_$(1)) < $< > $@.tmp; \ 57 $(filechk_$(1)) < $< > $@.tmp; \
58 if [ -r $@ ] && cmp -s $@ $@.tmp; then \ 58 if [ -r $@ ] && cmp -s $@ $@.tmp; then \
59 rm -f $@.tmp; \ 59 rm -f $@.tmp; \
60 else \ 60 else \
61 $(kecho) ' UPD $@'; \ 61 $(kecho) ' UPD $@'; \
62 mv -f $@.tmp $@; \ 62 mv -f $@.tmp $@; \
63 fi 63 fi
64 endef 64 endef
65 65
66 ###### 66 ######
67 # gcc support functions 67 # gcc support functions
68 # See documentation in Documentation/kbuild/makefiles.txt 68 # See documentation in Documentation/kbuild/makefiles.txt
69 69
70 # cc-cross-prefix 70 # cc-cross-prefix
71 # Usage: CROSS_COMPILE := $(call cc-cross-prefix, m68k-linux-gnu- m68k-linux-) 71 # Usage: CROSS_COMPILE := $(call cc-cross-prefix, m68k-linux-gnu- m68k-linux-)
72 # Return first prefix where a prefix$(CC) is found in PATH. 72 # Return first prefix where a prefix$(CC) is found in PATH.
73 # If no $(CC) found in PATH with listed prefixes return nothing 73 # If no $(CC) found in PATH with listed prefixes return nothing
74 cc-cross-prefix = \ 74 cc-cross-prefix = \
75 $(word 1, $(foreach c,$(1), \ 75 $(word 1, $(foreach c,$(1), \
76 $(shell set -e; \ 76 $(shell set -e; \
77 if (which $(strip $(c))$(CC)) > /dev/null 2>&1 ; then \ 77 if (which $(strip $(c))$(CC)) > /dev/null 2>&1 ; then \
78 echo $(c); \ 78 echo $(c); \
79 fi))) 79 fi)))
80 80
81 # output directory for tests below 81 # output directory for tests below
82 TMPOUT := $(if $(KBUILD_EXTMOD),$(firstword $(KBUILD_EXTMOD))/) 82 TMPOUT := $(if $(KBUILD_EXTMOD),$(firstword $(KBUILD_EXTMOD))/)
83 83
84 # try-run 84 # try-run
85 # Usage: option = $(call try-run, $(CC)...-o "$$TMP",option-ok,otherwise) 85 # Usage: option = $(call try-run, $(CC)...-o "$$TMP",option-ok,otherwise)
86 # Exit code chooses option. "$$TMP" is can be used as temporary file and 86 # Exit code chooses option. "$$TMP" is can be used as temporary file and
87 # is automatically cleaned up. 87 # is automatically cleaned up.
88 try-run = $(shell set -e; \ 88 try-run = $(shell set -e; \
89 TMP="$(TMPOUT).$$$$.tmp"; \ 89 TMP="$(TMPOUT).$$$$.tmp"; \
90 TMPO="$(TMPOUT).$$$$.o"; \ 90 TMPO="$(TMPOUT).$$$$.o"; \
91 if ($(1)) >/dev/null 2>&1; \ 91 if ($(1)) >/dev/null 2>&1; \
92 then echo "$(2)"; \ 92 then echo "$(2)"; \
93 else echo "$(3)"; \ 93 else echo "$(3)"; \
94 fi; \ 94 fi; \
95 rm -f "$$TMP" "$$TMPO") 95 rm -f "$$TMP" "$$TMPO")
96 96
97 # as-option 97 # as-option
98 # Usage: cflags-y += $(call as-option,-Wa$(comma)-isa=foo,) 98 # Usage: cflags-y += $(call as-option,-Wa$(comma)-isa=foo,)
99 99
100 as-option = $(call try-run,\ 100 as-option = $(call try-run,\
101 $(CC) $(KBUILD_CFLAGS) $(1) -c -x assembler /dev/null -o "$$TMP",$(1),$(2)) 101 $(CC) $(KBUILD_CFLAGS) $(1) -c -x assembler /dev/null -o "$$TMP",$(1),$(2))
102 102
103 # as-instr 103 # as-instr
104 # Usage: cflags-y += $(call as-instr,instr,option1,option2) 104 # Usage: cflags-y += $(call as-instr,instr,option1,option2)
105 105
106 as-instr = $(call try-run,\ 106 as-instr = $(call try-run,\
107 printf "%b\n" "$(1)" | $(CC) $(KBUILD_AFLAGS) -c -x assembler -o "$$TMP" -,$(2),$(3)) 107 printf "%b\n" "$(1)" | $(CC) $(KBUILD_AFLAGS) -c -x assembler -o "$$TMP" -,$(2),$(3))
108 108
109 # cc-option 109 # cc-option
110 # Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586) 110 # Usage: cflags-y += $(call cc-option,-march=winchip-c6,-march=i586)
111 111
112 cc-option = $(call try-run,\ 112 cc-option = $(call try-run,\
113 $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2)) 113 $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2))
114 114
115 # cc-option-yn 115 # cc-option-yn
116 # Usage: flag := $(call cc-option-yn,-march=winchip-c6) 116 # Usage: flag := $(call cc-option-yn,-march=winchip-c6)
117 cc-option-yn = $(call try-run,\ 117 cc-option-yn = $(call try-run,\
118 $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n) 118 $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",y,n)
119 119
120 # cc-option-align 120 # cc-option-align
121 # Prefix align with either -falign or -malign 121 # Prefix align with either -falign or -malign
122 cc-option-align = $(subst -functions=0,,\ 122 cc-option-align = $(subst -functions=0,,\
123 $(call cc-option,-falign-functions=0,-malign-functions=0)) 123 $(call cc-option,-falign-functions=0,-malign-functions=0))
124 124
125 # cc-disable-warning 125 # cc-disable-warning
126 # Usage: cflags-y += $(call cc-disable-warning,unused-but-set-variable) 126 # Usage: cflags-y += $(call cc-disable-warning,unused-but-set-variable)
127 cc-disable-warning = $(call try-run,\ 127 cc-disable-warning = $(call try-run,\
128 $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1))) 128 $(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1)))
129 129
130 # cc-version 130 # cc-version
131 # Usage gcc-ver := $(call cc-version) 131 # Usage gcc-ver := $(call cc-version)
132 cc-version = $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-version.sh $(CC)) 132 cc-version = $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-version.sh $(CC))
133 133
134 # cc-fullversion 134 # cc-fullversion
135 # Usage gcc-ver := $(call cc-fullversion) 135 # Usage gcc-ver := $(call cc-fullversion)
136 cc-fullversion = $(shell $(CONFIG_SHELL) \ 136 cc-fullversion = $(shell $(CONFIG_SHELL) \
137 $(srctree)/scripts/gcc-version.sh -p $(CC)) 137 $(srctree)/scripts/gcc-version.sh -p $(CC))
138 138
139 # cc-ifversion 139 # cc-ifversion
140 # Usage: EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1) 140 # Usage: EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1)
141 cc-ifversion = $(shell [ $(call cc-version, $(CC)) $(1) $(2) ] && echo $(3)) 141 cc-ifversion = $(shell [ $(call cc-version, $(CC)) $(1) $(2) ] && echo $(3))
142 142
143 # added for U-Boot 143 # added for U-Boot
144 binutils-version = $(shell $(CONFIG_SHELL) $(srctree)/scripts/binutils-version.sh $(AS)) 144 binutils-version = $(shell $(CONFIG_SHELL) $(srctree)/scripts/binutils-version.sh $(AS))
145 dtc-version = $(shell $(CONFIG_SHELL) $(srctree)/scripts/dtc-version.sh $(DTC)) 145 dtc-version = $(shell $(CONFIG_SHELL) $(srctree)/scripts/dtc-version.sh $(DTC))
146 146
147 # cc-ldoption 147 # cc-ldoption
148 # Usage: ldflags += $(call cc-ldoption, -Wl$(comma)--hash-style=both) 148 # Usage: ldflags += $(call cc-ldoption, -Wl$(comma)--hash-style=both)
149 cc-ldoption = $(call try-run,\ 149 cc-ldoption = $(call try-run,\
150 $(CC) $(1) -nostdlib -x c /dev/null -o "$$TMP",$(1),$(2)) 150 $(CC) $(1) -nostdlib -x c /dev/null -o "$$TMP",$(1),$(2))
151 151
152 # ld-option 152 # ld-option
153 # Usage: LDFLAGS += $(call ld-option, -X) 153 # Usage: LDFLAGS += $(call ld-option, -X)
154 ld-option = $(call try-run,\ 154 ld-option = $(call try-run,\
155 $(CC) -x c /dev/null -c -o "$$TMPO" ; $(LD) $(1) "$$TMPO" -o "$$TMP",$(1),$(2)) 155 $(CC) -x c /dev/null -c -o "$$TMPO" ; $(LD) $(1) "$$TMPO" -o "$$TMP",$(1),$(2))
156 156
157 # ar-option 157 # ar-option
158 # Usage: KBUILD_ARFLAGS := $(call ar-option,D) 158 # Usage: KBUILD_ARFLAGS := $(call ar-option,D)
159 # Important: no spaces around options 159 # Important: no spaces around options
160 ar-option = $(call try-run, $(AR) rc$(1) "$$TMP",$(1),$(2)) 160 ar-option = $(call try-run, $(AR) rc$(1) "$$TMP",$(1),$(2))
161 161
162 ###### 162 ######
163 163
164 ### 164 ###
165 # Shorthand for $(Q)$(MAKE) -f scripts/Makefile.build obj= 165 # Shorthand for $(Q)$(MAKE) -f scripts/Makefile.build obj=
166 # Usage: 166 # Usage:
167 # $(Q)$(MAKE) $(build)=dir 167 # $(Q)$(MAKE) $(build)=dir
168 build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj 168 build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build.tmp obj
169 169
170 ### 170 ###
171 # Shorthand for $(Q)$(MAKE) -f scripts/Makefile.modbuiltin obj= 171 # Shorthand for $(Q)$(MAKE) -f scripts/Makefile.modbuiltin obj=
172 # Usage: 172 # Usage:
173 # $(Q)$(MAKE) $(modbuiltin)=dir 173 # $(Q)$(MAKE) $(modbuiltin)=dir
174 modbuiltin := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.modbuiltin obj 174 modbuiltin := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.modbuiltin obj
175 175
176 # Prefix -I with $(srctree) if it is not an absolute path. 176 # Prefix -I with $(srctree) if it is not an absolute path.
177 # skip if -I has no parameter 177 # skip if -I has no parameter
178 addtree = $(if $(patsubst -I%,%,$(1)), \ 178 addtree = $(if $(patsubst -I%,%,$(1)), \
179 $(if $(filter-out -I/%,$(1)),$(patsubst -I%,-I$(srctree)/%,$(1))) $(1)) 179 $(if $(filter-out -I/%,$(1)),$(patsubst -I%,-I$(srctree)/%,$(1))) $(1))
180 180
181 # Find all -I options and call addtree 181 # Find all -I options and call addtree
182 flags = $(foreach o,$($(1)),$(if $(filter -I%,$(o)),$(call addtree,$(o)),$(o))) 182 flags = $(foreach o,$($(1)),$(if $(filter -I%,$(o)),$(call addtree,$(o)),$(o)))
183 183
184 # echo command. 184 # echo command.
185 # Short version is used, if $(quiet) equals `quiet_', otherwise full one. 185 # Short version is used, if $(quiet) equals `quiet_', otherwise full one.
186 echo-cmd = $(if $($(quiet)cmd_$(1)),\ 186 echo-cmd = $(if $($(quiet)cmd_$(1)),\
187 echo ' $(call escsq,$($(quiet)cmd_$(1)))$(echo-why)';) 187 echo ' $(call escsq,$($(quiet)cmd_$(1)))$(echo-why)';)
188 188
189 # printing commands 189 # printing commands
190 cmd = @$(echo-cmd) $(cmd_$(1)) 190 cmd = @$(echo-cmd) $(cmd_$(1))
191 191
192 # Add $(obj)/ for paths that are not absolute 192 # Add $(obj)/ for paths that are not absolute
193 objectify = $(foreach o,$(1),$(if $(filter /%,$(o)),$(o),$(obj)/$(o))) 193 objectify = $(foreach o,$(1),$(if $(filter /%,$(o)),$(o),$(obj)/$(o)))
194 194
195 ### 195 ###
196 # if_changed - execute command if any prerequisite is newer than 196 # if_changed - execute command if any prerequisite is newer than
197 # target, or command line has changed 197 # target, or command line has changed
198 # if_changed_dep - as if_changed, but uses fixdep to reveal dependencies 198 # if_changed_dep - as if_changed, but uses fixdep to reveal dependencies
199 # including used config symbols 199 # including used config symbols
200 # if_changed_rule - as if_changed but execute rule instead 200 # if_changed_rule - as if_changed but execute rule instead
201 # See Documentation/kbuild/makefiles.txt for more info 201 # See Documentation/kbuild/makefiles.txt for more info
202 202
203 ifneq ($(KBUILD_NOCMDDEP),1) 203 ifneq ($(KBUILD_NOCMDDEP),1)
204 # Check if both arguments has same arguments. Result is empty string if equal. 204 # Check if both arguments has same arguments. Result is empty string if equal.
205 # User may override this check using make KBUILD_NOCMDDEP=1 205 # User may override this check using make KBUILD_NOCMDDEP=1
206 arg-check = $(strip $(filter-out $(cmd_$(1)), $(cmd_$@)) \ 206 arg-check = $(strip $(filter-out $(cmd_$(1)), $(cmd_$@)) \
207 $(filter-out $(cmd_$@), $(cmd_$(1))) ) 207 $(filter-out $(cmd_$@), $(cmd_$(1))) )
208 else 208 else
209 arg-check = $(if $(strip $(cmd_$@)),,1) 209 arg-check = $(if $(strip $(cmd_$@)),,1)
210 endif 210 endif
211 211
212 # >'< substitution is for echo to work, 212 # >'< substitution is for echo to work,
213 # >$< substitution to preserve $ when reloading .cmd file 213 # >$< substitution to preserve $ when reloading .cmd file
214 # note: when using inline perl scripts [perl -e '...$$t=1;...'] 214 # note: when using inline perl scripts [perl -e '...$$t=1;...']
215 # in $(cmd_xxx) double $$ your perl vars 215 # in $(cmd_xxx) double $$ your perl vars
216 make-cmd = $(subst \\,\\\\,$(subst \#,\\\#,$(subst $$,$$$$,$(call escsq,$(cmd_$(1)))))) 216 make-cmd = $(subst \\,\\\\,$(subst \#,\\\#,$(subst $$,$$$$,$(call escsq,$(cmd_$(1))))))
217 217
218 # Find any prerequisites that is newer than target or that does not exist. 218 # Find any prerequisites that is newer than target or that does not exist.
219 # PHONY targets skipped in both cases. 219 # PHONY targets skipped in both cases.
220 any-prereq = $(filter-out $(PHONY),$?) $(filter-out $(PHONY) $(wildcard $^),$^) 220 any-prereq = $(filter-out $(PHONY),$?) $(filter-out $(PHONY) $(wildcard $^),$^)
221 221
222 # Execute command if command has changed or prerequisite(s) are updated. 222 # Execute command if command has changed or prerequisite(s) are updated.
223 # 223 #
224 if_changed = $(if $(strip $(any-prereq) $(arg-check)), \ 224 if_changed = $(if $(strip $(any-prereq) $(arg-check)), \
225 @set -e; \ 225 @set -e; \
226 $(echo-cmd) $(cmd_$(1)); \ 226 $(echo-cmd) $(cmd_$(1)); \
227 echo 'cmd_$@ := $(make-cmd)' > $(dot-target).cmd) 227 echo 'cmd_$@ := $(make-cmd)' > $(dot-target).cmd)
228 228
229 # Execute the command and also postprocess generated .d dependencies file. 229 # Execute the command and also postprocess generated .d dependencies file.
230 if_changed_dep = $(if $(strip $(any-prereq) $(arg-check) ), \ 230 if_changed_dep = $(if $(strip $(any-prereq) $(arg-check) ), \
231 @set -e; \ 231 @set -e; \
232 $(echo-cmd) $(cmd_$(1)); \ 232 $(echo-cmd) $(cmd_$(1)); \
233 scripts/basic/fixdep $(depfile) $@ '$(make-cmd)' > $(dot-target).tmp;\ 233 scripts/basic/fixdep $(depfile) $@ '$(make-cmd)' > $(dot-target).tmp;\
234 rm -f $(depfile); \ 234 rm -f $(depfile); \
235 mv -f $(dot-target).tmp $(dot-target).cmd) 235 mv -f $(dot-target).tmp $(dot-target).cmd)
236 236
237 # Usage: $(call if_changed_rule,foo) 237 # Usage: $(call if_changed_rule,foo)
238 # Will check if $(cmd_foo) or any of the prerequisites changed, 238 # Will check if $(cmd_foo) or any of the prerequisites changed,
239 # and if so will execute $(rule_foo). 239 # and if so will execute $(rule_foo).
240 if_changed_rule = $(if $(strip $(any-prereq) $(arg-check) ), \ 240 if_changed_rule = $(if $(strip $(any-prereq) $(arg-check) ), \
241 @set -e; \ 241 @set -e; \
242 $(rule_$(1))) 242 $(rule_$(1)))
243 243
244 ### 244 ###
245 # why - tell why a a target got build 245 # why - tell why a a target got build
246 # enabled by make V=2 246 # enabled by make V=2
247 # Output (listed in the order they are checked): 247 # Output (listed in the order they are checked):
248 # (1) - due to target is PHONY 248 # (1) - due to target is PHONY
249 # (2) - due to target missing 249 # (2) - due to target missing
250 # (3) - due to: file1.h file2.h 250 # (3) - due to: file1.h file2.h
251 # (4) - due to command line change 251 # (4) - due to command line change
252 # (5) - due to missing .cmd file 252 # (5) - due to missing .cmd file
253 # (6) - due to target not in $(targets) 253 # (6) - due to target not in $(targets)
254 # (1) PHONY targets are always build 254 # (1) PHONY targets are always build
255 # (2) No target, so we better build it 255 # (2) No target, so we better build it
256 # (3) Prerequisite is newer than target 256 # (3) Prerequisite is newer than target
257 # (4) The command line stored in the file named dir/.target.cmd 257 # (4) The command line stored in the file named dir/.target.cmd
258 # differed from actual command line. This happens when compiler 258 # differed from actual command line. This happens when compiler
259 # options changes 259 # options changes
260 # (5) No dir/.target.cmd file (used to store command line) 260 # (5) No dir/.target.cmd file (used to store command line)
261 # (6) No dir/.target.cmd file and target not listed in $(targets) 261 # (6) No dir/.target.cmd file and target not listed in $(targets)
262 # This is a good hint that there is a bug in the kbuild file 262 # This is a good hint that there is a bug in the kbuild file
263 ifeq ($(KBUILD_VERBOSE),2) 263 ifeq ($(KBUILD_VERBOSE),2)
264 why = \ 264 why = \
265 $(if $(filter $@, $(PHONY)),- due to target is PHONY, \ 265 $(if $(filter $@, $(PHONY)),- due to target is PHONY, \
266 $(if $(wildcard $@), \ 266 $(if $(wildcard $@), \
267 $(if $(strip $(any-prereq)),- due to: $(any-prereq), \ 267 $(if $(strip $(any-prereq)),- due to: $(any-prereq), \
268 $(if $(arg-check), \ 268 $(if $(arg-check), \
269 $(if $(cmd_$@),- due to command line change, \ 269 $(if $(cmd_$@),- due to command line change, \
270 $(if $(filter $@, $(targets)), \ 270 $(if $(filter $@, $(targets)), \
271 - due to missing .cmd file, \ 271 - due to missing .cmd file, \
272 - due to $(notdir $@) not in $$(targets) \ 272 - due to $(notdir $@) not in $$(targets) \
273 ) \ 273 ) \
274 ) \ 274 ) \
275 ) \ 275 ) \
276 ), \ 276 ), \
277 - due to target missing \ 277 - due to target missing \
278 ) \ 278 ) \
279 ) 279 )
280 280
281 echo-why = $(call escsq, $(strip $(why))) 281 echo-why = $(call escsq, $(strip $(why)))
282 endif 282 endif
283 283
scripts/Makefile.build
1 # our default target File was deleted
2 .PHONY: all
3 all:
4
5 ifeq ($(CONFIG_TPL_BUILD),y)
6 src := $(patsubst tpl/%,%,$(obj))
7 else
8 ifeq ($(CONFIG_SPL_BUILD),y)
9 src := $(patsubst spl/%,%,$(obj))
10 else
11 src := $(obj)
12 endif
13 endif
14
15 include $(srctree)/scripts/Kbuild.include
16 include $(srctree)/config.mk
17
18 # variable LIB is used in examples/standalone/Makefile
19 __LIB := $(obj)/built-in.o
20 LIBGCC = $(obj)/libgcc.o
21 SRCS :=
22 subdir-y :=
23 obj-dirs :=
24
25 kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))
26 include $(kbuild-dir)/Makefile
27
28 # Do not include host rules unless needed
29 ifneq ($(hostprogs-y)$(hostprogs-m),)
30 include $(SRCTREE)/scripts/Makefile.host.tmp
31 endif
32
33 # Going forward use the following
34 obj-y := $(sort $(obj-y))
35 extra-y := $(sort $(extra-y))
36 always := $(sort $(always))
37 lib-y := $(sort $(lib-y))
38
39 subdir-y += $(patsubst %/,%,$(filter %/, $(obj-y)))
40 obj-y := $(patsubst %/, %/built-in.o, $(obj-y))
41 subdir-obj-y := $(filter %/built-in.o, $(obj-y))
42 subdir-obj-y := $(addprefix $(obj)/,$(subdir-obj-y))
43
44 SRCS += $(obj-y:.o=.c) $(obj-y:.o=.S) $(lib-y:.o=.c) \
45 $(lib-y:.o=.S) $(extra-y:.o=.c) $(extra-y:.o=.S)
46
47 SRCS := $(addprefix $(if $(KBUILD_SRC),$(srctree)/$(src)/,$(src)/),$(SRCS))
48 SRCS := $(wildcard $(SRCS))
49
50 OBJS := $(addprefix $(obj)/,$(obj-y))
51
52 # $(obj-dirs) is a list of directories that contain object files
53
54 obj-dirs += $(dir $(OBJS))
55
56 _dummy := $(shell [ -d $(obj) ] || mkdir -p $(obj))
57
58 # Create directories for object files if directory does not exist
59 # Needed when obj-y := dir/file.o syntax is used
60 _dummy := $(foreach d,$(obj-dirs), $(shell [ -d $(d) ] || mkdir -p $(d)))
61
62 LGOBJS := $(addprefix $(obj)/,$(sort $(lib-y)))
63
64 all: $(__LIB) $(addprefix $(obj)/,$(extra-y) $(always)) $(subdir-y)
65
66 $(__LIB): $(obj)/.depend $(OBJS)
67 $(call cmd_link_o_target, $(OBJS))
68
69 ifneq ($(strip $(lib-y)),)
70 all: $(LIBGCC)
71
72 $(LIBGCC): $(obj)/.depend $(LGOBJS)
73 $(call cmd_link_o_target, $(LGOBJS))
74 endif
75
76 ifneq ($(subdir-obj-y),)
77 # Descending
78 $(subdir-obj-y): $(subdir-y)
79 endif
80
81 ifneq ($(subdir-y),)
82 $(subdir-y): FORCE
83 $(MAKE) $(build)=$(obj)/$@
84 endif
85
86 #########################################################################
87
88 # Allow boards to use custom optimize flags on a per dir/file basis
89 ALL_AFLAGS = $(AFLAGS) $(AFLAGS_$(BCURDIR)/$(@F)) $(AFLAGS_$(BCURDIR))
90 ALL_CFLAGS = $(CFLAGS) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR))
91 EXTRA_CPPFLAGS = $(CPPFLAGS_$(BCURDIR)/$(@F)) $(CPPFLAGS_$(BCURDIR))
92 ALL_CFLAGS += $(EXTRA_CPPFLAGS)
93
94 # The _DEP version uses the $< file target (for dependency generation)
95 # See rules.mk
96 EXTRA_CPPFLAGS_DEP = $(CPPFLAGS_$(BCURDIR)/$(addsuffix .o,$(basename $<))) \
97 $(CPPFLAGS_$(BCURDIR))
98 $(obj)/%.s: $(src)/%.S
99 $(CPP) $(ALL_AFLAGS) -o $@ $<
100 $(obj)/%.o: $(src)/%.S
101 $(CC) $(ALL_AFLAGS) -o $@ $< -c
102 $(obj)/%.o: $(src)/%.c
103 ifneq ($(CHECKSRC),0)
104 $(CHECK) $(CHECKFLAGS) $(ALL_CFLAGS) $<
105 endif
106 $(CC) $(ALL_CFLAGS) -o $@ $< -c
107 $(obj)/%.i: $(src)/%.c
108 $(CPP) $(ALL_CFLAGS) -o $@ $< -c
109 $(obj)/%.s: $(src)/%.c
110 $(CC) $(ALL_CFLAGS) -o $@ $< -c -S
111
112 # If the list of objects to link is empty, just create an empty built-in.o
113 cmd_link_o_target = $(if $(strip $1),\
114 $(LD) $(LDFLAGS) -r -o $@ $1,\
115 rm -f $@; $(AR) rcs $@ )
116
117 #########################################################################
118
119 # defines $(obj)/.depend target
120
121 include $(TOPDIR)/rules.mk
122
123 sinclude $(obj)/.depend
124
125 #########################################################################
126
127 .PHONY: FORCE
128 1 # our default target
scripts/Makefile.build.tmp
File was created 1 # our default target
2 .PHONY: all
3 all:
4
5 ifeq ($(CONFIG_TPL_BUILD),y)
6 src := $(patsubst tpl/%,%,$(obj))
7 else
8 ifeq ($(CONFIG_SPL_BUILD),y)
9 src := $(patsubst spl/%,%,$(obj))
10 else
11 src := $(obj)
12 endif
13 endif
14
15 include $(srctree)/scripts/Kbuild.include
16 include $(srctree)/config.mk
17
18 # variable LIB is used in examples/standalone/Makefile
19 __LIB := $(obj)/built-in.o
20 LIBGCC = $(obj)/libgcc.o
21 SRCS :=
22 subdir-y :=
23 obj-dirs :=
24
25 kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))
26 include $(kbuild-dir)/Makefile
27
28 # Do not include host rules unless needed
29 ifneq ($(hostprogs-y)$(hostprogs-m),)
30 include $(SRCTREE)/scripts/Makefile.host.tmp
31 endif
32
33 # Going forward use the following
34 obj-y := $(sort $(obj-y))
35 extra-y := $(sort $(extra-y))
36 always := $(sort $(always))
37 lib-y := $(sort $(lib-y))
38
39 subdir-y += $(patsubst %/,%,$(filter %/, $(obj-y)))
40 obj-y := $(patsubst %/, %/built-in.o, $(obj-y))
41 subdir-obj-y := $(filter %/built-in.o, $(obj-y))
42 subdir-obj-y := $(addprefix $(obj)/,$(subdir-obj-y))
43
44 SRCS += $(obj-y:.o=.c) $(obj-y:.o=.S) $(lib-y:.o=.c) \
45 $(lib-y:.o=.S) $(extra-y:.o=.c) $(extra-y:.o=.S)
46
47 SRCS := $(addprefix $(if $(KBUILD_SRC),$(srctree)/$(src)/,$(src)/),$(SRCS))
48 SRCS := $(wildcard $(SRCS))
49
50 OBJS := $(addprefix $(obj)/,$(obj-y))
51
52 # $(obj-dirs) is a list of directories that contain object files
53
54 obj-dirs += $(dir $(OBJS))
55
56 _dummy := $(shell [ -d $(obj) ] || mkdir -p $(obj))
57
58 # Create directories for object files if directory does not exist
59 # Needed when obj-y := dir/file.o syntax is used
60 _dummy := $(foreach d,$(obj-dirs), $(shell [ -d $(d) ] || mkdir -p $(d)))
61
62 LGOBJS := $(addprefix $(obj)/,$(sort $(lib-y)))
63
64 all: $(__LIB) $(addprefix $(obj)/,$(extra-y) $(always)) $(subdir-y)
65
66 $(__LIB): $(obj)/.depend $(OBJS)
67 $(call cmd_link_o_target, $(OBJS))
68
69 ifneq ($(strip $(lib-y)),)
70 all: $(LIBGCC)
71
72 $(LIBGCC): $(obj)/.depend $(LGOBJS)
73 $(call cmd_link_o_target, $(LGOBJS))
74 endif
75
76 ifneq ($(subdir-obj-y),)
77 # Descending
78 $(subdir-obj-y): $(subdir-y)
79 endif
80
81 ifneq ($(subdir-y),)
82 $(subdir-y): FORCE
83 $(MAKE) $(build)=$(obj)/$@
84 endif
85
86 #########################################################################
87
88 # Allow boards to use custom optimize flags on a per dir/file basis
89 ALL_AFLAGS = $(AFLAGS) $(AFLAGS_$(BCURDIR)/$(@F)) $(AFLAGS_$(BCURDIR))
90 ALL_CFLAGS = $(CFLAGS) $(CFLAGS_$(BCURDIR)/$(@F)) $(CFLAGS_$(BCURDIR))
91 EXTRA_CPPFLAGS = $(CPPFLAGS_$(BCURDIR)/$(@F)) $(CPPFLAGS_$(BCURDIR))
92 ALL_CFLAGS += $(EXTRA_CPPFLAGS)
93
94 # The _DEP version uses the $< file target (for dependency generation)
95 # See rules.mk
96 EXTRA_CPPFLAGS_DEP = $(CPPFLAGS_$(BCURDIR)/$(addsuffix .o,$(basename $<))) \
97 $(CPPFLAGS_$(BCURDIR))
98 $(obj)/%.s: $(src)/%.S
99 $(CPP) $(ALL_AFLAGS) -o $@ $<
100 $(obj)/%.o: $(src)/%.S
101 $(CC) $(ALL_AFLAGS) -o $@ $< -c
102 $(obj)/%.o: $(src)/%.c
103 ifneq ($(CHECKSRC),0)
104 $(CHECK) $(CHECKFLAGS) $(ALL_CFLAGS) $<
105 endif
106 $(CC) $(ALL_CFLAGS) -o $@ $< -c
107 $(obj)/%.i: $(src)/%.c
108 $(CPP) $(ALL_CFLAGS) -o $@ $< -c
109 $(obj)/%.s: $(src)/%.c
110 $(CC) $(ALL_CFLAGS) -o $@ $< -c -S
111
112 # If the list of objects to link is empty, just create an empty built-in.o
113 cmd_link_o_target = $(if $(strip $1),\
114 $(LD) $(LDFLAGS) -r -o $@ $1,\
115 rm -f $@; $(AR) rcs $@ )
116
117 #########################################################################
118
119 # defines $(obj)/.depend target
120
121 include $(TOPDIR)/rules.mk
122
123 sinclude $(obj)/.depend
124
125 #########################################################################
126
127 .PHONY: FORCE
128