about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--Makerules11
2 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8bffb1e551..dae5789e3e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2000-03-28  Ulrich Drepper  <drepper@redhat.com>
 
+	* Makerules: If make variable md5 is defined to yes after
+	generating dependencies generate MD5 sum for the object.
+
 	* iconv/gconv_builtin.h: Fix length in transformation definition
 	for UNICODEBIG.
 
diff --git a/Makerules b/Makerules
index 6f5e43320c..28fc884cba 100644
--- a/Makerules
+++ b/Makerules
@@ -337,6 +337,15 @@ COMPILE.S = \
   $(CC) -c $(CPPFLAGS) -DASSEMBLER $(asm-CPPFLAGS) $(ASFLAGS-$(suffix $@))
 COMPILE.s = $(filter-out -pipe,$(CC)) -c $(ASFLAGS)
 
+# If we want to generate MD% checksums for the sources do this now.
+ifeq ($(md5),yes)
+generate-md5 = ; rm -f $(@:.d=.md5); \
+$(CC) -E $< $(CFLAGS) $(CPPFLAGS) $($(<:$*.%=%)-CPPFLAGS) | \
+sed '/^\#/d;/^[[:space:]]*$$/d' | md5sum > $(@:.d=.md5)
+else
+generate-md5 =
+endif
+
 # We need this for the output to go in the right place.  It will default to
 # empty if make was configured to work with a cc that can't grok -c and -o
 # together.  You can't compile the C library with such a compiler.
@@ -350,7 +359,7 @@ $(+mkdep) $< $(CFLAGS) $(CPPFLAGS) $($(<:$*.%=%)-CPPFLAGS) | \
 sed \
 -e 's,$(subst .,\.,$*)\.o,$(foreach o,$(all-object-suffixes),$(@:.d=$o)) $@,' \
 $(sed-remove-objpfx) > $(@:.d=.T)
-mv -f $(@:.d=.T) $@
+mv -f $(@:.d=.T) $@ $(generate-md5)
 endef
 ifneq (,$(objpfx))
 # Continuation lines here are dangerous because they introduce spaces!