From 4b25966ab976f3a7fd9008193b2defcc82f8f04d Mon Sep 17 00:00:00 2001 From: "Michael S. Tsirkin" Date: Tue, 15 Jan 2013 13:12:35 +0200 Subject: [PATCH] rules.mak: cleanup config generation rules This addresses two issues with config generation 1. rule generating timestamp has side effect. Thus cleanup on error does not work. 2. rule for handling timestamp is too generic. It can create any missing .h file. As a result when .h file is removed, build might try to create it using this rule which results in build errors. Signed-off-by: Michael S. Tsirkin --- rules.mak | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/rules.mak b/rules.mak index 6d82c0d5a0..d11a5b4f00 100644 --- a/rules.mak +++ b/rules.mak @@ -82,12 +82,11 @@ TRACETOOL=$(PYTHON) $(SRC_PATH)/scripts/tracetool.py # Generate timestamp files for .h include files -%.h: %.h-timestamp - @test -f $@ || cp $< $@ +config-%.h: config-%.h-timestamp + @cmp $< $@ >/dev/null 2>&1 || cp $< $@ -%.h-timestamp: %.mak - $(call quiet-command, sh $(SRC_PATH)/scripts/create_config < $< > $@, " GEN $(TARGET_DIR)$*.h") - @cmp $@ $*.h >/dev/null 2>&1 || cp $@ $*.h +config-%.h-timestamp: config-%.mak + $(call quiet-command, sh $(SRC_PATH)/scripts/create_config < $< > $@, " GEN $(TARGET_DIR)config-$*.h") # will delete the target of a rule if commands exit with a nonzero exit status .DELETE_ON_ERROR: