|
@@ -812,8 +812,8 @@ endif
|
|
|
# prepare2 creates a makefile if using a separate output directory
|
|
|
prepare2: prepare3 outputmakefile
|
|
|
|
|
|
-prepare1: prepare2 include/linux/version.h include/asm \
|
|
|
- include/config/auto.conf
|
|
|
+prepare1: prepare2 include/linux/version.h include/linux/utsrelease.h \
|
|
|
+ include/asm include/config/auto.conf
|
|
|
ifneq ($(KBUILD_MODULES),)
|
|
|
$(Q)mkdir -p $(MODVERDIR)
|
|
|
$(Q)rm -f $(MODVERDIR)/*
|
|
@@ -848,21 +848,26 @@ include/asm:
|
|
|
# needs to be updated, so this check is forced on all builds
|
|
|
|
|
|
uts_len := 64
|
|
|
+define filechk_utsrelease.h
|
|
|
+ if [ `echo -n "$(KERNELRELEASE)" | wc -c ` -gt $(uts_len) ]; then \
|
|
|
+ echo '"$(KERNELRELEASE)" exceeds $(uts_len) characters' >&2; \
|
|
|
+ exit 1; \
|
|
|
+ fi; \
|
|
|
+ (echo \#define UTS_RELEASE \"$(KERNELRELEASE)\";)
|
|
|
+endef
|
|
|
|
|
|
define filechk_version.h
|
|
|
- if [ `echo -n "$(KERNELRELEASE)" | wc -c ` -gt $(uts_len) ]; then \
|
|
|
- echo '"$(KERNELRELEASE)" exceeds $(uts_len) characters' >&2; \
|
|
|
- exit 1; \
|
|
|
- fi; \
|
|
|
- (echo \#define UTS_RELEASE \"$(KERNELRELEASE)\"; \
|
|
|
- echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)`; \
|
|
|
- echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))'; \
|
|
|
- )
|
|
|
+ (echo \#define LINUX_VERSION_CODE $(shell \
|
|
|
+ expr $(VERSION) \* 65536 + $(PATCHLEVEL) \* 256 + $(SUBLEVEL)); \
|
|
|
+ echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';)
|
|
|
endef
|
|
|
|
|
|
-include/linux/version.h: $(srctree)/Makefile include/config/kernel.release FORCE
|
|
|
+include/linux/version.h: $(srctree)/Makefile FORCE
|
|
|
$(call filechk,version.h)
|
|
|
|
|
|
+include/linux/utsrelease.h: include/config/kernel.release FORCE
|
|
|
+ $(call filechk,utsrelease.h)
|
|
|
+
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
|
|
PHONY += depend dep
|
|
@@ -955,7 +960,8 @@ CLEAN_FILES += vmlinux System.map \
|
|
|
# Directories & files removed with 'make mrproper'
|
|
|
MRPROPER_DIRS += include/config include2
|
|
|
MRPROPER_FILES += .config .config.old include/asm .version .old_version \
|
|
|
- include/linux/autoconf.h include/linux/version.h \
|
|
|
+ include/linux/autoconf.h include/linux/version.h \
|
|
|
+ include/linux/utsrelease.h \
|
|
|
Module.symvers tags TAGS cscope*
|
|
|
|
|
|
# clean - Delete most, but leave enough to build external modules
|