|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 1/2][4.15?] tools/x86: don't rebuild cpuid-autogen.h every time
Jan Beulich writes ("[PATCH 1/2][4.15?] tools/x86: don't rebuild
cpuid-autogen.h every time"):
> 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. Introduce a "prep-y" rule to move xen/lib/x86/ on the side,
> to then recover any *autogen.h from there prior to invoking the
> respective recursive $(MAKE) invocation.
Urgh. Thanks for working on this swamp.
However,
> +# Arrange for preserving of auto-generated headers (to avoid them getting
> +# rebuilt every time): Move the entire xen/lib/x86/ to a temporary place.
> +prep-$(CONFIG_X86):
> + rm -rf .xen-lib-x86
> + test ! -d xen/lib/x86 || mv xen/lib/x86 .xen-lib-x86
> +
> all-$(CONFIG_X86): xen-dir
> + $(if $(wildcard .xen-lib-x86/*autogen.h),mv .xen-lib-x86/*autogen.h
> xen/lib/x86/)
> + rm -rf .xen-lib-x86
> $(MAKE) -C xen/lib/x86 all XEN_ROOT=$(XEN_ROOT) PYTHON=$(PYTHON)
Isn't there some better way of doing this ? I am very wary of adding
additional on-disk Makefile-managed state to a Makefile which is
already going wrong. I haven't thought about this in enough detail to
identify a specific bug but I think convincing myself that it is
definitely correct is nontrivial.
Perhaps we could do the removal with a find rune instead, so we can
just skip the files we wanted to keep ?
Ian.
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |