|
@@ -106,12 +106,13 @@ KBUILD_OUTPUT := $(shell cd $(KBUILD_OUTPUT) && /bin/pwd)
|
|
|
$(if $(KBUILD_OUTPUT),, \
|
|
|
$(error output directory "$(saved-output)" does not exist))
|
|
|
|
|
|
-.PHONY: $(MAKECMDGOALS)
|
|
|
+.PHONY: $(MAKECMDGOALS) cdbuilddir
|
|
|
+$(MAKECMDGOALS) _all: cdbuilddir
|
|
|
|
|
|
-$(filter-out _all,$(MAKECMDGOALS)) _all:
|
|
|
+cdbuilddir:
|
|
|
$(if $(KBUILD_VERBOSE:1=),@)$(MAKE) -C $(KBUILD_OUTPUT) \
|
|
|
KBUILD_SRC=$(CURDIR) \
|
|
|
- KBUILD_EXTMOD="$(KBUILD_EXTMOD)" -f $(CURDIR)/Makefile $@
|
|
|
+ KBUILD_EXTMOD="$(KBUILD_EXTMOD)" -f $(CURDIR)/Makefile $(MAKECMDGOALS)
|
|
|
|
|
|
# Leave processing to above invocation of make
|
|
|
skip-makefile := 1
|
|
@@ -337,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
|
|
@@ -433,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
|
|
|
# ===========================================================================
|
|
@@ -542,7 +545,7 @@ export INSTALL_PATH ?= /boot
|
|
|
# makefile but the arguement can be passed to make if needed.
|
|
|
#
|
|
|
|
|
|
-MODLIB := $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)
|
|
|
+MODLIB = $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)
|
|
|
export MODLIB
|
|
|
|
|
|
|
|
@@ -783,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
|
|
@@ -898,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)
|
|
|
|
|
|
# ---------------------------------------------------------------------------
|
|
@@ -1301,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
|
|
|
# ===========================================================================
|