[coreboot] Patch set updated for filo: 00e82ca makefile: recreate version.h only when needed

Mathias Krause (mathias.krause@secunet.com) gerrit at coreboot.org
Wed Mar 7 16:41:47 CET 2012


Mathias Krause (mathias.krause at secunet.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/745

-gerrit

commit 00e82ca97042907951ee977ead2e93039ab1da6d
Author: Mathias Krause <mathias.krause at secunet.com>
Date:   Tue Mar 6 13:26:48 2012 +0100

    makefile: recreate version.h only when needed
    
    Don't recreate version.h on each make invokation but only when needed, i.e.
    when the make variables have changed. Also make version.h a prerequisite for
    the object files to rebuild them when the version information changes.
    
    Change-Id: I27a057be25902233ac0751db8061e9ad4cd50642
    Signed-off-by: Mathias Krause <mathias.krause at secunet.com>
---
 Makefile |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 3b4a468..46a265f 100644
--- a/Makefile
+++ b/Makefile
@@ -112,8 +112,8 @@ TARGET  = $(obj)/filo.elf
 
 HAVE_LIBCONFIG := $(wildcard $(LIBCONFIG_PATH))
 
-all: prepare $(obj)/version.h $(TARGET)
 
+all: prepare $(TARGET)
 
 HAVE_LIBPAYLOAD := $(wildcard $(LIBPAYLOAD))
 ifneq ($(strip $(HAVE_LIBPAYLOAD)),)
@@ -143,7 +143,7 @@ include util/kconfig/Makefile
 $(KCONFIG_AUTOHEADER): $(src)/.config
 	$(MAKE) silentoldconfig
 
-$(OBJS): $(KCONFIG_AUTOHEADER) | libpayload
+$(OBJS): $(KCONFIG_AUTOHEADER) $(obj)/version.h | libpayload
 $(obj)/%.o: $(src)/%.c
 	printf "  CC      $(subst $(shell pwd)/,,$(@))\n"
 	$(CC) -MMD $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
@@ -158,7 +158,8 @@ $(obj)/%.map: $(obj)/%
 
 endif
 
-$(obj)/version.h: FORCE
+$(obj)/version.h: Makefile
+	printf "  GEN     $(subst $(shell pwd)/,,$(@))\n"
 	echo '#define PROGRAM_NAME "$(PROGRAM_NAME)"' > $@
 	echo '#define PROGRAM_VERSION "$(PROGRAM_VERSION)"' >> $@
 	echo '#define PROGRAM_VERSION_FULL "$(PROGRAM_VERSION) $(BUILD_INFO)"' >> $@
@@ -171,6 +172,7 @@ prepare: $(sort $(dir $(OBJS))) $(obj)/util/kconfig/lxdialog/
 
 clean:
 	rm -rf $(sort $(dir $(OBJS))) $(obj)/util
+	rm -rf $(obj)/version.h
 
 distclean: clean
 	rm -rf $(obj)




More information about the coreboot mailing list