Il 16/11/2012 11:31, Wenchao Xia ha scritto: > δΊ 2012-11-16 18:23, Peter Maydell ει: >> On 16 November 2012 10:12, Wenchao Xia <xiaw...@linux.vnet.ibm.com> >> wrote: >>> Currently make clean only clean tests/tcg and hard to extend. >>> This patch added command make check-clean, which clean all >>> generated files used in tests. With this command root Makefile >>> do not care tests clean method any more, it simply calls the >>> command to do it, so any more clean script could be added in >>> tests/Makefile make it easier to extend. >>> >>> Signed-off-by: Wenchao Xia <xiaw...@linux.vnet.ibm.com> >>> --- >>> Makefile | 2 +- >>> configure | 2 +- >>> tests/Makefile | 7 +++++++ >>> 3 files changed, 9 insertions(+), 2 deletions(-) >>> >>> diff --git a/Makefile b/Makefile >>> index f40885b..8201e80 100644 >>> --- a/Makefile >>> +++ b/Makefile >>> @@ -251,7 +251,7 @@ clean: >>> rm -f $(foreach f,$(GENERATED_SOURCES),$(f) $(f)-timestamp) >>> rm -rf qapi-generated >>> rm -rf qga/qapi-generated >>> - $(MAKE) -C tests/tcg clean >>> + MAKEFILES=./tests/Makefile $(MAKE) check-clean >> >> tests/Makefile is directly included by the top level makefile, >> so there's no need to reinvoke make here. You should be able to >> just make check-clean a dependency of the clean target here. >> > if make destclean is executed, that tests/Makefile is not include > any more for a condition in root Makefile, change that condition may > bring extra trouble, MAKEFILES= is added to work around it.
Does it work if you change ifneq ($(wildcard config-host.mak),) include $(SRC_PATH)/tests/Makefile endif to -include $(SRC_PATH)/tests/Makefile ? Paolo > >>> for d in $(ALL_SUBDIRS) $(QEMULIBS) libcacard; do \ >>> if test -d $$d; then $(MAKE) -C $$d $@ || exit 1; fi; \ >>> rm -f $$d/qemu-options.def; \ >>> diff --git a/configure b/configure >>> index f847ee2..a18e267 100755 >>> --- a/configure >>> +++ b/configure >>> @@ -4163,7 +4163,7 @@ DIRS="$DIRS pc-bios/optionrom pc-bios/spapr-rtas" >>> DIRS="$DIRS roms/seabios roms/vgabios" >>> DIRS="$DIRS qapi-generated" >>> DIRS="$DIRS libcacard libcacard/libcacard libcacard/trace" >>> -FILES="Makefile tests/tcg/Makefile qdict-test-data.txt" >>> +FILES="Makefile tests/Makefile tests/tcg/Makefile qdict-test-data.txt" >>> FILES="$FILES tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit" >>> FILES="$FILES tests/tcg/lm32/Makefile libcacard/Makefile" >>> FILES="$FILES pc-bios/optionrom/Makefile pc-bios/keymaps" >>> diff --git a/tests/Makefile b/tests/Makefile >>> index 9bf0765..a286622 100644 >>> --- a/tests/Makefile >>> +++ b/tests/Makefile >>> @@ -94,6 +94,7 @@ check-help: >>> @echo " make check-unit Run qobject tests" >>> @echo " make check-block Run block tests" >>> @echo " make check-report.html Generates an HTML test >>> report" >>> + @echo " make check-clean Clean the tests" >>> @echo >>> @echo "Please note that HTML reports do not regenerate if >>> the unit tests" >>> @echo "has not changed." >>> @@ -148,4 +149,10 @@ check-unit: $(patsubst %,check-%, $(check-unit-y)) >>> check-block: $(patsubst %,check-%, $(check-block-y)) >>> check: check-unit check-qtest >>> >>> +check-clean: >>> + $(MAKE) -C tests/tcg clean >>> + rm -f $(check-unit-y) >>> + rm -f $(check-qtest-i386-y) $(check-qtest-x86_64-y) >>> $(check-qtest-sparc64-y) $(check-qtest-sparc-y) >> >> Overlong line. >> >> -- PMM >> > ok. > > >