panthema / 2007 / flex-bison-cpp-example / flex-bison-cpp-example-0.1.4 / src / Makefile.plain (Download File)
# $Id$
# plain simple Makefile to build exprtest

CXX = g++
LEX = flex
YACC = bison

CXXFLAGS = -W -Wall -Wextra -ansi -g
LDFLAGS = 

HEADERS = driver.h parser.h scanner.h expression.h \
    y.tab.h FlexLexer.h location.hh position.hh stack.hh

all: exprtest

# Generate scanner and parser

parser.cc: parser.yy
	$(YACC) -o parser.cc --defines=parser.h parser.yy

scanner.cc: scanner.ll
	$(LEX) -o scanner.cc scanner.ll

# Implicit rule to compile c++ files

%.o: %.cc
	$(CXX) $(CXXFLAGS) -c -o $@ $<

# Link executable

exprtest: exprtest.o parser.o scanner.o driver.o
	$(CXX) $(LDFLAGS) -o $@ exprtest.o parser.o scanner.o driver.o

clean:
	rm -f exprtest *.o

extraclean: clean
	rm -f parser.cc parser.h scanner.cc