####
#
# Makefile for tests
#
#

TEST_NAMES := $(shell find * -type f -name test.c -printf "%h\n" )

### phony targets

.PHONY:	clean glue distclean local-clean local-distclean $(TEST_NAMES)

### default target

all: $(TEST_NAMES)

### kernel target

glue:
	./glue.sh

$(TEST_NAMES): glue
	[ -f "$@/Makefile" ] &&\
		make -C $@ ||\
		make -C $@ -f ../Makefile.default

### maintenance

local-clean:
	rm -f *~ core

local-distclean: local-clean
	./unglue.sh

clean distclean:
	$(MAKE) local-$@
	for test in $(TEST_NAMES); do \
		[ -f $$test/Makefile ] &&\
			make -C $$test $@ ||\
			make -C $$test -f ../Makefile.default $@ ;\
	done
