aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorKai Germaschewski <kai@vaio.(none)>2003-03-15 11:54:11 -0600
committerKai Germaschewski <kai@vaio.(none)>2003-03-15 11:54:11 -0600
commitd9b456a5ac8f26b409de9ecc766a70046bdf6be8 (patch)
tree34b1ae02cebe88e3828fac05d18faea716e6137b /Makefile
parent0a1551687a3bdb9800758165ea7889e568ac28e6 (diff)
parent54066682d5ba7d105ce4547f7ffc1ae61997c3b1 (diff)
downloadhistory-d9b456a5ac8f26b409de9ecc766a70046bdf6be8.tar.gz
Merge
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile45
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