summaryrefslogtreecommitdiff
path: root/mk/subdir.mk
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2008-01-10 16:35:59 +0000
committerRoy Marples <roy@marples.name>2008-01-10 16:35:59 +0000
commit43147845209873b0776bd75d363913fe25611f49 (patch)
treeab3295c30664476d8d05b0fe5fe9ace702ade5ea /mk/subdir.mk
parent2643f2e605f102d2c2fa098d0cf5400d3795ed4a (diff)
downloadopenrc-43147845209873b0776bd75d363913fe25611f49.tar.gz
openrc-43147845209873b0776bd75d363913fe25611f49.tar.bz2
openrc-43147845209873b0776bd75d363913fe25611f49.tar.xz
Allow for OS and SUBOS folders so we can introduce NetBSD scripts whilst keeping BSD for all BSD's.
Diffstat (limited to 'mk/subdir.mk')
-rw-r--r--mk/subdir.mk39
1 files changed, 39 insertions, 0 deletions
diff --git a/mk/subdir.mk b/mk/subdir.mk
new file mode 100644
index 0000000..9750235
--- /dev/null
+++ b/mk/subdir.mk
@@ -0,0 +1,39 @@
+# Recursive rules
+# Adapted from FreeBSDs bsd.subdir.mk
+# Copyright 2007-2008 Roy Marples <roy@marples.name>
+
+_+_ ?= +
+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; \
+ if test -d $$x.${OS}; then \
+ ${ECHODIR} "===> ${DIRPRFX}$$x.${OS} (${@:realinstall=install})"; \
+ cd $$x.${OS}; \
+ ${MAKE} ${@:realinstall=install} \
+ DIRPRFX=${DIRPRFX}$$x.${OS}/ || exit $$?; \
+ cd ..; \
+ fi; \
+ if test -d $$x.${SUBOS}; then \
+ ${ECHODIR} "===> ${DIRPRFX}$$x.${SUBOS} (${@:realinstall=install})"; \
+ cd $$x.${SUBOS}; \
+ ${MAKE} ${@:realinstall=install} \
+ DIRPRFX=${DIRPRFX}$$x.${SUBOS}/ || exit $$?; \
+ cd ..; \
+ fi; \
+done
+
+all:
+ ${_SUBDIR}
+clean:
+ ${_SUBDIR}
+realinstall:
+ ${_SUBDIR}
+install: realinstall ${INSTALLAFTER}
+depend:
+ ${_SUBDIR}