[Concept,05/13] examples: ulib: Build shared-linked binaries only when .so is available
Commit Message
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(-)
@@ -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)