diff options
author | Juan Quintela <quintela@redhat.com> | 2009-10-07 02:40:58 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-10-08 21:17:03 -0500 |
commit | 1215c6e7615897e4a0bfd6867b762a47fc34f37f (patch) | |
tree | d1a89ac56768083704a24a6f03ec8de1534cf2a3 | |
parent | deed3ccfca6bbebeab4f1c6874cb9c2902956328 (diff) |
Move generation of config-host.h to Makefile from configure
Use timestamp based appreach to avoid not needed recompilation.
Add it to rules.mak
Many thanks to Paolo Bonzini for helpding the design, and the debug.
Patchworks-ID: 35190
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r-- | Makefile | 13 | ||||
-rwxr-xr-x | configure | 20 | ||||
-rwxr-xr-x | create_config | 2 | ||||
-rw-r--r-- | rules.mak | 9 |
4 files changed, 21 insertions, 23 deletions
@@ -29,7 +29,10 @@ else DOCS= endif -build-all: $(TOOLS) $(DOCS) recurse-all +SUBDIR_MAKEFLAGS=$(if $(V),,--no-print-directory) + +build-all: config-host.h + $(call quiet-command, $(MAKE) $(SUBDIR_MAKEFLAGS) $(TOOLS) $(DOCS) recurse-all,) config-host.mak: configure ifneq ($(wildcard config-host.mak),) @@ -37,10 +40,12 @@ ifneq ($(wildcard config-host.mak),) @sed -n "/.*Configured with/s/[^:]*: //p" $@ | sh endif -SUBDIR_MAKEFLAGS=$(if $(V),,--no-print-directory) +config-host.h: config-host.h-timestamp +config-host.h-timestamp: config-host.mak + SUBDIR_RULES=$(patsubst %,subdir-%, $(TARGET_DIRS)) -subdir-%: +subdir-%: config-host.h $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C $* V="$(V)" TARGET_DIR="$*/" all,) $(filter %-softmmu,$(SUBDIR_RULES)): libqemu_common.a @@ -200,7 +205,7 @@ clean: done distclean: clean - rm -f config-host.mak config-host.h config-host.ld $(DOCS) qemu-options.texi qemu-img-cmds.texi + rm -f config-host.mak config-host.h* config-host.ld $(DOCS) qemu-options.texi qemu-img-cmds.texi rm -f qemu-{doc,tech}.{info,aux,cp,dvi,fn,info,ky,log,pg,toc,tp,vr} for d in $(TARGET_DIRS) libhw32 libhw64 libuser; do \ rm -rf $$d || exit 1 ; \ @@ -1800,13 +1800,8 @@ echo "-> Your SDL version is too old - please upgrade to have SDL support" fi config_host_mak="config-host.mak" -config_host_h="config-host.h" config_host_ld="config-host.ld" -#echo "Creating $config_host_mak and $config_host_h" - -test -f $config_host_h && mv $config_host_h ${config_host_h}~ - echo "# Automatically generated by configure - do not modify" > $config_host_mak printf "# Configured with:" >> $config_host_mak printf " '%s'" "$0" "$@" >> $config_host_mak @@ -2064,18 +2059,6 @@ echo "LIBS+=$LIBS" >> $config_host_mak echo "LIBS_TOOLS+=$libs_tools" >> $config_host_mak echo "EXESUF=$EXESUF" >> $config_host_mak -echo "/* Automatically generated by configure - do not modify */" > $config_host_h - -/bin/sh $source_path/create_config < $config_host_mak >> $config_host_h - -if test -f ${config_host_h}~ ; then - if cmp -s $config_host_h ${config_host_h}~ ; then - mv ${config_host_h}~ $config_host_h - else - rm ${config_host_h}~ - fi -fi - # generate list of library paths for linker script $ld --verbose -v 2> /dev/null | grep SEARCH_DIR > ${config_host_ld} @@ -2474,8 +2457,7 @@ fi echo "LDFLAGS+=$ldflags" >> $config_mak echo "QEMU_CFLAGS+=$cflags" >> $config_mak -echo "/* Automatically generated by configure - do not modify */" > $config_h -echo "#include \"../config-host.h\"" >> $config_h +echo "#include \"../config-host.h\"" > $config_h /bin/sh $source_path/create_config < $config_mak >> $config_h diff --git a/create_config b/create_config index 5bc8fb6b41..30d0487e24 100755 --- a/create_config +++ b/create_config @@ -1,5 +1,7 @@ #!/bin/sh +echo "/* Automatically generated by create_config - do not modify */" + while read line; do case $line in @@ -35,3 +35,12 @@ quiet-command = $(if $(V),$1,$(if $(2),@echo $2 && $1, @$1)) cc-option = $(if $(shell $(CC) $1 $2 -S -o /dev/null -xc /dev/null \ >/dev/null 2>&1 && echo OK), $2, $3) + +# Generate timestamp files for .h include files + +%.h: %.h-timestamp + @test -f $@ || cp $< $@ + +%.h-timestamp: %.mak + $(call quiet-command, $(SRC_PATH)/create_config < $< > $@, " GEN $*.h") + @cmp $@ $*.h >/dev/null 2>&1 || cp $@ $*.h |