###
### This file is part of the Cforall project
###
### $Id: module.mk,v 1.12 2005/08/30 19:11:40 rcbilson Exp $
###

YACC=bison
YFLAGS=-d --debug -v
LEX=flex
LFLAGS=

SRC += Parser/cfa.y \
       Parser/lex.l \
       Parser/TypedefTable.cc \
       Parser/ParseNode.cc \
       Parser/DeclarationNode.cc \
       Parser/ExpressionNode.cc \
       Parser/StatementNode.cc \
       Parser/InitializerNode.cc \
       Parser/TypeData.cc \
       Parser/LinkageSpec.cc \
       Parser/parseutility.cc \
       Parser/Parser.cc

EXTRA_OUTPUT += Parser/cfa.tab.cc \
                Parser/cfa.tab.h \
		Parser/lex.yy.cc \
		Parser/cfa.output

LIBS += -lfl

Parser/Parser.cc: Parser/cfa.tab.h

Parser/cfa.tab.cc: Parser/cfa.y
	$(YACC) $(YFLAGS) $< --file-prefix=Parser/cfa
	-mv Parser/cfa.tab.c Parser/cfa.tab.cc

Parser/cfa.tab.h: Parser/cfa.tab.cc

Parser/lex.yy.cc: Parser/lex.l Parser/cfa.tab.h Parser/TypedefTable.h
	$(LEX) $(LFLAGS) -o$@ $< 

Parser/lex.yy.o: Parser/lex.yy.cc Parser/ParseNode.h
	$(CXX) $(CXXFLAGS) -Wno-unused -c -o $@ $<
