M3BIN=../../derived/bin

DEBUG =

BUILTINS	=
#CC		= lcc -d0.1 -A
CC		= cc
CFLAGS		= $DEBUG -DDEBUG -DEXPSERVER -DNODAG
FRONT		= ../front
HEADERS		= c.h $FRONT/token.h $FRONT/ops.h 
LDFLAGS		= $DEBUG
NOTANGLE	= notangle
FROMDELTA	= c.h keywords.h ops.h token.h version.h \
		  dag.c decl.c enode.c error.c expr.c init.c \
		  input.c lex.c output.c profio.c \
		  simp.c stmt.c string.c sym.c tree.c types.c
FROMDELTAREGX   = `echo $FROMDELTA|tr -s ' 	' ' '|sed -e 's/ /|/g' -e 's/\./\\\\./g'`

all:V:		expserver
install:V:	expserver
		[ -d $M3BIN ] && cp expserver $M3BIN

clean:V:
		rm -f *~ *.o *.tex *.log *.dvi *.aux

veryclean:V: clean
		rm -f tie expserver $FROMDELTA exp.h gen.c

./tie:	tie.icn
	icont tie

^($FROMDELTAREGX):R:	$FRONT'/\1' '\1.delta' ./tie
	if [ -r $target -a ! -w $target ]; then chmod +w $target ; fi
	grep -v '^#line' $FRONT/$stem1 | ./tie - $stem1.delta > $target
	chmod -w $target

$FRONT/keywords.h:	../etc/keywords.c
		cd ../etc; $CC keywords.c; a.out >$FRONT/keywords.h; rm a.out

%.o:		%.c c.h exp.h ops.h token.h
		$CC $CFLAGS -c $stem.c

bb.o main.o:	version.h
lex.o:		keywords.h

expserver:	dag.o gen.o main.o decl.o input.o lex.o output.o string.o stmt.o \
		tree.o error.o types.o sym.o enode.o simp.o expr.o init.o profio.o \
		bb.o
		$CC $LDFLAGS -o $target $prereq

gen.c:		gen.nw
		$NOTANGLE -L $prereq > $target
exp.h:		gen.nw
		$NOTANGLE -Rheader $prereq | cpif $target

gen.tex:	gen.nw
		noweave -l -x -t2 $prereq > $target
gen.dvi: 	gen.tex
		latex gen
