CC= gcc $(CFLAGS)
CFLAGS= -ansi -g
OBJECTS= parser.o scanner.o modeq.o progout.o coerce.o main.o
COMMON= common.h clauses.h mode.h

CTANGLE= ctangle $(CTFLAGS)
CWEAVE = cweave $(CWFLAGS)
CWFLAGS= +dme
CTFLAGS=

.SUFFIXES: .tex .dvi .w

a68:		$(OBJECTS)
		$(CC) -o a68 $(OBJECTS)

.w.tex:
		$(CWEAVE) $*

.tex.dvi:	
		tex $*

.w.c:
		$(CTANGLE) $*

.c.o:
		$(CC) -c $<

parser.c parser.h newtokens: syntax68
		bison --output-file=parser.c --defines syntax68

verblex:
		$(CC) -c -Dverbose scanner.c

verbose:	verblex
		make a68

extoks.h:	scanner.w
		$(CTANGLE) scanner

mode.h:		modeq.w
		$(CTANGLE) modeq

$(OBJECTS):	$(COMMON)

scanner.o:	parser.h extoks.h
parser.o:	parstree.c
modeq.o:	extoks.h
progout.o:	parser.h extoks.h

