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
This commit is contained in:
commit
fe5aa8a65b
99
Makefile
99
Makefile
|
@ -41,6 +41,29 @@ unexport GREP_OPTIONS
|
||||||
# descending is started. They are now explicitly listed as the
|
# descending is started. They are now explicitly listed as the
|
||||||
# prepare rule.
|
# prepare rule.
|
||||||
|
|
||||||
|
# Beautify output
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Normally, we echo the whole command before executing it. By making
|
||||||
|
# that echo $($(quiet)$(cmd)), we now have the possibility to set
|
||||||
|
# $(quiet) to choose other forms of output instead, e.g.
|
||||||
|
#
|
||||||
|
# quiet_cmd_cc_o_c = Compiling $(RELDIR)/$@
|
||||||
|
# cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $<
|
||||||
|
#
|
||||||
|
# If $(quiet) is empty, the whole command will be printed.
|
||||||
|
# If it is set to "quiet_", only the short version will be printed.
|
||||||
|
# If it is set to "silent_", nothing will be printed at all, since
|
||||||
|
# the variable $(silent_cmd_cc_o_c) doesn't exist.
|
||||||
|
#
|
||||||
|
# A simple variant is to prefix commands with $(Q) - that's useful
|
||||||
|
# for commands that shall be hidden in non-verbose mode.
|
||||||
|
#
|
||||||
|
# $(Q)ln $@ :<
|
||||||
|
#
|
||||||
|
# If KBUILD_VERBOSE equals 0 then the above command will be hidden.
|
||||||
|
# If KBUILD_VERBOSE equals 1 then the above command is displayed.
|
||||||
|
#
|
||||||
# To put more focus on warnings, be less verbose as default
|
# To put more focus on warnings, be less verbose as default
|
||||||
# Use 'make V=1' to see the full commands
|
# Use 'make V=1' to see the full commands
|
||||||
|
|
||||||
|
@ -51,6 +74,29 @@ ifndef KBUILD_VERBOSE
|
||||||
KBUILD_VERBOSE = 0
|
KBUILD_VERBOSE = 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(KBUILD_VERBOSE),1)
|
||||||
|
quiet =
|
||||||
|
Q =
|
||||||
|
else
|
||||||
|
quiet=quiet_
|
||||||
|
Q = @
|
||||||
|
endif
|
||||||
|
|
||||||
|
# If the user is running make -s (silent mode), suppress echoing of
|
||||||
|
# commands
|
||||||
|
|
||||||
|
ifneq ($(filter 4.%,$(MAKE_VERSION)),) # make-4
|
||||||
|
ifneq ($(filter %s ,$(firstword x$(MAKEFLAGS))),)
|
||||||
|
quiet=silent_
|
||||||
|
endif
|
||||||
|
else # make-3.8x
|
||||||
|
ifneq ($(filter s% -s%,$(MAKEFLAGS)),)
|
||||||
|
quiet=silent_
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
export quiet Q KBUILD_VERBOSE
|
||||||
|
|
||||||
# Call a source code checker (by default, "sparse") as part of the
|
# Call a source code checker (by default, "sparse") as part of the
|
||||||
# C compilation.
|
# C compilation.
|
||||||
#
|
#
|
||||||
|
@ -128,8 +174,11 @@ $(filter-out _all sub-make $(CURDIR)/Makefile, $(MAKECMDGOALS)) _all: sub-make
|
||||||
|
|
||||||
# Fake the "Entering directory" message once, so that IDEs/editors are
|
# Fake the "Entering directory" message once, so that IDEs/editors are
|
||||||
# able to understand relative filenames.
|
# able to understand relative filenames.
|
||||||
|
echodir := @echo
|
||||||
|
quiet_echodir := @echo
|
||||||
|
silent_echodir := @:
|
||||||
sub-make: FORCE
|
sub-make: FORCE
|
||||||
@echo "make[1]: Entering directory \`$(KBUILD_OUTPUT)'"
|
$($(quiet)echodir) "make[1]: Entering directory \`$(KBUILD_OUTPUT)'"
|
||||||
$(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUTPUT) \
|
$(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUTPUT) \
|
||||||
KBUILD_SRC=$(CURDIR) \
|
KBUILD_SRC=$(CURDIR) \
|
||||||
KBUILD_EXTMOD="$(KBUILD_EXTMOD)" -f $(CURDIR)/Makefile \
|
KBUILD_EXTMOD="$(KBUILD_EXTMOD)" -f $(CURDIR)/Makefile \
|
||||||
|
@ -292,52 +341,6 @@ endif
|
||||||
export KBUILD_MODULES KBUILD_BUILTIN
|
export KBUILD_MODULES KBUILD_BUILTIN
|
||||||
export KBUILD_CHECKSRC KBUILD_SRC KBUILD_EXTMOD
|
export KBUILD_CHECKSRC KBUILD_SRC KBUILD_EXTMOD
|
||||||
|
|
||||||
# Beautify output
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
#
|
|
||||||
# Normally, we echo the whole command before executing it. By making
|
|
||||||
# that echo $($(quiet)$(cmd)), we now have the possibility to set
|
|
||||||
# $(quiet) to choose other forms of output instead, e.g.
|
|
||||||
#
|
|
||||||
# quiet_cmd_cc_o_c = Compiling $(RELDIR)/$@
|
|
||||||
# cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $<
|
|
||||||
#
|
|
||||||
# If $(quiet) is empty, the whole command will be printed.
|
|
||||||
# If it is set to "quiet_", only the short version will be printed.
|
|
||||||
# If it is set to "silent_", nothing will be printed at all, since
|
|
||||||
# the variable $(silent_cmd_cc_o_c) doesn't exist.
|
|
||||||
#
|
|
||||||
# A simple variant is to prefix commands with $(Q) - that's useful
|
|
||||||
# for commands that shall be hidden in non-verbose mode.
|
|
||||||
#
|
|
||||||
# $(Q)ln $@ :<
|
|
||||||
#
|
|
||||||
# If KBUILD_VERBOSE equals 0 then the above command will be hidden.
|
|
||||||
# If KBUILD_VERBOSE equals 1 then the above command is displayed.
|
|
||||||
|
|
||||||
ifeq ($(KBUILD_VERBOSE),1)
|
|
||||||
quiet =
|
|
||||||
Q =
|
|
||||||
else
|
|
||||||
quiet=quiet_
|
|
||||||
Q = @
|
|
||||||
endif
|
|
||||||
|
|
||||||
# If the user is running make -s (silent mode), suppress echoing of
|
|
||||||
# commands
|
|
||||||
|
|
||||||
ifneq ($(filter 4.%,$(MAKE_VERSION)),) # make-4
|
|
||||||
ifneq ($(filter %s ,$(firstword x$(MAKEFLAGS))),)
|
|
||||||
quiet=silent_
|
|
||||||
endif
|
|
||||||
else # make-3.8x
|
|
||||||
ifneq ($(filter s% -s%,$(MAKEFLAGS)),)
|
|
||||||
quiet=silent_
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
export quiet Q KBUILD_VERBOSE
|
|
||||||
|
|
||||||
ifneq ($(CC),)
|
ifneq ($(CC),)
|
||||||
ifeq ($(shell $(CC) -v 2>&1 | grep -c "clang version"), 1)
|
ifeq ($(shell $(CC) -v 2>&1 | grep -c "clang version"), 1)
|
||||||
COMPILER := clang
|
COMPILER := clang
|
||||||
|
@ -1173,7 +1176,7 @@ distclean: mrproper
|
||||||
# Packaging of the kernel to various formats
|
# Packaging of the kernel to various formats
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
# rpm target kept for backward compatibility
|
# rpm target kept for backward compatibility
|
||||||
package-dir := $(srctree)/scripts/package
|
package-dir := scripts/package
|
||||||
|
|
||||||
%src-pkg: FORCE
|
%src-pkg: FORCE
|
||||||
$(Q)$(MAKE) $(build)=$(package-dir) $@
|
$(Q)$(MAKE) $(build)=$(package-dir) $@
|
||||||
|
|
|
@ -219,6 +219,12 @@ $(obj)/%.fw: $(obj)/%.H16 $(ihex2fw_dep)
|
||||||
obj-y += $(patsubst %,%.gen.o, $(fw-external-y))
|
obj-y += $(patsubst %,%.gen.o, $(fw-external-y))
|
||||||
obj-$(CONFIG_FIRMWARE_IN_KERNEL) += $(patsubst %,%.gen.o, $(fw-shipped-y))
|
obj-$(CONFIG_FIRMWARE_IN_KERNEL) += $(patsubst %,%.gen.o, $(fw-shipped-y))
|
||||||
|
|
||||||
|
ifeq ($(KBUILD_SRC),)
|
||||||
|
# Makefile.build only creates subdirectories for O= builds, but external
|
||||||
|
# firmware might live outside the kernel source tree
|
||||||
|
_dummy := $(foreach d,$(addprefix $(obj)/,$(dir $(fw-external-y))), $(shell [ -d $(d) ] || mkdir -p $(d)))
|
||||||
|
endif
|
||||||
|
|
||||||
# Remove .S files and binaries created from ihex
|
# Remove .S files and binaries created from ihex
|
||||||
# (during 'make clean' .config isn't included so they're all in $(fw-shipped-))
|
# (during 'make clean' .config isn't included so they're all in $(fw-shipped-))
|
||||||
targets := $(fw-shipped-) $(patsubst $(obj)/%,%, \
|
targets := $(fw-shipped-) $(patsubst $(obj)/%,%, \
|
||||||
|
|
Loading…
Reference in New Issue