On Tue, Oct 22, 2024 at 05:25:00PM +0100, Andrew Cooper wrote:
> diff --git a/tools/firmware/xen-dir/Makefile b/tools/firmware/xen-dir/Makefile
> index 6f5e208ab413..e19916f76722 100644
> --- a/tools/firmware/xen-dir/Makefile
> +++ b/tools/firmware/xen-dir/Makefile
> @@ -1,4 +1,5 @@
> XEN_ROOT = $(CURDIR)/../../..
> +include $(XEN_ROOT)/tools/Rules.mk
>
> all: xen-shim
>
> @@ -75,6 +76,8 @@ $(D): linkfarm.stamp
>
> $(D)/xen/.config: $(D)
> $(MAKE) -C $(@D) KBUILD_DEFCONFIG=pvshim_defconfig defconfig
> + echo "CONFIG_DEBUG=$(if $(debug),y,n)" >> $@
I don't think this does what you think it does ;-).
In the GitLab CI, we have both "export debug=y" and "export debug=n", in
both case that $(if ) will return 'y' because $(debug) is non-empty.
For one-liner to do this, there's a few option in Make and shell:
$(if $(filter y,$(debug)),y,n)
$$([ "$(debug)" = y ] && echo y || echo n)
$$(case "$(debug)" in y) echo y;; *) echo n;; esac)
For the $(filter ) option, if one does `debug='y no' make` the $(if )
will expand to 'y', but it's probably good enough.
Thanks,
--
Anthony Perard | Vates XCP-ng Developer
XCP-ng & Xen Orchestra - Vates solutions
web: https://vates.tech