aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mk/subdir.mk')
-rw-r--r--mk/subdir.mk31
1 files changed, 31 insertions, 0 deletions
diff --git a/mk/subdir.mk b/mk/subdir.mk
new file mode 100644
index 0000000..7f198f8
--- /dev/null
+++ b/mk/subdir.mk
@@ -0,0 +1,31 @@
+# Recursive rules
+# Adapted from FreeBSDs bsd.subdir.mk
+# Copyright (c) 2007-2008 Roy Marples <roy@marples.name>
+# Released under the 2-clause BSD license.
+
+_+_ ?= +
+ECHODIR ?= echo
+_SUBDIR = @${_+_}for x in ${SUBDIR}; do \
+ if test -d $$x; then \
+ ${ECHODIR} "===> ${DIRPRFX}$$x (${@:realinstall=install})"; \
+ cd $$x; \
+ ${MAKE} ${@:realinstall=install} \
+ DIRPRFX=${DIRPRFX}$$x/ || exit $$?; \
+ cd ..; \
+ fi; \
+done
+
+all:
+ ${_SUBDIR}
+clean:
+ @if test -n "${CLEANFILES}"; then echo "rm -f ${CLEANFILES}"; rm -f ${CLEANFILES}; fi
+ ${_SUBDIR}
+realinstall:
+ ${_SUBDIR}
+install: realinstall ${INSTALLAFTER}
+check test::
+ ${_SUBDIR}
+depend:
+ ${_SUBDIR}
+ignore:
+ ${_SUBDIR}