diff options
Diffstat (limited to 'makefiles/top.mk')
-rw-r--r-- | makefiles/top.mk | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/makefiles/top.mk b/makefiles/top.mk new file mode 100644 index 0000000..98993f7 --- /dev/null +++ b/makefiles/top.mk @@ -0,0 +1,30 @@ +# top-level makefile for a package +# +# requires: +# - TOPDIR +# - SUBDIRS +# +# provides: +# - target 'all' +# - target 'clean' +# - target 'distclean' +# - target 'test' + +.PHONY: all +all: + @test -z "$(SUBDIRS)" || ( set -e; for d in $(SUBDIRS)""; do \ + (set -e; $(MAKE) -C $$d all || exit 1); done) + +.PHONY: clean +clean: + @test -z "$(SUBDIRS)" || ( set -e; for d in $(SUBDIRS)""; do \ + (set -e; $(MAKE) -C $$d clean || exit 1); done) + +.PHONY: distclean +distclean: clean + test -z "$(SUBDIRS)" || ( set -e; for d in $(SUBDIRS)""; do \ + (set -e; $(MAKE) -C $$d distclean || exit 1); done) + +.PHONY: test +test: all + @$(MAKE) -C tests test |