cvs -q diff -u
Index: config/gen/makefiles/languages.in
===================================================================
RCS file: /cvs/public/parrot/config/gen/makefiles/languages.in,v
retrieving revision 1.13
diff -u -u -r1.13 languages.in
--- config/gen/makefiles/languages.in	8 Apr 2004 17:45:30 -0000	1.13
+++ config/gen/makefiles/languages.in	13 Jun 2004 11:49:05 -0000
@@ -1,121 +1,170 @@
+# $Id$
+
 PERL = ${perl}
 ${make_set_make}
 MAKE_C = ${make_c}
+LANGUAGES = BASIC befunge bf cola forth jako m4 miniperl ook parrot_compiler perl6 regex scheme tcl urm
 
-all : befunge bf cola m4 ook perl6 regex tcl urm
-	@echo "SKIPPED: scheme: (nothing to make, but should not default to make test)"
-
-complete-all : all jako scheme
-
-test: 
-	$(PERL) -I ../lib testall
-
-complete-test: test cola.test
+# the default target
+all: $(LANGUAGES)
 
 # This is a listing of all targets, that are meant to be called by users
 help:
 	@echo ""
 	@echo "Following targets are available for the user:"
 	@echo ""
-	@echo "  all:          A lot of language implementations."
-	@echo "                     This is the default."
-	@echo "  test:         Test suite for a lot of languages."
+	@echo "  all:          Make a lot of language implementations."
+	@echo "                This is the default."
+	@echo "  test:         Unified test suite for a lot of languages."
+	@echo ""
+	@echo "  clean:        Clean up a lot of languages."
+	@echo ""
+	@echo "  update:       Get newest sources from CVS."
+	@echo ""
+	@echo "  help:         Print this help message."
+	@echo ""
+	@echo "Following languages are available:"
+	@echo "  $(LANGUAGES)"
+	@echo "A particular language <lang> can be built, tested and cleand up" 
+	@echo "  make <lang>"
+	@echo "  make <lang>.test"
+	@echo "  make <lang>.clean"
+	@echo "For the status of individual languages see LANGUAGES.STATUS"
 	@echo ""
 
-# Could someone please comment on the reason for all these *.dummy
-# targets?
-# I have no idea, Bernhard Schmalhofer
-jako: jako.dummy
-
-jako.dummy:
-	$(MAKE_C) jako
-
-jako.test:
-	cd jako && $(MAKE) test && cd ..
-
-scheme: scheme.dummy
-
-scheme.dummy:
-	$(MAKE_C) scheme
+test: 
+	$(PERL) -I ../lib testall
 
-scheme.test:
-	$(MAKE_C) scheme test
+update:
+	cvs -q update -dP
 
-regex: regex.dummy
+clean: BASIC.clean befunge.clean bf.clean cola.clean forth.clean jako.clean m4.clean miniperl.clean ook.clean parrot_compiler.clean perl6.clean regex.clean scheme.clean tcl.clean urm.clean
 
-regex.dummy:
-	$(MAKE_C) regex
 
-regex.test :
-	$(MAKE_C) regex test
+#
+# Language specific targets
+#
+
+# The *.dummy targets are a replacement for the target .PHONY in 'GNU make'
+
+BASIC : BASIC.dummy
+BASIC.dummy:
+	# don't know how to build
+BASIC.test:
+	# Don't know how to test
+BASIC.clean:
+	# Don't know how to clean
 
 befunge : befunge.dummy
-
 befunge.dummy:
 	$(MAKE_C) befunge
-
 befunge.test:
 	$(MAKE_C) befunge test
+befunge.clean:
+	$(MAKE_C) befunge clean
 
 bf : bf.dummy
-
 bf.dummy:
 	$(MAKE_C) bf
-
 bf.test:
 	$(MAKE_C) bf test
+bf.clean:
+	$(MAKE_C) bf clean
 
 cola : cola.dummy
-
 cola.dummy:
 	$(MAKE_C) cola
-
 cola.test:
-	cd cola && $(MAKE) test && cd ..
+	$(MAKE_C) cola test
+cola.clean:
+	# don't clean cola, as files in MANIFEST are removed
+
+forth : forth.dummy
+forth.dummy:
+	# Nothing to do for forth
+forth.test:
+	# Looks like there are no tests for forth
+forth.clean:
+	# no Makefile
 
-ook : ook.dummy
+jako: jako.dummy
+jako.dummy:
+	# don't make jako, as tests are executed by default
+jako.test:
+	$(MAKE_C) jako test
+jako.clean:
+	$(MAKE_C) jako clean
 
+m4: m4.dummy
+m4.dummy:
+	$(MAKE_C) m4
+m4.test:
+	$(MAKE_C) m4 test
+m4.clean:
+	$(MAKE_C) m4 clean
+
+miniperl : miniperl.dummy
+miniperl.dummy:
+	# missing t/harness
+	# $(MAKE_C) miniperl
+miniperl.test:
+	$(MAKE_C) miniperl test
+miniperl.clean:
+	$(MAKE_C) miniperl clean
+
+ook : ook.dummy
 ook.dummy:
 	$(MAKE_C) ook
-
 ook.test:
 	$(MAKE_C) ook test
+ook.clean:
+	$(MAKE_C) ook clean
 
-m4 : m4.dummy
-
-m4.dummy:
-	$(MAKE_C) m4
-
-m4.test:
-	$(MAKE_C) m4 test
+parrot_compiler: parrot_compiler.dummy
+parrot_compiler.dummy:
+	$(MAKE_C) parrot_compiler
+parrot_compiler.test:
+	# no target test in Makefile
+	# (MAKE_C) parrot_compiler test
+parrot_compiler.clean:
+	$(MAKE_C) parrot_compiler clean
 
 perl6 : perl6.dummy
-
 perl6.dummy:
 	$(MAKE_C) perl6
-
 perl6.test:
 	$(MAKE_C) perl6 test
+perl6.clean:
+	$(MAKE_C) perl6 clean
 
-tcl:
-	$(MAKE_C) tcl
+regex: regex.dummy
+regex.dummy:
+	$(MAKE_C) regex
+regex.test :
+	$(MAKE_C) regex test
+regex.clean :
+	# No target clean for regex 
+
+scheme: scheme.dummy
+scheme.dummy:
+	@echo "SKIPPED: scheme: (nothing to make, but should not default to make test)"
+scheme.test :
+	$(MAKE_C) scheme test
+scheme.clean :
+	$(MAKE_C) scheme clean
 
+tcl: tcl.dummy
+tcl.dummy:
+	$(MAKE_C) tcl
 tcl.test:
 	$(MAKE_C) tcl test
+tcl.clean:
+	$(MAKE_C) tcl clean
 
 urm: urm.dummy
-
 urm.dummy:
 	$(MAKE_C) urm
-
 urm.test:
 	$(MAKE_C) urm test
-
-clean:
-	$(MAKE_C) befunge clean
-	$(MAKE_C) jako clean
-	$(MAKE_C) m4 clean
-	$(MAKE_C) scheme clean
-
-update:
-	cvs -q update -dP
+urm.clean:
+	$(MAKE_C) urm clean
