1CXX		?= g++
2LD		= $(CXX)
3CXXFILES	= parser.cc lexer.cc expr.cc canvas.cc aamath.cc
4OBJS		= $(CXXFILES:.cc=.o)
5TARGET		= aamath
6CFLAGS		+= -Wall -DUSE_READLINE
7LIBS		= -lreadline -ltermcap
8
9$(TARGET): $(OBJS)
10	$(LD) $(LDFLAGS) $(OBJS) -o $@ $(LIBS)
11
12yacc: parser.y
13	yacc -d parser.y
14
15parser.cc: yacc
16	mv y.tab.c parser.cc
17
18parser.h: yacc
19	mv y.tab.h parser.h
20
21lexer.cc: lexer.l parser.h
22	lex lexer.l && mv lex.yy.c lexer.cc
23
24.cc.o:
25	$(CXX) $(CFLAGS) -c $<
26
27clean:
28	rm -f *.o lexer.cc parser.h parser.cc $(TARGET)
29
30all: $(TARGET)
31