]> xenbits.xensource.com Git - people/iwj/xen.git/commitdiff
tools: fix dependency file generation
authorJan Beulich <jbeulich@suse.com>
Tue, 21 May 2013 08:16:30 +0000 (10:16 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 21 May 2013 08:16:30 +0000 (10:16 +0200)
There is a small set of places where files in subdirectories get
compiled from the parent directory. Dependency file wise this is no
problem as long as the files use names distinct without regard to the
directories they sit in, and tools/console/ violates this (in having
two main.c files). Hence we need to avoid losing the directory name,
both to ensure the two compiler instances don't simultaneously write
to the same file (happening of which is what triggered me looking
into this) and to guarantee dependencies for all files will be seen
by make on an incremental rebuild.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
tools/Rules.mk

index 3f03a315c42b7490860f77f57ddfaf967706d9ff..13d8fc13b3176b0d89d316c55fecce8b6063a342 100644 (file)
@@ -62,7 +62,7 @@ SHLIB_libxenlight  = -Wl,-rpath-link=$(XEN_XENLIGHT)
 CFLAGS += -D__XEN_TOOLS__
 
 # Get gcc to generate the dependencies for us.
-CFLAGS += -MMD -MF .$(@F).d
+CFLAGS += -MMD -MF .$(if $(filter-out .,$(@D)),$(subst /,@,$(@D))@)$(@F).d
 DEPS = .*.d
 
 ifneq ($(FILE_OFFSET_BITS),)