From: Simon Glass <simon.glass@canonical.com> The shared-linked example binaries (demo, boot) are only useful when libu-boot.so exists. Use $(wildcard) to conditionally include them, so standalone builds also adapt correctly. Co-developed-by: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Simon Glass <simon.glass@canonical.com> --- examples/ulib/rules.mk | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/examples/ulib/rules.mk b/examples/ulib/rules.mk index c4b0bdb3668..bc677488649 100644 --- a/examples/ulib/rules.mk +++ b/examples/ulib/rules.mk @@ -5,9 +5,12 @@ # Copyright 2025 Canonical Ltd. # Written by Simon Glass <simon.glass@canonical.com> -# Generate normal and statically linked binary names from progs variable -all_bins := $(foreach prog,$(progs),$(OUTDIR)/$(prog) \ - $(OUTDIR)/$(prog)_static) +# Generate binary names from progs variable +# Shared-linked versions are only built when libu-boot.so is available +static_bins := $(foreach prog,$(progs),$(OUTDIR)/$(prog)_static) +shared_bins := $(if $(wildcard $(UBOOT_BUILD)/libu-boot.so),\ + $(foreach prog,$(progs),$(OUTDIR)/$(prog))) +all_bins := $(shared_bins) $(static_bins) # Default target builds both programs all: $(all_bins) -- 2.43.0