[coreboot] [PATCH] v3: Kill unnecessary rebuilds

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Thu Nov 6 14:02:26 CET 2008


Every time we run make in a v3 tree, lar, lzma, nrv2b and the option
table get rebuilt unconditionally due to slightly incorrect dependencies.
That's wasteful and may hide other dependency bugs.
Fix the lar, lzma, nrv2b and option table dependencies.

This trims down recompilation time a lot. The only remaining stuff being
rebuilt is:
~/corebootv3-better_dependencies> make
  CP      build/config.h
  GEN     build/build.h
  LAR     build/coreboot.rom
  PAYLOAD none (as specified by user)
  CP      build/bios.bin
  DONE

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>

Index: corebootv3-better_dependencies/util/lzma/Makefile
===================================================================
--- corebootv3-better_dependencies/util/lzma/Makefile	(Revision 983)
+++ corebootv3-better_dependencies/util/lzma/Makefile	(Arbeitskopie)
@@ -23,13 +23,13 @@
 LZMA_OBJ += $(obj)/util/lzma/OutBuffer.o $(obj)/util/lzma/Alloc.o
 LZMA_OBJ += $(obj)/util/lzma/CRC.o
 
-$(obj)/util/lzma/lzma: lzmadir $(LZMA_OBJ) $(obj)/util/lzma/minilzma.o
+$(obj)/util/lzma/lzma: $(obj)/util/lzma/ $(LZMA_OBJ) $(obj)/util/lzma/minilzma.o
 	$(Q)$(HOSTCXX) $(HOSTCXXFLAGS) -o $@ $(LZMA_OBJ) $(obj)/util/lzma/minilzma.o
 
 $(obj)/util/lzma/lzma-compress.o: $(src)/util/lzma/minilzma.cc
 	$(Q)$(HOSTCXX) $(HOSTCXXFLAGS) -o $@ -c -DCOMPACT $<
 
-lzmadir:
+$(obj)/util/lzma/:
 	$(Q)printf "  BUILD   LZMA\n"
 	$(Q)mkdir -p $(obj)/util/lzma/
 
Index: corebootv3-better_dependencies/util/nrv2b/Makefile
===================================================================
--- corebootv3-better_dependencies/util/nrv2b/Makefile	(Revision 983)
+++ corebootv3-better_dependencies/util/nrv2b/Makefile	(Arbeitskopie)
@@ -19,15 +19,15 @@
 ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 ##
 
-$(obj)/util/nrv2b/nrv2b: nrv2bdir $(src)/util/nrv2b/nrv2b.c
+$(obj)/util/nrv2b/nrv2b: $(obj)/util/nrv2b/ $(src)/util/nrv2b/nrv2b.c
 	$(Q)printf "  HOSTCC  $(subst $(shell pwd)/,,$(@))\n"
 	$(Q)$(HOSTCC) $(HOSTCFLAGS) -DENCODE -DDECODE -DMAIN -DVERBOSE -DNDEBUG -DBITSIZE=32 -DENDIAN=0 -o $@ $(src)/util/nrv2b/nrv2b.c
 
-$(obj)/util/nrv2b/nrv2b-compress.o: nrv2bdir $(src)/util/nrv2b/nrv2b.c
+$(obj)/util/nrv2b/nrv2b-compress.o: $(obj)/util/nrv2b/ $(src)/util/nrv2b/nrv2b.c
 	$(Q)printf "  HOSTCC  $(subst $(shell pwd)/,,$(@))\n"
 	$(Q)$(HOSTCC) $(HOSTCFLAGS) -DENCODE -DDECODE -DVERBOSE -DCOMPACT -DNDEBUG -DBITSIZE=32 -DENDIAN=0 -c -o $@ $(src)/util/nrv2b/nrv2b.c
 
-nrv2bdir:
+$(obj)/util/nrv2b/:
 	$(Q)printf "  BUILD   NRV2B\n"
 	$(Q)mkdir -p $(obj)/util/nrv2b/
 
Index: corebootv3-better_dependencies/util/options/Makefile
===================================================================
--- corebootv3-better_dependencies/util/options/Makefile	(Revision 983)
+++ corebootv3-better_dependencies/util/options/Makefile	(Arbeitskopie)
@@ -21,11 +21,11 @@
 
 OPTIONS_OBJ := $(obj)/util/options/build_opt_tbl.o
 
-$(obj)/util/options/build_opt_tbl: optionsdir $(OPTIONS_OBJ)
+$(obj)/util/options/build_opt_tbl: $(obj)/util/options/ $(OPTIONS_OBJ)
 	$(Q)printf "  HOSTCC  $(subst $(shell pwd)/,,$(@))\n"
 	$(Q)$(HOSTCC) $(HOSTCFLAGS) -o $@ $(OPTIONS_OBJ)
 
-optionsdir:
+$(obj)/util/options/:
 	$(Q)mkdir -p $(obj)/util/options/
 
 $(obj)/util/options/%.o: $(src)/util/options/%.c
Index: corebootv3-better_dependencies/util/lar/Makefile
===================================================================
--- corebootv3-better_dependencies/util/lar/Makefile	(Revision 983)
+++ corebootv3-better_dependencies/util/lar/Makefile	(Arbeitskopie)
@@ -19,16 +19,17 @@
 ##
 LAROBJ := lar.o stream.o lib.o
 
-LARDIR := lardir
+LARDIR := $(obj)/util/lar
 
 COMPRESSOR := $(LZMA_OBJ) $(obj)/util/lzma/lzma-compress.o
-LARDIR     += lzmadir
+LARDIR     += $(obj)/util/lzma/
 
 COMPRESSOR += $(obj)/util/nrv2b/nrv2b-compress.o
-LARDIR     += nrv2bdir
+LARDIR     += $(obj)/util/nrv2b/
 
 LAROBJ_ABS := $(patsubst %,$(obj)/util/lar/%,$(LAROBJ))
-lardir:
+
+$(obj)/util/lar:
 	$(Q)printf "  BUILD   LAR\n"
 	$(Q)mkdir -p $(obj)/util/lar
 


-- 
http://www.hailfinger.org/





More information about the coreboot mailing list