From 2244cbd8a9185c197ec5ba5de175aec288697223 Mon Sep 17 00:00:00 2001 From: Sam Ravnborg Date: Mon, 16 Jan 2006 12:12:12 +0100 Subject: kbuild: create .kernelrelease at *config step To enable 'make kernelrelease' earlier now create .kernelrelease when one of the *config targets are used. Also introduce KERNELVERSION - only user is kconfig. KERNELVERSION was needed to display kernel version in menuconfig - KERNELRELEASE is not valid until configuration has completed. kconfig files modified to use KERNELVERSION. Bug reported by: Rene Rebe Signed-off-by: Sam Ravnborg --- Makefile | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index b3dd9dbdc29e..22e322f1757c 100644 --- a/Makefile +++ b/Makefile @@ -338,8 +338,9 @@ AFLAGS := -D__ASSEMBLY__ # Read KERNELRELEASE from .kernelrelease (if it exists) KERNELRELEASE = $(shell cat .kernelrelease 2> /dev/null) +KERNELVERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) -export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE \ +export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION \ ARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \ CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE \ HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS @@ -434,6 +435,7 @@ export KBUILD_DEFCONFIG config %config: scripts_basic outputmakefile FORCE $(Q)mkdir -p include/linux $(Q)$(MAKE) $(build)=scripts/kconfig $@ + $(Q)$(MAKE) .kernelrelease else # =========================================================================== @@ -784,12 +786,10 @@ endif localver-full = $(localver)$(localver-auto) # Store (new) KERNELRELASE string in .kernelrelease -kernelrelease = \ - $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)$(localver-full) +kernelrelease = $(KERNELVERSION)$(localver-full) .kernelrelease: FORCE - $(Q)rm -f .kernelrelease - $(Q)echo $(kernelrelease) > .kernelrelease - $(Q)echo " Building kernel $(kernelrelease)" + $(Q)rm -f $@ + $(Q)echo $(kernelrelease) > $@ # Things we need to do before we recursively start building the kernel @@ -899,7 +899,7 @@ define filechk_version.h ) endef -include/linux/version.h: $(srctree)/Makefile FORCE +include/linux/version.h: $(srctree)/Makefile .config FORCE $(call filechk,version.h) # --------------------------------------------------------------------------- @@ -1302,9 +1302,10 @@ checkstack: $(PERL) $(src)/scripts/checkstack.pl $(ARCH) kernelrelease: - @echo $(KERNELRELEASE) + $(if $(wildcard .kernelrelease), $(Q)echo $(KERNELRELEASE), \ + $(error kernelrelease not valid - run 'make *config' to update it)) kernelversion: - @echo $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) + @echo $(KERNELVERSION) # FIXME Should go into a make.lib or something # =========================================================================== -- cgit v1.2.3