On 21/11/2025 1:23 pm, Juergen Gross wrote:
> Add a new make macro for creating <file> from <file>.in at build
> time. To be used like this:
>
> $(foreach file,$(IN_TARGETS),$(eval $(call apply-build-vars,$(file))))
>
> This can be used instead of the current approach to perform the similar
> step for file.in during ./configure.
>
> This will avoid having to run ./configure just because of modifying a
> file depending on a variable set by configure.
>
> Prepare to have multiple files as source for the replacement patterns.
>
> Signed-off-by: Juergen Gross <[email protected]>
> ---
> V2:
> - don't use pattern rule, but create explicit dependency in macro,
>   don't require to rename source files (Jan Beulich, Andrew Cooper)
> V3:
> - prepare for $(PATH_FILES) to be extended by other Makefile
> - let generated file depend on $(INC_FILES)
> ---
>  Config.mk | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
>
> diff --git a/Config.mk b/Config.mk
> index e1556dfbfa..39e8007b9c 100644
> --- a/Config.mk
> +++ b/Config.mk
> @@ -159,6 +159,19 @@ define move-if-changed
>       if ! cmp -s $(1) $(2); then mv -f $(1) $(2); else rm -f $(1); fi
>  endef
>  
> +PATH_FILES := Paths
> +INC_FILES = $(foreach f, $(PATH_FILES), $(XEN_ROOT)/config/$(f).mk)
> +
> +include $(INC_FILES)
> +
> +BUILD_MAKE_VARS = $(foreach f, $(PATH_FILES), $(shell awk '$$2 == ":=" { 
> print $$1; }' $(XEN_ROOT)/config/$(f).mk.in))

Everything else in the series is looking fine now.  But why is
PATH_FILES dropping the .mk extension from the file?

It looks weird for both INC_FILES and BUILD_MAKE_VARS to have to
re-insert it.

~Andrew

Reply via email to