Makefile.inc: Fix dependency tracking of fmap{_config.h,.desc}

GNU make is too smart (or too stupid?) for empty recipes. In the case of
empty recipes, GNU make doesn't consider the target as updated even if
its prerequisites are. So if we told make to rebuild `build/romstage/
lib/cbfs.o` for instance, and the FMAP changed, it rerun the fmaptool
recipe (as a prerequisite) but only considered `cbfs.o` to be updated
by chance.

Just not leaving the recipes empty seems to help here. I seeemed to
remember that it wasn't that easy, but it fixes the issue for me...

Change-Id: Ic7ecb88cf7df7f2488defd47ea02255fc10a67e9
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/28198
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
Nico Huber 2018-08-17 20:05:53 +02:00 committed by Patrick Georgi
parent 392e886552
commit 3e51d53064
1 changed files with 2 additions and 0 deletions

View File

@ -961,7 +961,9 @@ endif # ifeq ($(CONFIG_FMDFILE),)
# generated at the same time as fmap.fmap # generated at the same time as fmap.fmap
$(obj)/fmap_config.h: $(obj)/fmap.fmap $(obj)/fmap_config.h: $(obj)/fmap.fmap
true
$(obj)/fmap.desc: $(obj)/fmap.fmap $(obj)/fmap.desc: $(obj)/fmap.fmap
true
$(obj)/fmap.fmap: $(obj)/fmap.fmd $(FMAPTOOL) $(obj)/fmap.fmap: $(obj)/fmap.fmd $(FMAPTOOL)
echo " FMAP $(FMAPTOOL) -h $(obj)/fmap_config.h $< $@" echo " FMAP $(FMAPTOOL) -h $(obj)/fmap_config.h $< $@"