summaryrefslogtreecommitdiff
path: root/makefiles/gmake/sub.mk
diff options
context:
space:
mode:
Diffstat (limited to 'makefiles/gmake/sub.mk')
-rw-r--r--makefiles/gmake/sub.mk26
1 files changed, 26 insertions, 0 deletions
diff --git a/makefiles/gmake/sub.mk b/makefiles/gmake/sub.mk
new file mode 100644
index 0000000..4279696
--- /dev/null
+++ b/makefiles/gmake/sub.mk
@@ -0,0 +1,26 @@
+# makefile for a sub package
+#
+# requires:
+# - TOPDIR
+# - SUBDIRS
+# - INCLUDE_DIRS
+#
+# provides:
+# - target: all targets
+
+-include $(TOPDIR)/makefiles/gmake/platform.mk
+-include $(TOPDIR)/makefiles/gmake/compiler.mk
+
+.PHONY: all $(SUBDIRS) local_all
+all: $(OBJS) $(CPPOBJS) $(BIN_OBJS) $(CPP_BIN_OBJS) $(BINS) $(CPP_BINS) $(CMODULES) $(CPPMODULES) local_all
+ @test -z "$(SUBDIRS)" || ( set -e; for d in $(SUBDIRS)""; do \
+ (set -e; $(MAKE) -C $$d all || exit 1); done)
+
+.PHONY: test local_test
+test: $(OBJS) $(TEST_OBJS) $(CPPOBJS) $(BIN_OBJS) $(BINS) $(CPP_BINS) $(TEST_BINS) $(TEST_CPP_BINS) $(CMODULES) $(CPPMODULES) local_test
+ @test -z "$(SUBDIRS)" || ( set -e; for d in $(SUBDIRS)""; do \
+ (set -e; $(MAKE) -C $$d test || exit 1); done)
+
+-include $(TOPDIR)/makefiles/gmake/depend.mk
+-include $(TOPDIR)/makefiles/gmake/clean.mk
+-include $(TOPDIR)/makefiles/gmake/install.mk