[dm-devel] [PATCH 68/72] multipath-tools: Makefile: use proper directory recursion
Martin Wilck
Martin.Wilck at suse.com
Sat Oct 12 21:29:02 UTC 2019
From: Martin Wilck <mwilck at suse.com>
"make -k" didn't work with the Makefile's subdirectory handling.
Do it the proper "make" way.
Signed-off-by: Martin Wilck <mwilck at suse.com>
---
Makefile | 38 ++++++++++++++++++--------------------
1 file changed, 18 insertions(+), 20 deletions(-)
diff --git a/Makefile b/Makefile
index 4b145c59..1dee3680 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@
# Copyright (C) 2003 Christophe Varoqui, <christophe.varoqui at opensvc.com>
#
-BUILDDIRS = \
+BUILDDIRS := \
libmpathcmd \
libmultipath \
libmultipath/prioritizers \
@@ -19,32 +19,30 @@ BUILDDIRS += \
libdmmp
endif
-all: recurse
+BUILDDIRS.clean := $(BUILDDIRS:=.clean) tests.clean
-recurse:
- @for dir in $(BUILDDIRS); do $(MAKE) -C $$dir || exit $?; done
+.PHONY: $(BUILDDIRS) $(BUILDDIRS:=.uninstall) $(BUILDDIRS:=.install) $(BUILDDIRS.clean)
-recurse_clean:
- @for dir in $(BUILDDIRS); do \
- $(MAKE) -C $$dir clean || exit $?; \
- done
- $(MAKE) -C tests clean
+all: $(BUILDDIRS)
-recurse_install:
- @for dir in $(BUILDDIRS); do \
- $(MAKE) -C $$dir install || exit $?; \
- done
+$(BUILDDIRS):
+ $(MAKE) -C $@
-recurse_uninstall:
- @for dir in $(BUILDDIRS); do \
- $(MAKE) -C $$dir uninstall || exit $?; \
- done
+multipath multipathd mpathpersist: libmultipath
+mpathpersist: libmpathpersist
-clean: recurse_clean
+$(BUILDDIRS.clean):
+ $(MAKE) -C ${@:.clean=} clean
-install: recurse_install
+$(BUILDDIRS:=.install):
+ $(MAKE) -C ${@:.install=} install
-uninstall: recurse_uninstall
+$(BUILDDIRS:=.uninstall):
+ $(MAKE) -C ${@:.uninstall=} uninstall
+
+clean: $(BUILDDIRS.clean)
+install: $(BUILDDIRS:=.install)
+uninstall: $(BUILDDIRS:=.uninstall)
test: all
$(MAKE) -C tests
--
2.23.0
More information about the dm-devel
mailing list