diff options
author | Kai Germaschewski <kai@vaio.(none)> | 2003-03-15 11:54:11 -0600 |
---|---|---|
committer | Kai Germaschewski <kai@vaio.(none)> | 2003-03-15 11:54:11 -0600 |
commit | d9b456a5ac8f26b409de9ecc766a70046bdf6be8 (patch) | |
tree | 34b1ae02cebe88e3828fac05d18faea716e6137b /Makefile | |
parent | 0a1551687a3bdb9800758165ea7889e568ac28e6 (diff) | |
parent | 54066682d5ba7d105ce4547f7ffc1ae61997c3b1 (diff) | |
download | history-d9b456a5ac8f26b409de9ecc766a70046bdf6be8.tar.gz |
Merge
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 45 |
1 files changed, 30 insertions, 15 deletions
diff --git a/Makefile b/Makefile index cd6aa7a0bab62c..81ad69972ec52e 100644 --- a/Makefile +++ b/Makefile @@ -479,17 +479,19 @@ include/linux/autoconf.h: .config scripts/fixdep uts_len := 64 -include/linux/version.h: Makefile - @if expr length "$(KERNELRELEASE)" \> $(uts_len) >/dev/null ; then \ +define filechk_version.h + if expr length "$(KERNELRELEASE)" \> $(uts_len) >/dev/null ; then \ echo '"$(KERNELRELEASE)" exceeds $(uts_len) characters' >&2; \ exit 1; \ fi; - @echo -n ' GEN $@' - @(echo \#define UTS_RELEASE \"$(KERNELRELEASE)\"; \ + (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))'; \ - ) > $@.tmp - @$(update-if-changed) + ) +endef + +include/linux/version.h: Makefile + $(call filechk,version.h) # --------------------------------------------------------------------------- @@ -558,7 +560,7 @@ endif # CONFIG_MODULES # Generate asm-offsets.h # --------------------------------------------------------------------------- -define generate-asm-offsets.h +define filechk_gen-asm-offsets (set -e; \ echo "#ifndef __ASM_OFFSETS_H__"; \ echo "#define __ASM_OFFSETS_H__"; \ @@ -574,7 +576,6 @@ define generate-asm-offsets.h echo "#endif" ) endef - else # ifdef include_config ifeq ($(filter-out $(noconfig_targets),$(MAKECMDGOALS)),) @@ -885,13 +886,27 @@ if_changed_rule = $(if $(strip $? \ cmd = @$(if $($(quiet)cmd_$(1)),echo ' $($(quiet)cmd_$(1))' &&) $(cmd_$(1)) -define update-if-changed - if [ -r $@ ] && cmp -s $@ $@.tmp; then \ - echo ' (unchanged)'; \ - rm -f $@.tmp; \ - else \ - echo ' (updated)'; \ - mv -f $@.tmp $@; \ +# filechk is used to check if the content of a generated file is updated. +# Sample usage: +# define filechk_sample +# echo $KERNELRELEASE +# endef +# version.h : Makefile +# $(call filechk,sample) +# The rule defined shall write to stdout the content of the new file. +# The existing file will be compared with the new one. +# - If no file exist it is created +# - If the content differ the new file is used +# - If they are equal no change, and no timestamp update + +define filechk + @echo ' CHK $@'; + @set -e; $(filechk_$(1)) > $@.tmp + if [ -r $@ ] && cmp -s $@ $@.tmp; then \ + rm -f $@.tmp; \ + else \ + echo ' UPD $@'; \ + mv -f $@.tmp $@; \ fi endef |