Commit e5f31e4e authored by sebastien's avatar sebastien
Browse files

Build system:

* added dynare_simul_ DLL
* factorized in a library object the Dynare++ code shared between gensylv, k_order_perturbation and dynare_simul_


git-svn-id: https://www.dynare.org/svn/dynare/trunk@3114 ac1d8469-bf42-47a9-8791-bf33cf982152
parent 3d755ad8
vpath %.cpp $(top_srcdir)/../../../dynare++/extern/matlab
noinst_PROGRAMS = dynare_simul_
# Can't use gensylv_CPPFLAGS, because it interacts badly with VPATH
CPPFLAGS += -I$(top_srcdir)/../../../dynare++/sylv/cc -I$(top_srcdir)/../../../dynare++/tl/cc -I$(top_srcdir)/../../../dynare++/kord -I$(top_srcdir)/../../sources
dynare_simul__LDADD = ../libdynare++/libdynare++.a
nodist_dynare_simul__SOURCES = dynare_simul.cpp
vpath %.cpp $(top_srcdir)/../../../dynare++/sylv/cc $(top_srcdir)/../../../dynare++/sylv/matlab vpath %.cpp $(top_srcdir)/../../../dynare++/sylv/matlab
vpath %.h $(top_srcdir)/../../../dynare++/sylv/cc
noinst_PROGRAMS = gensylv noinst_PROGRAMS = gensylv
# Can't use gensylv_CPPFLAGS, because it interacts badly with VPATH # Can't use gensylv_CPPFLAGS, because it interacts badly with VPATH
CPPFLAGS += -I$(top_srcdir)/../../../dynare++/sylv/cc -I$(top_srcdir)/../../sources CPPFLAGS += -I$(top_srcdir)/../../../dynare++/sylv/cc -I$(top_srcdir)/../../sources
nodist_gensylv_SOURCES = \ gensylv_LDADD = ../libdynare++/libdynare++.a
gensylv.cpp \
BlockDiagonal.cpp \ nodist_gensylv_SOURCES = gensylv.cpp
GeneralMatrix.cpp \
GeneralSylvester.cpp \
IterativeSylvester.cpp \
KronUtils.cpp \
KronVector.cpp \
QuasiTriangular.cpp \
QuasiTriangularZero.cpp \
SchurDecomp.cpp \
SchurDecompEig.cpp \
SimilarityDecomp.cpp \
SylvException.cpp \
SylvMatrix.cpp \
SylvMemory.cpp \
SylvParams.cpp \
TriangularSylvester.cpp \
Vector.cpp \
BlockDiagonal.h \
GeneralMatrix.h \
GeneralSylvester.h \
IterativeSylvester.h \
KronUtils.h \
KronVector.h \
QuasiTriangular.h \
QuasiTriangularZero.h \
SchurDecomp.h \
SchurDecompEig.h \
SimilarityDecomp.h \
SylvException.h \
SylvMatrix.h \
SylvMemory.h \
SylvParams.h \
TriangularSylvester.h \
Vector.h \
SylvesterSolver.h
vpath %.cpp $(top_srcdir)/../../sources/k_order_perturbation $(top_srcdir)/../../../dynare++/sylv/cc $(top_srcdir)/../../../dynare++/tl/cc $(top_srcdir)/../../../dynare++/kord $(top_srcdir)/../../../dynare++/integ/cc $(top_srcdir)/../../../dynare++/src vpath %.cpp $(top_srcdir)/../../sources/k_order_perturbation
noinst_PROGRAMS = k_order_perturbation noinst_PROGRAMS = k_order_perturbation
...@@ -7,79 +7,11 @@ CPPFLAGS += -I$(top_srcdir)/../../../dynare++/src -I$(top_srcdir)/../../../dynar ...@@ -7,79 +7,11 @@ CPPFLAGS += -I$(top_srcdir)/../../../dynare++/src -I$(top_srcdir)/../../../dynar
CXXFLAGS += $(PTHREAD_CFLAGS) CXXFLAGS += $(PTHREAD_CFLAGS)
LIBS += $(PTHREAD_LIBS) $(LIBADD_DLOPEN) k_order_perturbation_LDADD = $(PTHREAD_LIBS) $(LIBADD_DLOPEN) ../libdynare++/libdynare++.a
KORD_SRCS = \
faa_di_bruno.cpp \
korder_stoch.cpp \
journal.cpp \
decision_rule.cpp \
dynamic_model.cpp \
random.cpp \
first_order.cpp \
normal_conjugate.cpp \
approximation.cpp \
global_check.cpp \
korder.cpp
SYLV_SRCS = \
IterativeSylvester.cpp \
QuasiTriangular.cpp \
QuasiTriangularZero.cpp \
GeneralMatrix.cpp \
GeneralSylvester.cpp \
SimilarityDecomp.cpp \
SylvException.cpp \
SchurDecompEig.cpp \
Vector.cpp \
TriangularSylvester.cpp \
SylvParams.cpp \
BlockDiagonal.cpp \
KronVector.cpp \
SylvMemory.cpp \
SymSchurDecomp.cpp \
SylvMatrix.cpp \
SchurDecomp.cpp \
KronUtils.cpp
TL_SRCS = \
normal_moments.cpp \
int_sequence.cpp \
tensor.cpp \
ps_tensor.cpp \
pyramid_prod2.cpp \
equivalence.cpp \
fine_container.cpp \
kron_prod.cpp \
t_polynomial.cpp \
symmetry.cpp \
stack_container.cpp \
twod_matrix.cpp \
sparse_tensor.cpp \
sthread.cpp \
gs_tensor.cpp \
pyramid_prod.cpp \
fs_tensor.cpp \
permutation.cpp \
rfs_tensor.cpp \
t_container.cpp \
tl_static.cpp
INTEG_SRCS = \
product.cpp \
quadrature.cpp \
quasi_mcarlo.cpp \
smolyak.cpp \
vector_function.cpp
nodist_k_order_perturbation_SOURCES = \ nodist_k_order_perturbation_SOURCES = \
k_order_perturbation.cpp \ k_order_perturbation.cpp \
k_ord_dynare.cpp \ k_ord_dynare.cpp \
k_ord_dynare.h \ k_ord_dynare.h \
dynamic_dll.cpp \ dynamic_dll.cpp \
dynamic_dll.h \ dynamic_dll.h
$(KORD_SRCS) \
$(TL_SRCS) \
$(SYLV_SRCS) \
$(INTEG_SRCS) \
nlsolve.cpp
vpath %.cpp $(top_srcdir)/../../../dynare++/sylv/cc $(top_srcdir)/../../../dynare++/tl/cc $(top_srcdir)/../../../dynare++/kord $(top_srcdir)/../../../dynare++/integ/cc $(top_srcdir)/../../../dynare++/src
noinst_LIBRARIES = libdynare++.a
# Can't use k_order_perturbation_CPPFLAGS, because it interacts badly with VPATH
CPPFLAGS += -I$(top_srcdir)/../../../dynare++/src -I$(top_srcdir)/../../../dynare++/kord -I$(top_srcdir)/../../../dynare++/tl/cc -I$(top_srcdir)/../../../dynare++/utils/cc -I$(top_srcdir)/../../../dynare++/sylv/cc -I$(top_srcdir)/../../../dynare++/integ/cc -I$(top_srcdir)/../../sources
CXXFLAGS += $(PTHREAD_CFLAGS)
KORD_SRCS = \
faa_di_bruno.cpp \
korder_stoch.cpp \
journal.cpp \
decision_rule.cpp \
dynamic_model.cpp \
random.cpp \
first_order.cpp \
normal_conjugate.cpp \
approximation.cpp \
global_check.cpp \
korder.cpp
SYLV_SRCS = \
IterativeSylvester.cpp \
QuasiTriangular.cpp \
QuasiTriangularZero.cpp \
GeneralMatrix.cpp \
GeneralSylvester.cpp \
SimilarityDecomp.cpp \
SylvException.cpp \
SchurDecompEig.cpp \
Vector.cpp \
TriangularSylvester.cpp \
SylvParams.cpp \
BlockDiagonal.cpp \
KronVector.cpp \
SylvMemory.cpp \
SymSchurDecomp.cpp \
SylvMatrix.cpp \
SchurDecomp.cpp \
KronUtils.cpp
TL_SRCS = \
normal_moments.cpp \
int_sequence.cpp \
tensor.cpp \
ps_tensor.cpp \
pyramid_prod2.cpp \
equivalence.cpp \
fine_container.cpp \
kron_prod.cpp \
t_polynomial.cpp \
symmetry.cpp \
stack_container.cpp \
twod_matrix.cpp \
sparse_tensor.cpp \
sthread.cpp \
gs_tensor.cpp \
pyramid_prod.cpp \
fs_tensor.cpp \
permutation.cpp \
rfs_tensor.cpp \
t_container.cpp \
tl_static.cpp
INTEG_SRCS = \
product.cpp \
quadrature.cpp \
quasi_mcarlo.cpp \
smolyak.cpp \
vector_function.cpp
nodist_libdynare___a_SOURCES = \
$(KORD_SRCS) \
$(TL_SRCS) \
$(SYLV_SRCS) \
$(INTEG_SRCS) \
nlsolve.cpp
ACLOCAL_AMFLAGS = -I ../../../m4 ACLOCAL_AMFLAGS = -I ../../../m4
# libdynare++ must come before gensylv, k_order_perturbation, dynare_simul_
if DO_SOMETHING if DO_SOMETHING
SUBDIRS = mjdgges gensylv kronecker bytecode k_order_perturbation SUBDIRS = mjdgges kronecker bytecode libdynare++ gensylv k_order_perturbation dynare_simul_
endif endif
EXTRA_DIST = mex.def mexFunction-MacOSX.map EXTRA_DIST = mex.def mexFunction-MacOSX.map
...@@ -47,6 +47,7 @@ fi ...@@ -47,6 +47,7 @@ fi
AC_PROG_CC AC_PROG_CC
AC_PROG_CXX AC_PROG_CXX
AC_PROG_RANLIB
AX_PROG_LN_S AX_PROG_LN_S
AX_PTHREAD AX_PTHREAD
# Check for dlopen(), needed by k_order_perturbation DLL # Check for dlopen(), needed by k_order_perturbation DLL
...@@ -59,8 +60,10 @@ AC_CONFIG_FILES([Makefile ...@@ -59,8 +60,10 @@ AC_CONFIG_FILES([Makefile
mjdgges/Makefile mjdgges/Makefile
kronecker/Makefile kronecker/Makefile
gensylv/Makefile gensylv/Makefile
libdynare++/Makefile
bytecode/Makefile bytecode/Makefile
k_order_perturbation/Makefile]) k_order_perturbation/Makefile
dynare_simul_/Makefile])
if test "x$ax_enable_matlab" = "xyes" -a "x$ax_matlab_version_ok" = "xyes" -a "x$ax_mexopts_ok" = "xyes"; then if test "x$ax_enable_matlab" = "xyes" -a "x$ax_matlab_version_ok" = "xyes" -a "x$ax_mexopts_ok" = "xyes"; then
if test x"$ax_pthread_ok" = "xyes"; then if test x"$ax_pthread_ok" = "xyes"; then
......
include ../mex.am
include ../../dynare_simul_.am
include ../mex.am
include ../../libdynare++.am
ACLOCAL_AMFLAGS = -I ../../../m4 ACLOCAL_AMFLAGS = -I ../../../m4
# libdynare++ must come before gensylv, k_order_perturbation, dynare_simul_
if DO_SOMETHING if DO_SOMETHING
SUBDIRS = mjdgges gensylv kronecker bytecode k_order_perturbation SUBDIRS = mjdgges kronecker bytecode libdynare++ gensylv k_order_perturbation dynare_simul_
endif endif
...@@ -33,6 +33,7 @@ fi ...@@ -33,6 +33,7 @@ fi
AC_PROG_CC AC_PROG_CC
AC_PROG_CXX AC_PROG_CXX
AC_PROG_RANLIB
AX_PROG_LN_S AX_PROG_LN_S
AX_PTHREAD AX_PTHREAD
# Check for dlopen(), needed by k_order_perturbation DLL # Check for dlopen(), needed by k_order_perturbation DLL
...@@ -63,8 +64,10 @@ Binaries (with "make"): ...@@ -63,8 +64,10 @@ Binaries (with "make"):
AC_CONFIG_FILES([Makefile AC_CONFIG_FILES([Makefile
mjdgges/Makefile mjdgges/Makefile
kronecker/Makefile kronecker/Makefile
gensylv/Makefile
bytecode/Makefile bytecode/Makefile
k_order_perturbation/Makefile]) libdynare++/Makefile
gensylv/Makefile
k_order_perturbation/Makefile
dynare_simul_/Makefile])
AC_OUTPUT AC_OUTPUT
include ../mex.am
include ../../dynare_simul_.am
include ../mex.am
include ../../libdynare++.am
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment