[LTP] [PATCH v2 2/3] build: Build shared libs once on subtree make

Andrea Cervesato andrea.cervesato@suse.de
Tue Oct 20 18:42:45 CEST 2026


From: Andrea Cervesato <andrea.cervesato@suse.com>

When make is invoked directly in a trunk subdirectory (MAKELEVEL == 0),
build shared prerequisites (libltp.a, libs, and libkerntest.a) once
via MAKE_DEPS before launching parallel subdirectory builds.

Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
 include/mk/generic_trunk_target.inc | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/include/mk/generic_trunk_target.inc b/include/mk/generic_trunk_target.inc
index f9db7896a..eff7fa33c 100644
--- a/include/mk/generic_trunk_target.inc
+++ b/include/mk/generic_trunk_target.inc
@@ -36,6 +36,29 @@ RECURSIVE_TARGETS		?= all install check
 
 $(eval $(get_make_dirs))
 
+ifeq ($(MAKELEVEL),0)
+ifneq ($(filter $(abs_top_builddir)/testcases%,$(CURDIR)),)
+MAKE_DEPS += $(abs_top_builddir)/lib/libltp.a $(abs_top_builddir)/libs-all
+
+$(abs_top_builddir)/lib/libltp.a:
+	mkdir -m 00755 -p "$(abs_top_builddir)/lib"
+	$(MAKE) -C "$(abs_top_builddir)/lib" -f "$(abs_top_srcdir)/lib/Makefile" all
+
+.PHONY: $(abs_top_builddir)/libs-all
+$(abs_top_builddir)/libs-all:
+	mkdir -m 00755 -p "$(abs_top_builddir)/libs"
+	$(MAKE) -C "$(abs_top_builddir)/libs" -f "$(abs_top_srcdir)/libs/Makefile" all
+endif
+
+ifneq ($(filter $(abs_top_builddir)/testcases/kernel/%,$(CURDIR)),)
+MAKE_DEPS += $(abs_top_builddir)/testcases/kernel/lib/libkerntest.a
+
+$(abs_top_builddir)/testcases/kernel/lib/libkerntest.a:
+	mkdir -m 00755 -p "$(abs_top_builddir)/testcases/kernel/lib"
+	$(MAKE) -C "$(abs_top_builddir)/testcases/kernel/lib" -f "$(abs_top_srcdir)/testcases/kernel/lib/Makefile" all
+endif
+endif
+
 .PHONY: $(RECURSIVE_TARGETS) $(addprefix trunk-,$(RECURSIVE_TARGETS))
 
 $(SUBDIRS): %:

-- 
2.51.0



More information about the ltp mailing list