diff mk/subdir.mk @ 0:13d2b8934445

Import AnaGram (near-)release tree into Mercurial.
author David A. Holland
date Sat, 22 Dec 2007 17:52:45 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mk/subdir.mk	Sat Dec 22 17:52:45 2007 -0500
@@ -0,0 +1,39 @@
+#
+# subdir.mk - recurse into subdirectories, in portable make.
+#
+# Before including, set:
+#    SUBDIRS                     directories to recurse into
+#    MORESUBDIRS                 extra directories for rules and distclean
+#    TARGETS (optional)          all targets to provide
+#    MORETARGETS (optional)      additional targets to provide
+#    MYDISTCLEANFILES (optional) files to remove at distclean time
+#
+# Note that directories may be listed in both SUBDIRS and MORESUBDIRS
+# without causing things to duplicate.
+#
+
+TARGETS?=all rules depend agfiles agclean tidy clean distclean $(MORETARGETS)
+
+include $(BUILDTOP)/config.mk
+include rules.mk
+include depend.mk
+
+rules:
+	@$(MAKE) rules-here
+	@$(MAKE) rules-subdirs
+
+rules-here:
+	@$(TOP)/mk/subdir-rules.sh "$(TARGETS)" "$(SUBDIRS)" \
+		"$(MORESUBDIRS)" > rules.mk
+#	@echo '        [RULES]'
+
+distclean:
+	@$(MAKE) distclean-subdirs
+	@$(MAKE) distclean-here
+	@if [ "x$(MYDISTCLEANFILES)" != x ]; then \
+	   echo '        [RM]      $(MYDISTCLEANFILES)'; \
+	   rm -f $(MYDISTCLEANFILES); \
+	 fi
+
+.PHONY: rules rules-here rules-subdirs
+.PHONY: distclean distclean-here distclean-subdirs