dynare/parser.src/Makefile

95 lines
2.3 KiB
Makefile

CPP = c++
ifeq ($(DEBUG),yes)
CPPFLAGS = -mno-cygwin -ggdb -pg -Wall
FLEXFLAGS = -i
else
ifeq ($(MINGW),yes)
CPPFLAGS = -O2
FLEXFLAGS = -i -d
else
CPPFLAGS = -mno-cygwin -O2
FLEXFLAGS = -i
endif
endif
OBJ=\
DynareFlex.o\
DynareBison.o\
ComputingTasks.o\
DynareMain.o\
Expression.o\
ModelParameters.o\
ModelTree.o\
NumericalConstants.o\
NumericalInitialization.o\
OperatorTable.o\
OutputFile.o\
Shocks.o\
SigmaeInitialization.o\
SymbolTable.o\
TmpSymbolTable.o\
VariableTable.o\
DynareParser.o\
DataTree.o
################################################################################
### Build ######################################################################
################################################################################
all: dynare.exe
dynare.exe: $(OBJ)
$(CPP) $(CPPFLAGS) -o dynare.exe $(OBJ);\
cp dynare.exe ../matlab/dynare_m.exe;\
################################################################################
### Compile ####################################################################
################################################################################
%.o : %.cc
$(CPP) $(CPPFLAGS) -MD -I include -c $<
@cp $*.d $*.P; \
sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
-e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
rm -f $*.d
-include $(OBJ:.o=.P)
DynareFlex.cc: DynareFlex.ll include/DynareScanner.h
flex $(FLEXFLAGS) -oDynareFlex.cc DynareFlex.ll
DynareBison.cc include/DynareBison.h: DynareBison.yy include/DynareParser.h
(bison -v -d -b --verbose -o DynareBison.cc DynareBison.yy; mv DynareBison.hh include/DynareBison.h)
################################################################################
### Clean ######################################################################
################################################################################
clean:
rm "ComputingTasks.o" \
"DynareParser.o" \
"DynareBison.o" \
"DynareFlex.o" \
"DynareMain.o" \
"Expression.o" \
"ModelParameters.o" \
"ModelTree.o" \
"NumericalConstants.o" \
"NumericalInitialization.o" \
"OperatorTable.o" \
"OutputFile.o" \
"Shocks.o" \
"SigmaeInitialization.o" \
"SymbolTable.o" \
"TmpSymbolTable.o" \
"VariableTable.o" \
"DataTree.o" \
"dynare.exe" \
"DynareBison.cc" \
"include/DynareBison.h" \
"DynareFlex.cc"