Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild

Pull kbuild fixes from Michal Marek:
"Three more fixes for the relative build dir feature:

- Shut up make -s again
- Fix for rpm/deb/tar-pkg with O=<subdir>
- Fix for CONFIG_EXTRA_FIRMWARE"

* 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
firmware: Create directories for external firmware
kbuild: Fix packaging targets with relative $(srctree)
kbuild: Do not print the build directory with make -s

+57 -48
+51 -48
Makefile
··· 41 41 # descending is started. They are now explicitly listed as the 42 42 # prepare rule. 43 43 44 + # Beautify output 45 + # --------------------------------------------------------------------------- 46 + # 47 + # Normally, we echo the whole command before executing it. By making 48 + # that echo $($(quiet)$(cmd)), we now have the possibility to set 49 + # $(quiet) to choose other forms of output instead, e.g. 50 + # 51 + # quiet_cmd_cc_o_c = Compiling $(RELDIR)/$@ 52 + # cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $< 53 + # 54 + # If $(quiet) is empty, the whole command will be printed. 55 + # If it is set to "quiet_", only the short version will be printed. 56 + # If it is set to "silent_", nothing will be printed at all, since 57 + # the variable $(silent_cmd_cc_o_c) doesn't exist. 58 + # 59 + # A simple variant is to prefix commands with $(Q) - that's useful 60 + # for commands that shall be hidden in non-verbose mode. 61 + # 62 + # $(Q)ln $@ :< 63 + # 64 + # If KBUILD_VERBOSE equals 0 then the above command will be hidden. 65 + # If KBUILD_VERBOSE equals 1 then the above command is displayed. 66 + # 44 67 # To put more focus on warnings, be less verbose as default 45 68 # Use 'make V=1' to see the full commands 46 69 ··· 73 50 ifndef KBUILD_VERBOSE 74 51 KBUILD_VERBOSE = 0 75 52 endif 53 + 54 + ifeq ($(KBUILD_VERBOSE),1) 55 + quiet = 56 + Q = 57 + else 58 + quiet=quiet_ 59 + Q = @ 60 + endif 61 + 62 + # If the user is running make -s (silent mode), suppress echoing of 63 + # commands 64 + 65 + ifneq ($(filter 4.%,$(MAKE_VERSION)),) # make-4 66 + ifneq ($(filter %s ,$(firstword x$(MAKEFLAGS))),) 67 + quiet=silent_ 68 + endif 69 + else # make-3.8x 70 + ifneq ($(filter s% -s%,$(MAKEFLAGS)),) 71 + quiet=silent_ 72 + endif 73 + endif 74 + 75 + export quiet Q KBUILD_VERBOSE 76 76 77 77 # Call a source code checker (by default, "sparse") as part of the 78 78 # C compilation. ··· 174 128 175 129 # Fake the "Entering directory" message once, so that IDEs/editors are 176 130 # able to understand relative filenames. 131 + echodir := @echo 132 + quiet_echodir := @echo 133 + silent_echodir := @: 177 134 sub-make: FORCE 178 - @echo "make[1]: Entering directory \`$(KBUILD_OUTPUT)'" 135 + $($(quiet)echodir) "make[1]: Entering directory \`$(KBUILD_OUTPUT)'" 179 136 $(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUTPUT) \ 180 137 KBUILD_SRC=$(CURDIR) \ 181 138 KBUILD_EXTMOD="$(KBUILD_EXTMOD)" -f $(CURDIR)/Makefile \ ··· 340 291 341 292 export KBUILD_MODULES KBUILD_BUILTIN 342 293 export KBUILD_CHECKSRC KBUILD_SRC KBUILD_EXTMOD 343 - 344 - # Beautify output 345 - # --------------------------------------------------------------------------- 346 - # 347 - # Normally, we echo the whole command before executing it. By making 348 - # that echo $($(quiet)$(cmd)), we now have the possibility to set 349 - # $(quiet) to choose other forms of output instead, e.g. 350 - # 351 - # quiet_cmd_cc_o_c = Compiling $(RELDIR)/$@ 352 - # cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $< 353 - # 354 - # If $(quiet) is empty, the whole command will be printed. 355 - # If it is set to "quiet_", only the short version will be printed. 356 - # If it is set to "silent_", nothing will be printed at all, since 357 - # the variable $(silent_cmd_cc_o_c) doesn't exist. 358 - # 359 - # A simple variant is to prefix commands with $(Q) - that's useful 360 - # for commands that shall be hidden in non-verbose mode. 361 - # 362 - # $(Q)ln $@ :< 363 - # 364 - # If KBUILD_VERBOSE equals 0 then the above command will be hidden. 365 - # If KBUILD_VERBOSE equals 1 then the above command is displayed. 366 - 367 - ifeq ($(KBUILD_VERBOSE),1) 368 - quiet = 369 - Q = 370 - else 371 - quiet=quiet_ 372 - Q = @ 373 - endif 374 - 375 - # If the user is running make -s (silent mode), suppress echoing of 376 - # commands 377 - 378 - ifneq ($(filter 4.%,$(MAKE_VERSION)),) # make-4 379 - ifneq ($(filter %s ,$(firstword x$(MAKEFLAGS))),) 380 - quiet=silent_ 381 - endif 382 - else # make-3.8x 383 - ifneq ($(filter s% -s%,$(MAKEFLAGS)),) 384 - quiet=silent_ 385 - endif 386 - endif 387 - 388 - export quiet Q KBUILD_VERBOSE 389 294 390 295 ifneq ($(CC),) 391 296 ifeq ($(shell $(CC) -v 2>&1 | grep -c "clang version"), 1) ··· 1176 1173 # Packaging of the kernel to various formats 1177 1174 # --------------------------------------------------------------------------- 1178 1175 # rpm target kept for backward compatibility 1179 - package-dir := $(srctree)/scripts/package 1176 + package-dir := scripts/package 1180 1177 1181 1178 %src-pkg: FORCE 1182 1179 $(Q)$(MAKE) $(build)=$(package-dir) $@
+6
firmware/Makefile
··· 219 219 obj-y += $(patsubst %,%.gen.o, $(fw-external-y)) 220 220 obj-$(CONFIG_FIRMWARE_IN_KERNEL) += $(patsubst %,%.gen.o, $(fw-shipped-y)) 221 221 222 + ifeq ($(KBUILD_SRC),) 223 + # Makefile.build only creates subdirectories for O= builds, but external 224 + # firmware might live outside the kernel source tree 225 + _dummy := $(foreach d,$(addprefix $(obj)/,$(dir $(fw-external-y))), $(shell [ -d $(d) ] || mkdir -p $(d))) 226 + endif 227 + 222 228 # Remove .S files and binaries created from ihex 223 229 # (during 'make clean' .config isn't included so they're all in $(fw-shipped-)) 224 230 targets := $(fw-shipped-) $(patsubst $(obj)/%,%, \