aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile31
-rw-r--r--init/Makefile9
2 files changed, 22 insertions, 18 deletions
diff --git a/Makefile b/Makefile
index 4a4720387936..97155a8fd73c 100644
--- a/Makefile
+++ b/Makefile
@@ -368,10 +368,14 @@ endif
368# Detect when mixed targets is specified, and make a second invocation 368# Detect when mixed targets is specified, and make a second invocation
369# of make so .config is not included in this case either (for *config). 369# of make so .config is not included in this case either (for *config).
370 370
371no-dot-config-targets := clean mrproper distclean \ 371PHONY += generated_headers
372
373generated_headers: include/linux/version.h include/linux/compile.h \
374 include/linux/utsrelease.h
375
376no-dot-config-targets := generated_headers clean mrproper distclean \
372 cscope TAGS tags help %docs check% \ 377 cscope TAGS tags help %docs check% \
373 include/linux/version.h headers_% \ 378 headers_% kernelrelease kernelversion
374 kernelrelease kernelversion
375 379
376config-targets := 0 380config-targets := 0
377mixed-targets := 0 381mixed-targets := 0
@@ -734,6 +738,16 @@ debug_kallsyms: .tmp_map$(last_kallsyms)
734 738
735endif # ifdef CONFIG_KALLSYMS 739endif # ifdef CONFIG_KALLSYMS
736 740
741# compile.h changes depending on hostname, generation number, etc,
742# so we regenerate it always.
743# mkcompile_h will make sure to only update the
744# actual file if its content has changed.
745
746include/linux/compile.h: FORCE
747 @echo ' CHK $@'
748 $(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkcompile_h $@ \
749 "$(UTS_MACHINE)" "$(CONFIG_SMP)" "$(CONFIG_PREEMPT)" "$(CC) $(CFLAGS)"
750
737# vmlinux image - including updated kernel symbols 751# vmlinux image - including updated kernel symbols
738vmlinux: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) $(kallsyms.o) FORCE 752vmlinux: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) $(kallsyms.o) FORCE
739ifdef CONFIG_HEADERS_CHECK 753ifdef CONFIG_HEADERS_CHECK
@@ -852,8 +866,8 @@ endif
852# prepare2 creates a makefile if using a separate output directory 866# prepare2 creates a makefile if using a separate output directory
853prepare2: prepare3 outputmakefile 867prepare2: prepare3 outputmakefile
854 868
855prepare1: prepare2 include/linux/version.h include/linux/utsrelease.h \ 869prepare1: prepare2 generated_headers include/asm include/config/auto.conf
856 include/asm include/config/auto.conf 870
857ifneq ($(KBUILD_MODULES),) 871ifneq ($(KBUILD_MODULES),)
858 $(Q)mkdir -p $(MODVERDIR) 872 $(Q)mkdir -p $(MODVERDIR)
859 $(Q)rm -f $(MODVERDIR)/* 873 $(Q)rm -f $(MODVERDIR)/*
@@ -922,14 +936,14 @@ export INSTALL_HDR_PATH
922HDRARCHES=$(filter-out generic,$(patsubst $(srctree)/include/asm-%/Kbuild,%,$(wildcard $(srctree)/include/asm-*/Kbuild))) 936HDRARCHES=$(filter-out generic,$(patsubst $(srctree)/include/asm-%/Kbuild,%,$(wildcard $(srctree)/include/asm-*/Kbuild)))
923 937
924PHONY += headers_install_all 938PHONY += headers_install_all
925headers_install_all: include/linux/version.h scripts_basic FORCE 939headers_install_all: generated_headers scripts_basic FORCE
926 $(Q)$(MAKE) $(build)=scripts scripts/unifdef 940 $(Q)$(MAKE) $(build)=scripts scripts/unifdef
927 $(Q)for arch in $(HDRARCHES); do \ 941 $(Q)for arch in $(HDRARCHES); do \
928 $(MAKE) ARCH=$$arch -f $(srctree)/scripts/Makefile.headersinst obj=include BIASMDIR=-bi-$$arch ;\ 942 $(MAKE) ARCH=$$arch -f $(srctree)/scripts/Makefile.headersinst obj=include BIASMDIR=-bi-$$arch ;\
929 done 943 done
930 944
931PHONY += headers_install 945PHONY += headers_install
932headers_install: include/linux/version.h scripts_basic FORCE 946headers_install: generated_headers scripts_basic FORCE
933 @if [ ! -r $(srctree)/include/asm-$(ARCH)/Kbuild ]; then \ 947 @if [ ! -r $(srctree)/include/asm-$(ARCH)/Kbuild ]; then \
934 echo '*** Error: Headers not exportable for this architecture ($(ARCH))'; \ 948 echo '*** Error: Headers not exportable for this architecture ($(ARCH))'; \
935 exit 1 ; fi 949 exit 1 ; fi
@@ -1026,8 +1040,7 @@ CLEAN_FILES += vmlinux System.map \
1026# Directories & files removed with 'make mrproper' 1040# Directories & files removed with 'make mrproper'
1027MRPROPER_DIRS += include/config include2 usr/include 1041MRPROPER_DIRS += include/config include2 usr/include
1028MRPROPER_FILES += .config .config.old include/asm .version .old_version \ 1042MRPROPER_FILES += .config .config.old include/asm .version .old_version \
1029 include/linux/autoconf.h include/linux/version.h \ 1043 include/linux/autoconf.h generated-headers \
1030 include/linux/utsrelease.h \
1031 Module.symvers tags TAGS cscope* 1044 Module.symvers tags TAGS cscope*
1032 1045
1033# clean - Delete most, but leave enough to build external modules 1046# clean - Delete most, but leave enough to build external modules
diff --git a/init/Makefile b/init/Makefile
index d6c764d0eabb..9cd871ce5784 100644
--- a/init/Makefile
+++ b/init/Makefile
@@ -18,12 +18,3 @@ clean-files := ../include/linux/compile.h
18$(obj)/main.o: include/linux/compile.h 18$(obj)/main.o: include/linux/compile.h
19$(obj)/version.o: include/linux/compile.h 19$(obj)/version.o: include/linux/compile.h
20 20
21# compile.h changes depending on hostname, generation number, etc,
22# so we regenerate it always.
23# mkcompile_h will make sure to only update the
24# actual file if its content has changed.
25
26include/linux/compile.h: FORCE
27 @echo ' CHK $@'
28 $(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkcompile_h $@ \
29 "$(UTS_MACHINE)" "$(CONFIG_SMP)" "$(CONFIG_PREEMPT)" "$(CC) $(CFLAGS)"