[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] qemu: fix incremental rebuild



While the .*.d dependency files get build nicely during the initial
build, they never got actually used: make's $(wildcard ) function acts
like the shell's, i.e. *.d doesn't match any file name starting with
'.' and hence none of the files would ever be used.

For the clean: rules the issue is the same, except here it should have
been very obvious that removing *.d won't do what was intended.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

--- a/Makefile
+++ b/Makefile
@@ -203,8 +203,8 @@ qemu-img$(EXESUF) qemu-nbd$(EXESUF): LIB
 clean:
 # avoid old build problems by removing potentially incorrect old files
        rm -f config.mak config.h op-i386.h opc-i386.h gen-op-i386.h op-arm.h 
opc-arm.h gen-op-arm.h
-       rm -f *.o *.d *.a $(TOOLS) TAGS cscope.* *.pod *~ */*~
-       rm -f slirp/*.o slirp/*.d audio/*.o audio/*.d
+       rm -f *.o .*.d *.a $(TOOLS) TAGS cscope.* *.pod *~ */*~
+       rm -f slirp/*.o slirp/.*.d audio/*.o audio/.*.d
        $(MAKE) -C tests clean
        for d in $(TARGET_DIRS); do \
        $(MAKE) -C $$d $@ || exit 1 ; \
@@ -369,4 +369,4 @@ tarbin:
        $(mandir)/man8/qemu-nbd.8
 
 # Include automatically generated dependency files
--include $(wildcard *.d audio/*.d slirp/*.d)
+-include $(wildcard .*.d audio/.*.d slirp/.*.d)
--- a/Makefile.target
+++ b/Makefile.target
@@ -750,7 +750,7 @@ endif
 
 clean:
        rm -f *.o *.a *~ $(PROGS) nwfpe/*.o fpu/*.o
-       rm -f *.d */*.d tcg/*.o
+       rm -f .*.d */.*.d tcg/*.o
 
 install: all install-hook
 ifneq ($(PROGS),)
@@ -758,4 +758,4 @@ ifneq ($(PROGS),)
 endif
 
 # Include automatically generated dependency files
--include $(wildcard *.d */*.d)
+-include $(wildcard .*.d */.*.d)



Attachment: qemu-deps.patch
Description: Text document

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.