dynare/parser.src/Makefile.linux

86 lines
2.3 KiB
Makefile

CPP = c++
ifeq ($(DEBUG),yes)
CPPFLAGS = -ggdb -pg -Wall
FLEXFLAGS = -i -d
else
CPPFLAGS = -O2 -Wall
FLEXFLAGS = -i
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 include/DynareBison.h
$(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.h include/DynareBison.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 -f *.o *.P \
DynareBison.cc \
include/DynareBison.h \
DynareBison.output \
DynareFlex.cc \
dynare_m \
dynare_s
# Local variables:
# mode: makefile
# End: