On 07/05/2021 14.41, Paolo Bonzini wrote:
On 07/05/21 11:45, Thomas Huth wrote:
diff --git a/Makefile b/Makefile
index bcbbec71a1..3088502329 100644
--- a/Makefile
+++ b/Makefile
@@ -85,7 +85,8 @@ x := $(shell rm -rf meson-private meson-info meson-logs)
endif
# 1. ensure config-host.mak is up-to-date
-config-host.mak: $(SRC_PATH)/configure $(SRC_PATH)/pc-bios
$(SRC_PATH)/VERSION
+config-host.mak: $(SRC_PATH)/configure $(SRC_PATH)/pc-bios
$(SRC_PATH)/VERSION \
+ $(SRC_PATH)/default-configs/targets
@echo config-host.mak is out-of-date, running configure
@if test -f meson-private/coredata.dat; then \
./config.status --skip-meson; \
I.e. re-run configure if somethings in default-configs/targets changed.
Does that look sane?
I am not sure if using a directory is reliable (it's pre-existing for
pc-bios). However you probably can use
# currently in tests/Makefile.include, move it to toplevel Makefile
TARGETS=$(patsubst libqemu-%.fa, %, $(filter libqemu-%.fa, $(ninja-targets)))
config-host.mak: $(SRC_PATH)/configure $(TARGETS:%=default-configs/targets/%)
And then if a file goes missing it will trigger the rebuild of config-host.mak.
Sounds like an idea, too ... but I'm unsure whether it's doable due to the
order of the statements there... TARGETS gets populated from ninja-targets,
but ninja-targets gets set *after* the config-host.mak block ... would it be
safe to move the config-host.mak block around?
Thomas