On 06.11.2008 15:29, Stefan Reinauer wrote:
Carl-Daniel Hailfinger wrote:
On 06.11.2008 14:59, Carl-Daniel Hailfinger wrote:
On 06.11.2008 14:46, Stefan Reinauer wrote:
Carl-Daniel Hailfinger wrote:
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@gmx.net
Acked-by: Stefan Reinauer stepan@coresystems.de
Thanks, committed in r984.
I wanted to clean this up further, but I'm hitting a big dependency bug. Try this patch and watch make explode:
Index: util/lar/Makefile
--- util/lar/Makefile (Revision 984) +++ util/lar/Makefile (Arbeitskopie) @@ -22,10 +22,8 @@ LARDIR := $(obj)/util/lar/
COMPRESSOR := $(LZMA_OBJ) $(obj)/util/lzma/lzma-compress.o -LARDIR += $(obj)/util/lzma/
COMPRESSOR += $(obj)/util/nrv2b/nrv2b-compress.o -LARDIR += $(obj)/util/nrv2b/
LAROBJ_ABS := $(patsubst %,$(obj)/util/lar/%,$(LAROBJ))
Fixing this would require us to add build/util/lzma/ as a dependency to every lzma object in util/lzma/Makefile. And that's the point where I ask about better solutions.
I think leaving it as it is sounds like a better solution already ;-)
The lzma dependencies are already broken (since the initial commit in r157) and parallel make is going to trip on them. My test patch above just makes this visible on singlethreaded make. Of course we can declare parallel make as unusable in v3 (like it is in v2, see the spurious breakage there), but I'd prefer to do this the right way.
Regards, Carl-Daniel