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.coop...@citrix.com> Signed-off-by: Wei Liu <wei.l...@citrix.com> --- tools/fuzz/x86_instruction_emulator/Makefile | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tools/fuzz/x86_instruction_emulator/Makefile b/tools/fuzz/x86_instruction_emulator/Makefile index fede7e9afd..3b75beb07d 100644 --- a/tools/fuzz/x86_instruction_emulator/Makefile +++ b/tools/fuzz/x86_instruction_emulator/Makefile @@ -8,11 +8,15 @@ 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 ; + +asm: + [ -L $@ ] || ln -sf $(XEN_ROOT)/xen/include/asm-x86 $@ + +asm/%: asm ; x86_emulate.c x86_emulate.h: %: [ -L $* ] || ln -sf $(XEN_ROOT)/tools/tests/x86_emulator/$* -- 2.11.0 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel