Message ID | 20170217102711.14525-2-wei.liu2@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
>>> On 17.02.17 at 11:27, <wei.liu2@citrix.com> wrote: > --- a/tools/fuzz/x86_instruction_emulator/Makefile > +++ b/tools/fuzz/x86_instruction_emulator/Makefile > @@ -8,19 +8,20 @@ else > x86-instruction-emulator-fuzzer-all: > endif > > -x86_emulate/x86_emulate.c x86_emulate/x86_emulate.h: > - [ -L x86_emulate ] || ln -sf $(XEN_ROOT)/xen/arch/x86/x86_emulate . > +x86_emulate: > + [ -L $@ ] || ln -sf $(XEN_ROOT)/xen/arch/x86/$@ . > > -asm/x86-vendors.h asm/x86-defns.h asm/msr-index.h: > - [ -L asm ] || ln -sf $(XEN_ROOT)/xen/include/asm-x86 asm > +x86_emulate/x86_emulate.c x86_emulate/x86_emulate.h: x86_emulate > + > +asm: > + [ -L $@ ] || ln -sf $(XEN_ROOT)/xen/include/asm-x86 $@ > > x86_emulate.c x86_emulate.h: %: > [ -L $* ] || ln -sf $(XEN_ROOT)/tools/tests/x86_emulator/$* > > CFLAGS += $(CFLAGS_xeninclude) -D__XEN_TOOLS__ -I. > > -x86.h := asm/x86-vendors.h asm/x86-defns.h asm/msr-index.h > -x86_emulate.h := x86_emulate.h x86_emulate/x86_emulate.h $(x86.h) > +x86_emulate.h := x86_emulate.h x86_emulate/x86_emulate.h asm > > x86_emulate.o: x86_emulate.c x86_emulate/x86_emulate.c $(x86_emulate.h) This now breaks the need for re-compilation of x86_emulate.o when any of the headers in $(x86.h) changed. Jan
On Fri, Feb 17, 2017 at 03:46:39AM -0700, Jan Beulich wrote: > >>> On 17.02.17 at 11:27, <wei.liu2@citrix.com> wrote: > > --- a/tools/fuzz/x86_instruction_emulator/Makefile > > +++ b/tools/fuzz/x86_instruction_emulator/Makefile > > @@ -8,19 +8,20 @@ else > > x86-instruction-emulator-fuzzer-all: > > endif > > > > -x86_emulate/x86_emulate.c x86_emulate/x86_emulate.h: > > - [ -L x86_emulate ] || ln -sf $(XEN_ROOT)/xen/arch/x86/x86_emulate . > > +x86_emulate: > > + [ -L $@ ] || ln -sf $(XEN_ROOT)/xen/arch/x86/$@ . > > > > -asm/x86-vendors.h asm/x86-defns.h asm/msr-index.h: > > - [ -L asm ] || ln -sf $(XEN_ROOT)/xen/include/asm-x86 asm > > +x86_emulate/x86_emulate.c x86_emulate/x86_emulate.h: x86_emulate > > + > > +asm: > > + [ -L $@ ] || ln -sf $(XEN_ROOT)/xen/include/asm-x86 $@ > > > > x86_emulate.c x86_emulate.h: %: > > [ -L $* ] || ln -sf $(XEN_ROOT)/tools/tests/x86_emulator/$* > > > > CFLAGS += $(CFLAGS_xeninclude) -D__XEN_TOOLS__ -I. > > > > -x86.h := asm/x86-vendors.h asm/x86-defns.h asm/msr-index.h > > -x86_emulate.h := x86_emulate.h x86_emulate/x86_emulate.h $(x86.h) > > +x86_emulate.h := x86_emulate.h x86_emulate/x86_emulate.h asm > > > > x86_emulate.o: x86_emulate.c x86_emulate/x86_emulate.c $(x86_emulate.h) > > This now breaks the need for re-compilation of x86_emulate.o > when any of the headers in $(x86.h) changed. > Yes, you're right. I will fix this. > Jan >
diff --git a/tools/fuzz/x86_instruction_emulator/Makefile b/tools/fuzz/x86_instruction_emulator/Makefile index fede7e9afd..ac9010e4a8 100644 --- a/tools/fuzz/x86_instruction_emulator/Makefile +++ b/tools/fuzz/x86_instruction_emulator/Makefile @@ -8,19 +8,20 @@ else x86-instruction-emulator-fuzzer-all: endif -x86_emulate/x86_emulate.c x86_emulate/x86_emulate.h: - [ -L x86_emulate ] || ln -sf $(XEN_ROOT)/xen/arch/x86/x86_emulate . +x86_emulate: + [ -L $@ ] || ln -sf $(XEN_ROOT)/xen/arch/x86/$@ . -asm/x86-vendors.h asm/x86-defns.h asm/msr-index.h: - [ -L asm ] || ln -sf $(XEN_ROOT)/xen/include/asm-x86 asm +x86_emulate/x86_emulate.c x86_emulate/x86_emulate.h: x86_emulate + +asm: + [ -L $@ ] || ln -sf $(XEN_ROOT)/xen/include/asm-x86 $@ x86_emulate.c x86_emulate.h: %: [ -L $* ] || ln -sf $(XEN_ROOT)/tools/tests/x86_emulator/$* CFLAGS += $(CFLAGS_xeninclude) -D__XEN_TOOLS__ -I. -x86.h := asm/x86-vendors.h asm/x86-defns.h asm/msr-index.h -x86_emulate.h := x86_emulate.h x86_emulate/x86_emulate.h $(x86.h) +x86_emulate.h := x86_emulate.h x86_emulate/x86_emulate.h asm x86_emulate.o: x86_emulate.c x86_emulate/x86_emulate.c $(x86_emulate.h)
Several `ln -sf` can race with each other and cause error like: 14:43:56 00:07:06 O: ln: cannot remove 'asm': No such file or directory Provide dedicated targets for soft-linking directories. Reported-by: Andrew Cooper <andrew.cooper3@citrix.com> Signed-off-by: Wei Liu <wei.liu2@citrix.com> --- tools/fuzz/x86_instruction_emulator/Makefile | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)