The first thing the "xen-dir" rule does is delete the entire xen/
subtree. Obviously this includes deleting xen/lib/x86/*autogen.h. As a
result there's no original version for $(move-if-changed ...) to compare
against, and hence the file and all its consumers would get rebuilt
every time. Instead only find and delete all the symlinks.

Fixes: eddf9559c977 ("libx86: generate cpuid-autogen.h in the libx86 include 
dir")
Signed-off-by: Jan Beulich <jbeul...@suse.com>
---
v3: Don't use xargs. Don't hide errors.
v2: Different approach.

--- a/tools/include/Makefile
+++ b/tools/include/Makefile
@@ -19,8 +19,8 @@ xen-foreign:
        $(MAKE) -C xen-foreign
 
 xen-dir:
-       @rm -rf xen acpi
        mkdir -p xen/libelf acpi
+       find xen/ acpi/ -type l -exec rm '{}' +
        ln -s $(XEN_ROOT)/xen/include/public/COPYING xen/
        ln -s $(XEN_ROOT)/xen/include/public/*.h xen/
        ln -s $(XEN_ROOT)/xen/include/public/*/ xen/

Reply via email to