MAKE = ${make}

all : imcc regex befunge bf cola ook perl6
	@echo "SKIPPED: scheme (nothing to make, but should not default to make test)"
	@echo "SKIPPED: jako (fallen behind imcc changes)"

complete-all : imcc jako regex scheme befunge bf cola ook perl6

test: imcc.test regex.test scheme.test befunge.test bf.test ook.test perl6.test
	@echo "SKIPPED: jako (fallen behind imcc changes)"
	@echo "SKIPPED: cola (no make test)"

complete-test: imcc.test jako.test regex.test scheme.test befunge.test bf.test cola.test ook.test perl6.test

# Could someone please comment on the reason for all these *.dummy
# targets?
imcc: imcc.dummy

imcc.dummy:
	cd imcc && $(MAKE) && cd ..

imcc.test:
	cd imcc && $(MAKE) test && cd ..

jako: jako.dummy imcc.dummy

jako.dummy:
	cd jako && $(MAKE) && cd ..

jako.test:
	cd jako && $(MAKE) test && cd ..

scheme: scheme.dummy

scheme.dummy:
	cd scheme && $(MAKE) && cd ..

scheme.test:
	cd scheme && $(MAKE) test && cd ..

regex: regex.dummy

regex.dummy:
	cd regex && $(MAKE) && cd ..

regex.test :
	cd regex && $(MAKE) test && cd ..

befunge : befunge.dummy

befunge.dummy:
	cd befunge && $(MAKE) && cd ..

befunge.test:
	cd befunge && $(MAKE) test && cd ..

bf : bf.dummy

bf.dummy:
	cd bf && $(MAKE) && cd ..

bf.test:
	cd bf && $(MAKE) test && cd ..

cola : cola.dummy

cola.dummy:
	cd cola && $(MAKE) && cd ..

cola.test:
	cd cola && $(MAKE) test && cd ..

ook : ook.dummy

ook.dummy:
	cd ook && $(MAKE) && cd ..

ook.test:
	cd ook && $(MAKE) test && cd ..

perl6 : perl6.dummy

perl6.dummy:
	cd perl6 && $(MAKE) && cd ..

perl6.test:
	cd perl6 && $(MAKE) test && cd ..

clean:
	cd imcc && $(MAKE) clean && cd ..
	cd jako && $(MAKE) clean && cd ..
	cd scheme && $(MAKE) clean && cd ..

update:
	cvs -q update -dP
