Merge tag 'kbuild-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
Pull Kbuild updates from Masahiro Yamada:
"One of the most remarkable improvements in this cycle is, Kbuild is
now able to cache the result of shell commands. Some variables are
expensive to compute, for example, $(call cc-option,...) invokes the
compiler. It is not efficient to redo this computation every time,
even when we are not actually building anything. Kbuild creates a
hidden file ".cache.mk" that contains invoked shell commands and their
results. The speed-up should be noticeable.
Summary:
- Fix arch build issues (hexagon, sh)
- Clean up various Makefiles and scripts
- Fix wrong usage of {CFLAGS,LDFLAGS}_MODULE in arch Makefiles
- Cache variables that are expensive to compute
- Improve cc-ldopton and ld-option for Clang
- Optimize output directory creation"
* tag 'kbuild-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (30 commits)
kbuild: move coccicheck help from scripts/Makefile.help to top Makefile
sh: decompressor: add shipped files to .gitignore
frv: .gitignore: ignore vmlinux.lds
selinux: remove unnecessary assignment to subdir-
kbuild: specify FORCE in Makefile.headersinst as .PHONY target
kbuild: remove redundant mkdir from ./Kbuild
kbuild: optimize object directory creation for incremental build
kbuild: create object directories simpler and faster
kbuild: filter-out PHONY targets from "targets"
kbuild: remove redundant $(wildcard ...) for cmd_files calculation
kbuild: create directory for make cache only when necessary
sh: select KBUILD_DEFCONFIG depending on ARCH
kbuild: fix linker feature test macros when cross compiling with Clang
kbuild: shrink .cache.mk when it exceeds 1000 lines
kbuild: do not call cc-option before KBUILD_CFLAGS initialization
kbuild: Cache a few more calls to the compiler
kbuild: Add a cache for generated variables
kbuild: add forward declaration of default target to Makefile.asm-generic
kbuild: remove KBUILD_SUBDIR_ASFLAGS and KBUILD_SUBDIR_CCFLAGS
hexagon/kbuild: replace CFLAGS_MODULE with KBUILD_CFLAGS_MODULE
...
This commit is contained in:
@@ -188,10 +188,8 @@ sortextable()
|
||||
# Delete output files in case of error
|
||||
cleanup()
|
||||
{
|
||||
rm -f .old_version
|
||||
rm -f .tmp_System.map
|
||||
rm -f .tmp_kallsyms*
|
||||
rm -f .tmp_version
|
||||
rm -f .tmp_vmlinux*
|
||||
rm -f built-in.o
|
||||
rm -f System.map
|
||||
@@ -239,12 +237,12 @@ esac
|
||||
|
||||
# Update version
|
||||
info GEN .version
|
||||
if [ ! -r .version ]; then
|
||||
rm -f .version;
|
||||
echo 1 >.version;
|
||||
if [ -r .version ]; then
|
||||
VERSION=$(expr 0$(cat .version) + 1)
|
||||
echo $VERSION > .version
|
||||
else
|
||||
mv .version .old_version;
|
||||
expr 0$(cat .old_version) + 1 >.version;
|
||||
rm -f .version
|
||||
echo 1 > .version
|
||||
fi;
|
||||
|
||||
# final build of init/
|
||||
@@ -332,6 +330,3 @@ if [ -n "${CONFIG_KALLSYMS}" ]; then
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# We made a new kernel - delete old version file
|
||||
rm -f .old_version
|
||||
|
||||
Reference in New Issue
Block a user