106 lines
2.0 KiB
Makefile
106 lines
2.0 KiB
Makefile
CXX = @CXX@
|
|
CXXFLAGS = @CXXFLAGS@
|
|
CPPFLAGS = @CPPFLAGS@ @DEFS@
|
|
LDFLAGS = @LDFLAGS@
|
|
|
|
FLEX = @FLEX@
|
|
BISON = @BISON@
|
|
|
|
DYNARE_M = dynare_m@EXEEXT@
|
|
|
|
MAIN_OBJS = \
|
|
DynareFlex.o \
|
|
DynareBison.o \
|
|
ComputingTasks.o \
|
|
ModelTree.o \
|
|
StaticModel.o \
|
|
DynamicModel.o \
|
|
NumericalConstants.o \
|
|
NumericalInitialization.o \
|
|
Shocks.o \
|
|
SigmaeInitialization.o \
|
|
SymbolTable.o \
|
|
SymbolList.o \
|
|
ParsingDriver.o \
|
|
DataTree.o \
|
|
ModFile.o \
|
|
Statement.o \
|
|
ExprNode.o \
|
|
MinimumFeedbackSet.o \
|
|
IncidenceMatrix.o \
|
|
BlockTriangular.o \
|
|
DynareMain.o \
|
|
DynareMain2.o
|
|
|
|
MACRO_OBJS = \
|
|
macro/MacroFlex.o \
|
|
macro/MacroBison.o \
|
|
macro/MacroDriver.o \
|
|
macro/MacroValue.o
|
|
|
|
|
|
# Build rules
|
|
|
|
.PHONY: all
|
|
all: $(DYNARE_M)
|
|
|
|
$(DYNARE_M): $(MAIN_OBJS) $(MACRO_OBJS)
|
|
$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $(DYNARE_M) $(MAIN_OBJS) $(MACRO_OBJS)
|
|
cp $(DYNARE_M) ../matlab/
|
|
|
|
|
|
# Build rules for Flex and Bison files
|
|
|
|
DynareFlex.cc: DynareFlex.ll
|
|
$(FLEX) -oDynareFlex.cc DynareFlex.ll
|
|
|
|
DynareBison.cc DynareBison.hh location.hh stack.hh position.hh: DynareBison.yy
|
|
$(BISON) --verbose -o DynareBison.cc DynareBison.yy
|
|
|
|
macro/MacroFlex.cc: macro/MacroFlex.ll
|
|
cd macro && $(FLEX) -oMacroFlex.cc MacroFlex.ll
|
|
|
|
macro/MacroBison.cc macro/MacroBison.hh macro/location.hh macro/stack.hh macro/position.hh: macro/MacroBison.yy
|
|
cd macro && $(BISON) --verbose -o MacroBison.cc MacroBison.yy
|
|
|
|
|
|
# Dependencies
|
|
|
|
%.d: %.cc DynareBison.hh macro/MacroBison.hh
|
|
@set -e; rm -f $@; \
|
|
$(CXX) -MM $(CPPFLAGS) $< > $@.$$$$; \
|
|
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
|
|
rm -f $@.$$$$
|
|
|
|
-include $(MAIN_OBJS:.o=.d)
|
|
-include $(MACRO_OBJS:.o=.d)
|
|
|
|
|
|
# Clean
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
rm -f *.o *.d *~ \
|
|
DynareFlex.cc \
|
|
DynareBison.output \
|
|
DynareBison.cc \
|
|
position.hh \
|
|
stack.hh \
|
|
location.hh \
|
|
DynareBison.hh \
|
|
$(DYNARE_M)
|
|
cd macro && rm -f *.o *.d *~ \
|
|
MacroFlex.cc \
|
|
MacroBison.output \
|
|
MacroBison.cc \
|
|
MacroBison.hh \
|
|
location.hh \
|
|
stack.hh \
|
|
position.hh
|
|
|
|
|
|
# Recreate Makefile when necessary
|
|
|
|
Makefile: Makefile.in ../config.status
|
|
cd .. && ./config.status
|