91 lines
2.3 KiB
Makefile
91 lines
2.3 KiB
Makefile
CPP = c++
|
|
ifeq ($(DEBUG),yes)
|
|
CPPFLAGS = -ggdb -pg -Wall
|
|
FLEXFLAGS = -i -d
|
|
else
|
|
ifeq ($(VALGRIND), yes)
|
|
CPPFLAGS = -Wall -O -g -fno-inline
|
|
FLEXFLAGS = -i
|
|
else
|
|
CPPFLAGS = -O2 -Wall
|
|
FLEXFLAGS = -i
|
|
endif
|
|
endif
|
|
|
|
COMMON_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
|
|
|
|
MATLAB_OBJ = InterfaceMatlab.o
|
|
|
|
SCILAB_OBJ = InterfaceScilab.o
|
|
|
|
|
|
################################################################################
|
|
### Build ######################################################################
|
|
################################################################################
|
|
|
|
all: dynare_m dynare_s
|
|
|
|
dynare_m: $(COMMON_OBJ) $(MATLAB_OBJ)
|
|
$(CPP) $(CPPFLAGS) -o dynare_m $(COMMON_OBJ) $(MATLAB_OBJ) ;\
|
|
cp dynare_m ../matlab/
|
|
|
|
dynare_s: $(COMMON_OBJ) $(SCILAB_OBJ)
|
|
$(CPP) $(CPPFLAGS) -o dynare_s $(COMMON_OBJ) $(SCILAB_OBJ) ;\
|
|
cp dynare_s ../scilab/
|
|
|
|
|
|
################################################################################
|
|
### 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 $(COMMON_OBJ:.o=.P) $(MATLAB_OBJ:.o=.P) $(SCILAB_OBJ:.o=.P)
|
|
|
|
DynareFlex.cc: DynareFlex.ll include/DynareScanner.hh include/DynareBison.hh
|
|
flex $(FLEXFLAGS) -oDynareFlex.cc DynareFlex.ll
|
|
|
|
DynareBison.cc include/DynareBison.hh: DynareBison.yy include/DynareParser.hh
|
|
(bison -v -d -b --verbose -o DynareBison.cc DynareBison.yy; mv DynareBison.hh include/)
|
|
|
|
|
|
################################################################################
|
|
### Clean ######################################################################
|
|
################################################################################
|
|
|
|
clean:
|
|
rm -f *.o *.P \
|
|
DynareBison.cc \
|
|
include/DynareBison.hh \
|
|
DynareBison.output \
|
|
DynareFlex.cc \
|
|
dynare_m \
|
|
dynare_s
|
|
|
|
# Local variables:
|
|
# mode: makefile
|
|
# End:
|