CHDIR = cd

all: library

library:
	@for lib in ./*; \
	do \
		if [ -d "$${lib}" -a -r "$${lib}/Makefile" ]; then \
			($(CHDIR) "$${lib}" && $(MAKE) library) || exit 1; \
		fi \
	done

library-lean:
	@for lib in ./*; \
	do \
		if [ -d "$${lib}" -a -r "$${lib}/Makefile" ]; then \
			($(CHDIR) "$${lib}" && $(MAKE) library-lean) \
				|| exit 1; \
		fi \
	done

check:
	@for lib in ./*; \
	do \
		if [ -d "$${lib}" -a -r "$${lib}/Makefile" ]; then \
			if grep '^check:' "$${lib}"/Makefile \
				1>/dev/null 2>&1 ; then \
				($(CHDIR) "$${lib}" && $(MAKE) check) \
					|| exit 1; \
			fi \
		fi \
	done

clean:
	@for lib in ./*; \
	do \
		if [ -d "$${lib}" -a -r "$${lib}/Makefile" ]; then \
			($(CHDIR) "$${lib}" && $(MAKE) clean) || exit 1; \
		fi \
	done

diff:
	($(CHDIR) .. && $(MAKE) diff)


.PHONY: all library library-lean check clean diff
