--- /usr/ports/devel/cocktail/work/cocktail-9309//./Makefile	Tue Feb 15 14:20:36 1994
+++ ./Makefile	Fri Sep 10 17:31:02 2004
@@ -17,58 +17,21 @@
 # *                                                                       *
 # *************************************************************************
 
-# Choose a suitable C compiler
-# usually cc or gcc will do
-# on HP700 use: CC = c89 -D_HPUX_SOURCE
-CC	= cc
-
-# Choose (optimizer) flags for the C compiler
-OPT	=
-
-# Choose a suitable Modula compiler
-# MC or M2C
-MC	= MC
-
-# BSD needs this
-MAKE	= make
-
-# The place to install shell scripts and binaries
-BIN	= $(HOME)/bin
-
-# The place to install binaries and data files
-LIB	= $(HOME)/lib
-
-# Directory for man pages
-MANDIR	= $(HOME)/lib
-
-# Where to put include files for reuse
-INCDIR	= $(LIB)/include
-
-# The following targets are legal:
-# PCS10
-# PCS20
-# SUN (this is valid for all others)
-TARGET	= SUN
-
-# For PCS10 you must define
-# OPT = "-DPCS10"
-
-# Choose the source language:
-LANGUAGE = c
-# LANGUAGE = modula
+.include "Makefile.inc"
 
 # ****************************************************************
 # *	DON'T CHANGE ANYTHING BELOW THIS LINE !
 # ****************************************************************
 
-MFLAGS	= BIN=$(BIN) LIB=$(LIB) CC=$(CC) OPT=$(OPT) MC=$(MC) HOME=$(HOME)
+ROOTDIR = $(.CURDIR)
 
 CTARGETS = \
 	reuselib \
 	c_reuse \
 	c_common \
-	c_rex \
 	c_front \
+	c_rex \
+	installtmp \
 	c_bnf \
 	c_ell \
 	c_lalr \
@@ -79,7 +42,8 @@
 	c_rpp \
 	c_cg \
 	c_puma \
-	c_estra
+	c_estra \
+	mtc
 
 MTARGETS = \
 	reuselib \
@@ -104,12 +68,19 @@
 
 install:	install$(LANGUAGE)
 
-reuselib:
-	@echo; echo "Making public reuse library"
-	cd reuse/c && $(MAKE) $(MFLAGS) TARGET=$(TARGET)
+full: $(LANGUAGE) test
+
+diff:	clean
+	-diff -rwPu -x'*cat' -x'?akefile*' ../cocktail-9309.org . > /tmp/cocktail.code.dif
+	-diff -rwPu -x'*cat' -x'*h' -x'*c' ../cocktail-9309.org . > /tmp/cocktail.makefiles.dif
 
 c:	$(CTARGETS)
 
+reuselib:
+	@echo WRKDIR = ${WRKDIR}
+	@echo; echo "Making public reuse library"
+	cd reuse/c && $(MAKE) TARGET=$(TARGET) $(MFLAGS)
+
 c_reuse:
 	@echo; echo "Making local reuse library"
 	cd reuse/m2c && $(MAKE) $(MFLAGS)
@@ -156,18 +127,33 @@
 	@echo; echo "Making estra"
 	cd estra/m2c && $(MAKE) $(MFLAGS)
 
-installc:	c_reuse c_common
-	sh -c "if test ! -d $(BIN); then mkdir -p $(BIN); else true; fi"
-	sh -c "if test ! -d $(LIB); then mkdir -p $(LIB); else true; fi"
-	sh -c "if test ! -d $(MANDIR); then mkdir -p $(MANDIR); else true; fi"
-	sh -c "if test ! -d $(INCDIR); then mkdir -p $(INCDIR); else true; fi"
-	cd reuse/c	&& $(MAKE) install $(MFLAGS) TARGET=$(TARGET) INCDIR=$(INCDIR)
+mtc:	$(REUSELIB)
+	@echo; echo "Making mtc"
+	cd mtc/m2c && $(MAKE) $(MFLAGS)
+
+installtmp: c_reuse c_common c_front c_rex c_lalr c_bnf
+	mkdir -p $(TMPBIN)
+	mkdir -p $(TMPLIB)
+	mkdir -p $(TMPINC)
+	cd reuse/c	&& $(MAKE) install PREFIX=$(TMPDIR)
+	cd front/m2c	&& $(MAKE) install PREFIX=$(TMPDIR)
+	cd rex/m2c	&& $(MAKE) install PREFIX=$(TMPDIR)
+	cd lalr/m2c	&& $(MAKE) install PREFIX=$(TMPDIR)
+	cd bnf/m2c	&& $(MAKE) install PREFIX=$(TMPDIR)
+
+installc:	
+	sh -c "if test ! -d $(DESTBIN); then mkdir -p $(DESTBIN); else true; fi"
+	sh -c "if test ! -d $(DESTLIB); then mkdir -p $(DESTLIB); else true; fi"
+	sh -c "if test ! -d $(DESTMANDIR); then mkdir -p $(DESTMANDIR); else true; fi"
+	sh -c "if test ! -d $(DESTMANDIR2); then mkdir -p $(DESTMANDIR2); else true; fi"
+	sh -c "if test ! -d $(DESTINCDIR); then mkdir -p $(DESTINCDIR); else true; fi"
+	cd reuse/c	&& $(MAKE) install $(MFLAGS) TARGET=$(TARGET) 
 	cd rex/m2c	&& $(MAKE) install $(MFLAGS)
 	cd front/m2c	&& $(MAKE) install $(MFLAGS)
+	cd front/doc	&& $(MAKE) install $(MFLAGS)
 	cd bnf/m2c	&& $(MAKE) install $(MFLAGS)
 	cd ell/m2c	&& $(MAKE) install $(MFLAGS)
 	cd lalr/m2c	&& $(MAKE) install $(MFLAGS)
-	cd front/doc	&& $(MAKE) install $(MFLAGS)
 	cd l2r/src	&& $(MAKE) install $(MFLAGS)
 	cd y2l/src	&& $(MAKE) install $(MFLAGS)
 	cd r2l/m2c	&& $(MAKE) install $(MFLAGS)
@@ -176,7 +162,10 @@
 	cd cg/m2c	&& $(MAKE) install $(MFLAGS)
 	cd puma/m2c	&& $(MAKE) install $(MFLAGS)
 	cd estra/m2c	&& $(MAKE) install $(MFLAGS)
-	cd man && cp * $(MANDIR) && chmod a+r $(MANDIR)/*.1
+	cd mtc/m2c	&& $(MAKE) install $(MFLAGS)
+	cd man && cp * $(DESTMANDIR) && chmod a+r $(DESTMANDIR)/*.1
+	cp mtc/doc/*.1 $(DESTMANDIR) && chmod a+r $(DESTMANDIR)/*.1
+	cp mtc/doc/*.2 $(DESTMANDIR2) && chmod a+r $(DESTMANDIR2)/*.2
 
 
 modula:	$(MTARGETS)
@@ -228,52 +217,51 @@
 	sh -c "if test ! -d $(BIN); then mkdir -p $(BIN); else true; fi"
 	sh -c "if test ! -d $(LIB); then mkdir -p $(LIB); else true; fi"
 	sh -c "if test ! -d $(MANDIR); then mkdir -p $(MANDIR); else true; fi"
+	sh -c "if test ! -d $(MANDIR2); then mkdir -p $(MANDIR2); else true; fi"
 	sh -c "if test ! -d $(INCDIR); then mkdir -p $(INCDIR); else true; fi"
-	cd reuse/c	&& $(MAKE) install $(MFLAGS) TARGET=$(TARGET) INCDIR=$(INCDIR)
-	cd rex/src	&& $(MAKE) install $(MFLAGS)
-	cd front/src	&& $(MAKE) install $(MFLAGS)
-	cd bnf/src	&& $(MAKE) install $(MFLAGS)
-	cd ell/src	&& $(MAKE) install $(MFLAGS)
-	cd lalr/src	&& $(MAKE) install $(MFLAGS)
-	cd front/doc	&& $(MAKE) install $(MFLAGS)
-	cd l2r/src	&& $(MAKE) install $(MFLAGS)
-	cd y2l/src	&& $(MAKE) install $(MFLAGS)
-	cd r2l/src	&& $(MAKE) install $(MFLAGS)
-	cd l2cg/src	&& $(MAKE) install $(MFLAGS)
-	cd rpp/src	&& $(MAKE) install $(MFLAGS)
-	cd cg/src	&& $(MAKE) install $(MFLAGS)
-	cd puma/src	&& $(MAKE) install $(MFLAGS)
-	cd mpp/src	&& $(MAKE) install $(MFLAGS)
-	cd estra/src	&& $(MAKE) install $(MFLAGS)
+	cd reuse/c	&& $(MAKE) install  TARGET=$(TARGET) INCDIR=$(INCDIR)
+	cd rex/src	&& $(MAKE) install 
+	cd front/src	&& $(MAKE) install 
+	cd front/doc	&& $(MAKE) install 
+	cd bnf/src	&& $(MAKE) install 
+	cd ell/src	&& $(MAKE) install 
+	cd lalr/src	&& $(MAKE) install 
+	cd l2r/src	&& $(MAKE) install 
+	cd y2l/src	&& $(MAKE) install 
+	cd r2l/src	&& $(MAKE) install 
+	cd l2cg/src	&& $(MAKE) install 
+	cd rpp/src	&& $(MAKE) install 
+	cd cg/src	&& $(MAKE) install 
+	cd puma/src	&& $(MAKE) install 
+	cd mpp/src	&& $(MAKE) install 
+	cd estra/src	&& $(MAKE) install 
 	cd man && cp * $(MANDIR) && chmod a+r $(MANDIR)/*.1
+	cp mtc/doc/*.1 $(MANDIR) && chmod a+r $(MANDIR)/*.1
+	cp mtc/doc/*.2 $(MANDIR2) && chmod a+r $(MANDIR2)/*.2
 
 test:
-	-cd specs/c/ada			&& $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR)
-	-cd specs/c/c			&& $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR)
-	-cd specs/c/cpp			&& $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR)
-	-cd specs/c/modula2		&& $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR)
-	-cd specs/c/modula2.ell		&& $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR)
-	-cd specs/c/sather		&& $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR)
-	-cd specs/c/sql			&& $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR)
-	-cd specs/c/oberon2		&& $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR)
-	-cd specs/c/minilax		&& $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR) minilax
-	-cd specs/c/wag			&& $(MAKE) -i LIB=$(LIB) INCDIR=$(INCDIR) minilax
-	-cd specs/modula/ada		&& $(MAKE) -i
-	-cd specs/modula/modula2	&& $(MAKE) -i
-	-cd specs/modula/modula2.ell	&& $(MAKE) -i
-	-cd specs/modula/modula3	&& $(MAKE) -i
-	-cd specs/modula/oberon		&& $(MAKE) -i
-	-cd specs/modula/pascal		&& $(MAKE) -i
-	-cd specs/modula/minilax	&& $(MAKE) -i minilax
-	-cd specs/modula/wag		&& $(MAKE) -i minilax
+	make install PREFIX=$(TMPDIR)
+	make testc
 
-clean:
+testc:
+	cd specs	&& $(MAKE) testc
+	cd puma/ffaba-c	&& $(MAKE) test
+
+testm:
+	cd specs	&& $(MAKE) testm
+	cd puma/ffaba-m	&& $(MAKE) test
+
+clean: cleantest cleantools
+
+cleantools:
+	-rm -rf $(TMPDIR)/bin $(TMPDIR)/include $(TMPDIR)/libexec
 	-cd reuse/c			&& $(MAKE) clean
 	-cd reuse/src			&& $(MAKE) clean
 	-cd common/src			&& $(MAKE) clean
 	-cd rex/src			&& $(MAKE) clean
 	-cd rex/test			&& $(MAKE) clean
 	-cd front/src			&& $(MAKE) clean
+	-cd front/doc			&& $(MAKE) clean
 	-cd bnf/src			&& $(MAKE) clean
 	-cd lalr/src			&& $(MAKE) clean
 	-cd ell/src			&& $(MAKE) clean
@@ -299,23 +287,10 @@
 	-cd cg/m2c			&& $(MAKE) clean
 	-cd puma/m2c			&& $(MAKE) clean
 	-cd estra/m2c			&& $(MAKE) clean
+	-cd mtc/m2c			&& $(MAKE) clean
+
+cleantest:
+	-cd specs			&& $(MAKE) clean
+	-cd puma/ffaba-c		&& $(MAKE) clean
+	-cd puma/ffaba-m		&& $(MAKE) clean
 
-cleans:
-	-cd specs/c/ada			&& $(MAKE) clean
-	-cd specs/c/c			&& $(MAKE) clean
-	-cd specs/c/cpp			&& $(MAKE) clean
-	-cd specs/c/modula2		&& $(MAKE) clean
-	-cd specs/c/modula2.ell		&& $(MAKE) clean
-	-cd specs/c/sather		&& $(MAKE) clean
-	-cd specs/c/sql			&& $(MAKE) clean
-	-cd specs/c/oberon2		&& $(MAKE) clean
-	-cd specs/c/minilax		&& $(MAKE) clean
-	-cd specs/c/wag			&& $(MAKE) clean
-	-cd specs/modula/ada		&& $(MAKE) clean
-	-cd specs/modula/modula2	&& $(MAKE) clean
-	-cd specs/modula/modula2.ell	&& $(MAKE) clean
-	-cd specs/modula/modula3	&& $(MAKE) clean
-	-cd specs/modula/oberon		&& $(MAKE) clean
-	-cd specs/modula/pascal		&& $(MAKE) clean
-	-cd specs/modula/minilax	&& $(MAKE) clean
-	-cd specs/modula/wag		&& $(MAKE) clean
