# /*** # * Shane Beasley # * EECS 473: Compiler Design # * Machine Problem 4: Using Bison # ***/ SHELL=/bin/sh CC=gcc CXX=g++ LEX=/usr/local/gnu/bin/flex YACC=/usr/local/gnu/bin/bison CXXFLAGS=-g LDFLAGS=-lfl EXE=parser OBJ=scanner.o parser.o main.o NEWSRC=scanner.cc parser.cc parser.h parser.output all: $(EXE) ; @echo @perl -wle 'print "Run \x1B[1mparser input_file\x1B[0m to parse input_file. Enjoy!";' @echo parser: scanner.o parser.o main.o $(CXX) scanner.o parser.o main.o -o parser $(LDFLAGS) %.o: %.cc $(CXX) $< -o $@ -c $(CXXFLAGS) parser.cc parser.h: parser.y $(YACC) -d -v parser.y mv parser.tab.c parser.cc mv parser.tab.h parser.h scanner.cc: scanner.lex parser.h decls.h $(LEX) scanner.lex mv lex.yy.c scanner.cc clean : ; $(RM) $(EXE) $(OBJ) $(NEWSRC) $(LIB) core