#
CFLAGS=	-O 
CC=gcc
SRCS=	chat.c
OBJS=	chat.o

CALCS = calc.c parser.c
CALCO = calc.o parser.o

all: chat

chat: ${OBJS} 
	${CC} -o $@ ${CFLAGS} ${OBJS} -lm

calc: ${CALCO} 
	${CC} -o $@ ${CFLAGS} ${CALCO} -lm

clean:
	rm -f ${OBJS} core chat

lint: ${SRCS}
	lint ${CFLAGS} ${SRCS}

tags: ${SRCS}
	ctags ${SRCS}

depend: ${SRCS} ${CALCS}
	mkdep $(SRCS) ${CALCS} > makedep
	@echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep
	@echo '$$r makedep' >>eddep
	@echo 'w' >>eddep
	@cp Makefile Makefile.bak
	@ex - Makefile < eddep
	-@rm eddep makedep

calc.tok calc.err calc.ptb calc.sem: calc.bnf
	chat calc

perrors.h: calc.err
	cp calc.err perrors.h

ptables.h: calc.ptb
	cp calc.ptb ptables.h

semant.h: calc.sem
	cp calc.sem semant.h

tokens.h: calc.tok
	cp calc.tok tokens.h

# DO NOT DELETE THIS LINE
chat.o: chat.c
calc.o: calc.c parser.h
parser.o: parser.c parser.h errors.h ptables.h stables.h semant.h scanner.h
