From bdc95f23aa74d1ae82e6e6a07587bd1a8009f0c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= Date: Fri, 5 Apr 2019 16:53:59 +0200 Subject: [PATCH] Make MEX build system forward-compatible with Automake 2.0 We now use a symbolic link farm to make source file accessible from build directories. Closes #466 --- .gitignore | 6 + mex/build/block_kalman_filter.am | 12 +- mex/build/bytecode.am | 26 +-- mex/build/dynare_simul_.am | 10 +- mex/build/gensylv.am | 10 +- mex/build/k_order_perturbation.am | 24 +-- mex/build/kalman_steady_state.am | 8 +- mex/build/kronecker.am | 10 +- mex/build/libdynare++.am | 203 +++++++++------------- mex/build/local_state_space_iterations.am | 8 +- mex/build/mjdgges.am | 8 +- mex/build/ms_sbvar.am | 110 +++++++----- mex/build/qmc_sequence.am | 12 +- 13 files changed, 246 insertions(+), 201 deletions(-) diff --git a/.gitignore b/.gitignore index 8d31f229c..b965d94c2 100644 --- a/.gitignore +++ b/.gitignore @@ -88,6 +88,12 @@ doc/internals/ltxpng /mex/matlab/ /mex/octave/ +# Symbolic links created for building MEX files +/mex/build/matlab/*/*.c +/mex/build/matlab/*/*.cc +/mex/build/octave/*/*.c +/mex/build/octave/*/*.cc + # Dynare++ /dynare++/integ/src/quadrature-points.dSYM/ /dynare++/src/dynare++.dSYM/ diff --git a/mex/build/block_kalman_filter.am b/mex/build/block_kalman_filter.am index 0d0a6ef06..381d3a874 100644 --- a/mex/build/block_kalman_filter.am +++ b/mex/build/block_kalman_filter.am @@ -1,3 +1,13 @@ mex_PROGRAMS = block_kalman_filter -nodist_block_kalman_filter_SOURCES = $(top_srcdir)/../../sources/block_kalman_filter/block_kalman_filter.cc +TOPDIR = $(top_srcdir)/../../sources/block_kalman_filter + +block_kalman_filter_CPPFLAGS = $(AM_CPPFLAGS) -I$(TOPDIR) + +nodist_block_kalman_filter_SOURCES = block_kalman_filter.cc + +BUILT_SOURCES = $(nodist_block_kalman_filter_SOURCES) +CLEANFILES = $(nodist_block_kalman_filter_SOURCES) + +%.cc: $(TOPDIR)/%.cc + $(LN_S) -f $< $@ diff --git a/mex/build/bytecode.am b/mex/build/bytecode.am index 8720c316a..117eef0c9 100644 --- a/mex/build/bytecode.am +++ b/mex/build/bytecode.am @@ -1,18 +1,18 @@ mex_PROGRAMS = bytecode -bytecode_CPPFLAGS = -Wno-maybe-uninitialized $(AM_CPPFLAGS) -I$(top_srcdir)/../../sources -I$(top_srcdir)/../../sources/bytecode -I$(top_srcdir)/../../../preprocessor/src - TOPDIR = $(top_srcdir)/../../sources/bytecode -nodist_bytecode_SOURCES = \ - $(TOPDIR)/bytecode.cc \ - $(TOPDIR)/Interpreter.cc \ - $(TOPDIR)/Mem_Mngr.cc \ - $(TOPDIR)/SparseMatrix.cc \ - $(TOPDIR)/Evaluate.cc \ - $(TOPDIR)/Interpreter.hh \ - $(TOPDIR)/Mem_Mngr.hh \ - $(TOPDIR)/SparseMatrix.hh \ - $(TOPDIR)/Evaluate.hh \ - $(TOPDIR)/ErrorHandling.hh +bytecode_CPPFLAGS = -Wno-maybe-uninitialized $(AM_CPPFLAGS) -I$(TOPDIR) -I$(top_srcdir)/../../../preprocessor/src +nodist_bytecode_SOURCES = \ + bytecode.cc \ + Interpreter.cc \ + Mem_Mngr.cc \ + SparseMatrix.cc \ + Evaluate.cc + +BUILT_SOURCES = $(nodist_bytecode_SOURCES) +CLEANFILES = $(nodist_bytecode_SOURCES) + +%.cc: $(TOPDIR)/%.cc + $(LN_S) -f $< $@ diff --git a/mex/build/dynare_simul_.am b/mex/build/dynare_simul_.am index 9de547351..83173a180 100644 --- a/mex/build/dynare_simul_.am +++ b/mex/build/dynare_simul_.am @@ -1,10 +1,16 @@ mex_PROGRAMS = dynare_simul_ -dynare_simul__CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/../../../dynare++/sylv/cc -I$(top_srcdir)/../../../dynare++/tl/cc -I$(top_srcdir)/../../../dynare++/kord -I$(top_srcdir)/../../../dynare++/utils/cc -I$(top_srcdir)/../../sources $(CPPFLAGS_MATIO) +dynare_simul__CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/../../../dynare++/sylv/cc -I$(top_srcdir)/../../../dynare++/tl/cc -I$(top_srcdir)/../../../dynare++/kord -I$(top_srcdir)/../../../dynare++/utils/cc $(CPPFLAGS_MATIO) dynare_simul__CXXFLAGS = $(AM_CXXFLAGS) $(THREAD_CXXFLAGS) dynare_simul__LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_MATIO) dynare_simul__LDADD = ../libdynare++/libdynare++.a $(LIBADD_MATIO) -nodist_dynare_simul__SOURCES = $(top_srcdir)/../../../dynare++/extern/matlab/dynare_simul.cc +nodist_dynare_simul__SOURCES = dynare_simul.cc + +BUILT_SOURCES = $(nodist_dynare_simul__SOURCES) +CLEANFILES = $(nodist_dynare_simul__SOURCES) + +%.cc: $(top_srcdir)/../../../dynare++/extern/matlab/%.cc + $(LN_S) -f $< $@ diff --git a/mex/build/gensylv.am b/mex/build/gensylv.am index fc562fc51..34f2cd682 100644 --- a/mex/build/gensylv.am +++ b/mex/build/gensylv.am @@ -1,7 +1,13 @@ mex_PROGRAMS = gensylv -gensylv_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/../../../dynare++/sylv/cc -I$(top_srcdir)/../../../dynare++/utils/cc -I$(top_srcdir)/../../sources +gensylv_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/../../../dynare++/sylv/cc -I$(top_srcdir)/../../../dynare++/utils/cc gensylv_LDADD = ../libdynare++/libdynare++.a -nodist_gensylv_SOURCES = $(top_srcdir)/../../../dynare++/sylv/matlab/gensylv.cc +nodist_gensylv_SOURCES = gensylv.cc + +BUILT_SOURCES = $(nodist_gensylv_SOURCES) +CLEANFILES = $(nodist_gensylv_SOURCES) + +%.cc: $(top_srcdir)/../../../dynare++/sylv/matlab/%.cc + $(LN_S) -f $< $@ diff --git a/mex/build/k_order_perturbation.am b/mex/build/k_order_perturbation.am index e58d0ce43..5492a6e91 100644 --- a/mex/build/k_order_perturbation.am +++ b/mex/build/k_order_perturbation.am @@ -1,20 +1,22 @@ mex_PROGRAMS = k_order_perturbation -k_order_perturbation_CPPFLAGS = $(AM_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 $(CPPFLAGS_MATIO) +TOPDIR = $(top_srcdir)/../../sources/k_order_perturbation + +k_order_perturbation_CPPFLAGS = $(AM_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$(TOPDIR) $(CPPFLAGS_MATIO) k_order_perturbation_CXXFLAGS = $(AM_CXXFLAGS) $(THREAD_CXXFLAGS) k_order_perturbation_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_MATIO) k_order_perturbation_LDADD = ../libdynare++/libdynare++.a $(LIBADD_DLOPEN) $(LIBADD_MATIO) -TOPDIR = $(top_srcdir)/../../sources/k_order_perturbation - nodist_k_order_perturbation_SOURCES = \ - $(TOPDIR)/k_order_perturbation.cc \ - $(TOPDIR)/k_ord_dynare.cc \ - $(TOPDIR)/k_ord_dynare.hh \ - $(TOPDIR)/dynamic_dll.cc \ - $(TOPDIR)/dynamic_dll.hh \ - $(TOPDIR)/dynamic_abstract_class.hh \ - $(TOPDIR)/dynamic_m.cc \ - $(TOPDIR)/dynamic_m.hh + k_order_perturbation.cc \ + k_ord_dynare.cc \ + dynamic_dll.cc \ + dynamic_m.cc + +BUILT_SOURCES = $(nodist_k_order_perturbation_SOURCES) +CLEANFILES = $(nodist_k_order_perturbation_SOURCES) + +%.cc: $(TOPDIR)/%.cc + $(LN_S) -f $< $@ diff --git a/mex/build/kalman_steady_state.am b/mex/build/kalman_steady_state.am index 0e037b17e..21f03ecae 100644 --- a/mex/build/kalman_steady_state.am +++ b/mex/build/kalman_steady_state.am @@ -3,4 +3,10 @@ mex_PROGRAMS = kalman_steady_state kalman_steady_state_LDADD = $(LIBADD_SLICOT) kalman_steady_state_LDFLAGS = $(AM_LDFLAGS) $(LDFLAGS_SLICOT) -nodist_kalman_steady_state_SOURCES = $(top_srcdir)/../../sources/kalman_steady_state/kalman_steady_state.cc +nodist_kalman_steady_state_SOURCES = kalman_steady_state.cc + +BUILT_SOURCES = $(nodist_kalman_steady_state_SOURCES) +CLEANFILES = $(nodist_kalman_steady_state_SOURCES) + +%.cc: $(top_srcdir)/../../sources/kalman_steady_state/%.cc + $(LN_S) -f $< $@ diff --git a/mex/build/kronecker.am b/mex/build/kronecker.am index dade98e38..b570bf72a 100644 --- a/mex/build/kronecker.am +++ b/mex/build/kronecker.am @@ -1,4 +1,10 @@ mex_PROGRAMS = sparse_hessian_times_B_kronecker_C A_times_B_kronecker_C -nodist_sparse_hessian_times_B_kronecker_C_SOURCES = $(top_srcdir)/../../sources/kronecker/sparse_hessian_times_B_kronecker_C.cc -nodist_A_times_B_kronecker_C_SOURCES = $(top_srcdir)/../../sources/kronecker/A_times_B_kronecker_C.cc +nodist_sparse_hessian_times_B_kronecker_C_SOURCES = sparse_hessian_times_B_kronecker_C.cc +nodist_A_times_B_kronecker_C_SOURCES = A_times_B_kronecker_C.cc + +BUILT_SOURCES = $(nodist_sparse_hessian_times_B_kronecker_C_SOURCES) $(nodist_A_times_B_kronecker_C_SOURCES) +CLEANFILES = $(nodist_sparse_hessian_times_B_kronecker_C_SOURCES) $(nodist_A_times_B_kronecker_C_SOURCES) + +%.cc: $(top_srcdir)/../../sources/kronecker/%.cc + $(LN_S) -f $< $@ diff --git a/mex/build/libdynare++.am b/mex/build/libdynare++.am index 15a314cee..4324003c9 100644 --- a/mex/build/libdynare++.am +++ b/mex/build/libdynare++.am @@ -1,137 +1,79 @@ noinst_LIBRARIES = libdynare++.a -libdynare___a_CPPFLAGS = $(AM_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 $(CPPFLAGS_MATIO) - -libdynare___a_CXXFLAGS = $(AM_CXXFLAGS) $(THREAD_CXXFLAGS) - TOPDIR = $(top_srcdir)/../../../dynare++ +libdynare___a_CPPFLAGS = $(AM_CPPFLAGS) -I$(TOPDIR)/src -I$(TOPDIR)/kord -I$(TOPDIR)/tl/cc -I$(TOPDIR)/utils/cc -I$(TOPDIR)/sylv/cc -I$(TOPDIR)/integ/cc $(CPPFLAGS_MATIO) + +libdynare___a_CXXFLAGS = $(AM_CXXFLAGS) $(THREAD_CXXFLAGS) + KORD_SRCS = \ - $(TOPDIR)/kord/approximation.cc \ - $(TOPDIR)/kord/approximation.hh \ - $(TOPDIR)/kord/decision_rule.cc \ - $(TOPDIR)/kord/decision_rule.hh \ - $(TOPDIR)/kord/dynamic_model.cc \ - $(TOPDIR)/kord/dynamic_model.hh \ - $(TOPDIR)/kord/faa_di_bruno.cc \ - $(TOPDIR)/kord/faa_di_bruno.hh \ - $(TOPDIR)/kord/first_order.cc \ - $(TOPDIR)/kord/first_order.hh \ - $(TOPDIR)/kord/global_check.cc \ - $(TOPDIR)/kord/global_check.hh \ - $(TOPDIR)/kord/kord_exception.hh \ - $(TOPDIR)/kord/korder.cc \ - $(TOPDIR)/kord/korder.hh \ - $(TOPDIR)/kord/korder_stoch.cc \ - $(TOPDIR)/kord/korder_stoch.hh \ - $(TOPDIR)/kord/journal.cc \ - $(TOPDIR)/kord/journal.hh \ - $(TOPDIR)/kord/normal_conjugate.cc \ - $(TOPDIR)/kord/normal_conjugate.hh \ - $(TOPDIR)/kord/seed_generator.cc \ - $(TOPDIR)/kord/seed_generator.hh + approximation.cc \ + decision_rule.cc \ + dynamic_model.cc \ + faa_di_bruno.cc \ + first_order.cc \ + global_check.cc \ + korder.cc \ + korder_stoch.cc \ + journal.cc \ + normal_conjugate.cc \ + seed_generator.cc SYLV_SRCS = \ - $(TOPDIR)/sylv/cc/BlockDiagonal.cc \ - $(TOPDIR)/sylv/cc/BlockDiagonal.hh \ - $(TOPDIR)/sylv/cc/GeneralMatrix.cc \ - $(TOPDIR)/sylv/cc/GeneralMatrix.hh \ - $(TOPDIR)/sylv/cc/GeneralSylvester.cc \ - $(TOPDIR)/sylv/cc/GeneralSylvester.hh \ - $(TOPDIR)/sylv/cc/IterativeSylvester.cc \ - $(TOPDIR)/sylv/cc/IterativeSylvester.hh \ - $(TOPDIR)/sylv/cc/KronUtils.cc \ - $(TOPDIR)/sylv/cc/KronUtils.hh \ - $(TOPDIR)/sylv/cc/KronVector.cc \ - $(TOPDIR)/sylv/cc/KronVector.hh \ - $(TOPDIR)/sylv/cc/QuasiTriangular.cc \ - $(TOPDIR)/sylv/cc/QuasiTriangular.hh \ - $(TOPDIR)/sylv/cc/QuasiTriangularZero.cc \ - $(TOPDIR)/sylv/cc/QuasiTriangularZero.hh \ - $(TOPDIR)/sylv/cc/SchurDecomp.cc \ - $(TOPDIR)/sylv/cc/SchurDecomp.hh \ - $(TOPDIR)/sylv/cc/SchurDecompEig.cc \ - $(TOPDIR)/sylv/cc/SchurDecompEig.hh \ - $(TOPDIR)/sylv/cc/SimilarityDecomp.cc \ - $(TOPDIR)/sylv/cc/SimilarityDecomp.hh \ - $(TOPDIR)/sylv/cc/SylvException.cc \ - $(TOPDIR)/sylv/cc/SylvException.hh \ - $(TOPDIR)/sylv/cc/SylvMatrix.cc \ - $(TOPDIR)/sylv/cc/SylvMatrix.hh \ - $(TOPDIR)/sylv/cc/SylvParams.cc \ - $(TOPDIR)/sylv/cc/SylvParams.hh \ - $(TOPDIR)/sylv/cc/SylvesterSolver.hh \ - $(TOPDIR)/sylv/cc/SymSchurDecomp.cc \ - $(TOPDIR)/sylv/cc/SymSchurDecomp.hh \ - $(TOPDIR)/sylv/cc/TriangularSylvester.cc \ - $(TOPDIR)/sylv/cc/TriangularSylvester.hh \ - $(TOPDIR)/sylv/cc/Vector.cc \ - $(TOPDIR)/sylv/cc/Vector.hh + BlockDiagonal.cc \ + GeneralMatrix.cc \ + GeneralSylvester.cc \ + IterativeSylvester.cc \ + KronUtils.cc \ + KronVector.cc \ + QuasiTriangular.cc \ + QuasiTriangularZero.cc \ + SchurDecomp.cc \ + SchurDecompEig.cc \ + SimilarityDecomp.cc \ + SylvException.cc \ + SylvMatrix.cc \ + SylvParams.cc \ + SymSchurDecomp.cc \ + TriangularSylvester.cc \ + Vector.cc TL_SRCS = \ - $(TOPDIR)/tl/cc/equivalence.cc \ - $(TOPDIR)/tl/cc/equivalence.hh \ - $(TOPDIR)/tl/cc/fine_container.cc \ - $(TOPDIR)/tl/cc/fine_container.hh \ - $(TOPDIR)/tl/cc/fs_tensor.cc \ - $(TOPDIR)/tl/cc/fs_tensor.hh \ - $(TOPDIR)/tl/cc/gs_tensor.cc \ - $(TOPDIR)/tl/cc/gs_tensor.hh \ - $(TOPDIR)/tl/cc/int_sequence.cc \ - $(TOPDIR)/tl/cc/int_sequence.hh \ - $(TOPDIR)/tl/cc/kron_prod.cc \ - $(TOPDIR)/tl/cc/kron_prod.hh \ - $(TOPDIR)/tl/cc/normal_moments.cc \ - $(TOPDIR)/tl/cc/normal_moments.hh \ - $(TOPDIR)/tl/cc/permutation.cc \ - $(TOPDIR)/tl/cc/permutation.hh \ - $(TOPDIR)/tl/cc/ps_tensor.cc \ - $(TOPDIR)/tl/cc/ps_tensor.hh \ - $(TOPDIR)/tl/cc/pyramid_prod.cc \ - $(TOPDIR)/tl/cc/pyramid_prod.hh \ - $(TOPDIR)/tl/cc/pyramid_prod2.cc \ - $(TOPDIR)/tl/cc/pyramid_prod2.hh \ - $(TOPDIR)/tl/cc/rfs_tensor.cc \ - $(TOPDIR)/tl/cc/rfs_tensor.hh \ - $(TOPDIR)/tl/cc/sparse_tensor.cc \ - $(TOPDIR)/tl/cc/sparse_tensor.hh \ - $(TOPDIR)/tl/cc/stack_container.cc \ - $(TOPDIR)/tl/cc/stack_container.hh \ - $(TOPDIR)/tl/cc/sthread.cc \ - $(TOPDIR)/tl/cc/sthread.hh \ - $(TOPDIR)/tl/cc/symmetry.cc \ - $(TOPDIR)/tl/cc/symmetry.hh \ - $(TOPDIR)/tl/cc/t_container.cc \ - $(TOPDIR)/tl/cc/t_container.hh \ - $(TOPDIR)/tl/cc/t_polynomial.cc \ - $(TOPDIR)/tl/cc/t_polynomial.hh \ - $(TOPDIR)/tl/cc/tensor.cc \ - $(TOPDIR)/tl/cc/tensor.hh \ - $(TOPDIR)/tl/cc/tl_exception.hh \ - $(TOPDIR)/tl/cc/tl_static.cc \ - $(TOPDIR)/tl/cc/tl_static.hh \ - $(TOPDIR)/tl/cc/twod_matrix.cc \ - $(TOPDIR)/tl/cc/twod_matrix.hh + equivalence.cc \ + fine_container.cc \ + fs_tensor.cc \ + gs_tensor.cc \ + int_sequence.cc \ + kron_prod.cc \ + normal_moments.cc \ + permutation.cc \ + ps_tensor.cc \ + pyramid_prod.cc \ + pyramid_prod2.cc \ + rfs_tensor.cc \ + sparse_tensor.cc \ + stack_container.cc \ + sthread.cc \ + symmetry.cc \ + t_container.cc \ + t_polynomial.cc \ + tensor.cc \ + tl_static.cc \ + twod_matrix.cc INTEG_SRCS = \ - $(TOPDIR)/integ/cc/quadrature.cc \ - $(TOPDIR)/integ/cc/quadrature.hh \ - $(TOPDIR)/integ/cc/quasi_mcarlo.cc \ - $(TOPDIR)/integ/cc/quasi_mcarlo.hh \ - $(TOPDIR)/integ/cc/product.cc \ - $(TOPDIR)/integ/cc/product.hh \ - $(TOPDIR)/integ/cc/smolyak.cc \ - $(TOPDIR)/integ/cc/smolyak.hh \ - $(TOPDIR)/integ/cc/vector_function.cc \ - $(TOPDIR)/integ/cc/vector_function.hh \ - $(TOPDIR)/integ/cc/precalc_quadrature.hh + quadrature.cc \ + quasi_mcarlo.cc \ + product.cc \ + smolyak.cc \ + vector_function.cc UTILS_SRCS = \ - $(TOPDIR)/utils/cc/exception.hh \ - $(TOPDIR)/utils/cc/pascal_triangle.cc \ - $(TOPDIR)/utils/cc/pascal_triangle.hh \ - $(TOPDIR)/utils/cc/int_power.cc \ - $(TOPDIR)/utils/cc/int_power.hh + pascal_triangle.cc \ + int_power.cc + +OTHER_SRCS = \ + nlsolve.cc nodist_libdynare___a_SOURCES = \ $(KORD_SRCS) \ @@ -139,5 +81,20 @@ nodist_libdynare___a_SOURCES = \ $(SYLV_SRCS) \ $(INTEG_SRCS) \ $(UTILS_SRCS) \ - $(TOPDIR)/src/nlsolve.cc \ - $(TOPDIR)/src/nlsolve.hh + $(OTHER_SRCS) + +BUILT_SOURCES = $(nodist_libdynare___a_SOURCES) +CLEANFILES = $(nodist_libdynare___a_SOURCES) + +$(KORD_SRCS): %.cc: $(TOPDIR)/kord/%.cc + $(LN_S) -f $< $@ +$(TL_SRCS): %.cc: $(TOPDIR)/tl/cc/%.cc + $(LN_S) -f $< $@ +$(SYLV_SRCS): %.cc: $(TOPDIR)/sylv/cc/%.cc + $(LN_S) -f $< $@ +$(INTEG_SRCS): %.cc: $(TOPDIR)/integ/cc/%.cc + $(LN_S) -f $< $@ +$(UTILS_SRCS): %.cc: $(TOPDIR)/utils/cc/%.cc + $(LN_S) -f $< $@ +$(OTHER_SRCS): %.cc: $(TOPDIR)/src/%.cc + $(LN_S) -f $< $@ diff --git a/mex/build/local_state_space_iterations.am b/mex/build/local_state_space_iterations.am index 0b1941325..02641c8e4 100644 --- a/mex/build/local_state_space_iterations.am +++ b/mex/build/local_state_space_iterations.am @@ -1,5 +1,9 @@ -vpath %.cc $(top_srcdir)/../../sources/local_state_space_iterations - mex_PROGRAMS = local_state_space_iteration_2 nodist_local_state_space_iteration_2_SOURCES = local_state_space_iteration_2.cc + +BUILT_SOURCES = $(nodist_local_state_space_iteration_2_SOURCES) +CLEANFILES = $(nodist_local_state_space_iteration_2_SOURCES) + +%.cc: $(top_srcdir)/../../sources/local_state_space_iterations/%.cc + $(LN_S) -f $< $@ diff --git a/mex/build/mjdgges.am b/mex/build/mjdgges.am index 236bddf85..d0d072e17 100644 --- a/mex/build/mjdgges.am +++ b/mex/build/mjdgges.am @@ -1,3 +1,9 @@ mex_PROGRAMS = mjdgges -nodist_mjdgges_SOURCES = $(top_srcdir)/../../sources/mjdgges/mjdgges.c +nodist_mjdgges_SOURCES = mjdgges.c + +BUILT_SOURCES = $(nodist_mjdgges_SOURCES) +CLEANFILES = $(nodist_mjdgges_SOURCES) + +%.c: $(top_srcdir)/../../sources/mjdgges/%.c + $(LN_S) -f $< $@ diff --git a/mex/build/ms_sbvar.am b/mex/build/ms_sbvar.am index 501474e2c..400802042 100644 --- a/mex/build/ms_sbvar.am +++ b/mex/build/ms_sbvar.am @@ -6,59 +6,87 @@ DWUTILITIESDIR = $(top_srcdir)/../../../contrib/ms-sbvar/utilities_dw DYNMEXSRCDIR = $(top_srcdir)/../../sources MSMEXSRCDIR = $(DYNMEXSRCDIR)/ms-sbvar -AM_CPPFLAGS += $(GSL_CPPFLAGS) -DSTRUCTURED_COLUMN_MAJOR -I$(DYNMEXSRCDIR) -I$(MSMEXSRCDIR) -I$(DWUTILITIESDIR)/include -I$(DWSWITCHDIR)/switching -I$(DWSWITCHDIR)/state_space -I$(DWSWITCHDIR)/state_space/sbvar +AM_CPPFLAGS += $(GSL_CPPFLAGS) -DSTRUCTURED_COLUMN_MAJOR -I$(MSMEXSRCDIR) -I$(DWUTILITIESDIR)/include -I$(DWSWITCHDIR)/switching -I$(DWSWITCHDIR)/state_space -I$(DWSWITCHDIR)/state_space/sbvar LIBS += $(GSL_LIBS) AM_LDFLAGS += $(GSL_LDFLAGS) DWUTILS = \ - $(DWUTILITIESDIR)/arrays/dw_array.c \ - $(DWUTILITIESDIR)/arrays/dw_matrix_array.c \ - $(DWUTILITIESDIR)/ascii/dw_ascii.c \ - $(DWUTILITIESDIR)/ascii/dw_parse_cmd.c \ - $(DWUTILITIESDIR)/elliptical/dw_elliptical.c \ - $(DWUTILITIESDIR)/error/dw_error.c \ - $(DWUTILITIESDIR)/histogram/dw_histogram.c \ - $(DWUTILITIESDIR)/math/dw_math.c \ - $(DWUTILITIESDIR)/matrix/dw_matrix.c \ - $(DWUTILITIESDIR)/matrix/bmatrix.c \ - $(DWUTILITIESDIR)/sort/dw_matrix_sort.c \ - $(DWUTILITIESDIR)/stat/dw_rand_gsl.c \ - $(DWUTILITIESDIR)/stat/dw_matrix_rand.c + dw_array.c \ + dw_matrix_array.c \ + dw_ascii.c \ + dw_parse_cmd.c \ + dw_elliptical.c \ + dw_error.c \ + dw_histogram.c \ + dw_math.c \ + dw_matrix.c \ + bmatrix.c \ + dw_matrix_sort.c \ + dw_rand_gsl.c \ + dw_matrix_rand.c MSMEXSRC = \ - $(MSMEXSRCDIR)/mex_top_level.cc \ - $(MSMEXSRCDIR)/modify_for_mex.cc + mex_top_level.cc \ + modify_for_mex.cc nodist_ms_sbvar_create_init_file_SOURCES = \ - $(DWSWITCHDIR)/switching/dw_switch.c \ - $(DWSWITCHDIR)/switching/dw_switchio.c \ - $(DWSWITCHDIR)/switching/dw_dirichlet_restrictions.c \ - $(DWSWITCHDIR)/switching/dw_metropolis_theta.c \ - $(DWSWITCHDIR)/state_space/sbvar/create_init_file.c \ - $(DWSWITCHDIR)/state_space/sbvar/VARbase.c \ - $(DWSWITCHDIR)/state_space/sbvar/VARio.c \ - $(DWSWITCHDIR)/state_space/sbvar/VARio_matlab.c \ + dw_switch.c \ + dw_switchio.c \ + dw_dirichlet_restrictions.c \ + dw_metropolis_theta.c \ + create_init_file.c \ + VARbase.c \ + VARio.c \ + VARio_matlab.c \ $(DWUTILS) \ $(MSMEXSRC) nodist_ms_sbvar_command_line_SOURCES = \ - $(DWSWITCHDIR)/switching/dw_switch.c \ - $(DWSWITCHDIR)/switching/dw_switchio.c \ - $(DWSWITCHDIR)/switching/dw_dirichlet_restrictions.c \ - $(DWSWITCHDIR)/switching/dw_metropolis_theta.c \ - $(DWSWITCHDIR)/switching/dw_switch_opt.c \ - $(DWSWITCHDIR)/switching/dw_mdd_switch.c \ - $(DWSWITCHDIR)/state_space/sbvar/VARbase.c \ - $(DWSWITCHDIR)/state_space/sbvar/VARio.c \ - $(DWSWITCHDIR)/state_space/sbvar/dw_sbvar_command_line.c \ - $(DWSWITCHDIR)/state_space/sbvar/sbvar_estimate.c \ - $(DWSWITCHDIR)/state_space/sbvar/sbvar_simulate.c \ - $(DWSWITCHDIR)/state_space/sbvar/sbvar_probabilities.c \ - $(DWSWITCHDIR)/state_space/sbvar/sbvar_mdd.c \ - $(DWSWITCHDIR)/state_space/sbvar/sbvar_forecast.c \ - $(DWSWITCHDIR)/state_space/sbvar/sbvar_variance_decomposition.c \ - $(DWSWITCHDIR)/state_space/sbvar/sbvar_impulse_responses.c \ - $(DWSWITCHDIR)/state_space/sbvar/dw_csminwel.c \ + dw_switch.c \ + dw_switchio.c \ + dw_dirichlet_restrictions.c \ + dw_metropolis_theta.c \ + dw_switch_opt.c \ + dw_mdd_switch.c \ + VARbase.c \ + VARio.c \ + dw_sbvar_command_line.c \ + sbvar_estimate.c \ + sbvar_simulate.c \ + sbvar_probabilities.c \ + sbvar_mdd.c \ + sbvar_forecast.c \ + sbvar_variance_decomposition.c \ + sbvar_impulse_responses.c \ + dw_csminwel.c \ $(DWUTILS) \ $(MSMEXSRC) + +BUILT_SOURCES = $(nodist_ms_sbvar_create_init_file_SOURCES) $(nodist_ms_sbvar_command_line_SOURCES) +CLEANFILES = $(nodist_ms_sbvar_create_init_file_SOURCES) $(nodist_ms_sbvar_command_line_SOURCES) + +dw_array.c dw_matrix_array.c: %.c: $(DWUTILITIESDIR)/arrays/%.c + $(LN_S) -f $< $@ +dw_ascii.c dw_parse_cmd.c: %.c: $(DWUTILITIESDIR)/ascii/%.c + $(LN_S) -f $< $@ +dw_elliptical.c: %.c: $(DWUTILITIESDIR)/elliptical/%.c + $(LN_S) -f $< $@ +dw_error.c: %.c: $(DWUTILITIESDIR)/error/%.c + $(LN_S) -f $< $@ +dw_histogram.c: %.c: $(DWUTILITIESDIR)/histogram/%.c + $(LN_S) -f $< $@ +dw_math.c: %.c: $(DWUTILITIESDIR)/math/%.c + $(LN_S) -f $< $@ +dw_matrix.c bmatrix.c: %.c: $(DWUTILITIESDIR)/matrix/%.c + $(LN_S) -f $< $@ +dw_matrix_sort.c: %.c: $(DWUTILITIESDIR)/sort/%.c + $(LN_S) -f $< $@ +dw_rand_gsl.c dw_matrix_rand.c: %.c: $(DWUTILITIESDIR)/stat/%.c + $(LN_S) -f $< $@ +$(MSMEXSRC): %.cc: $(MSMEXSRCDIR)/%.cc + $(LN_S) -f $< $@ +dw_switch.c dw_switchio.c dw_dirichlet_restrictions.c dw_metropolis_theta.c dw_switch_opt.c dw_mdd_switch.c: %.c: $(DWSWITCHDIR)/switching/%.c + $(LN_S) -f $< $@ +create_init_file.c VARbase.c VARio.c VARio_matlab.c dw_sbvar_command_line.c sbvar_estimate.c sbvar_simulate.c sbvar_probabilities.c sbvar_mdd.c sbvar_forecast.c sbvar_variance_decomposition.c sbvar_impulse_responses.c dw_csminwel.c: %.c: $(DWSWITCHDIR)/state_space/sbvar/%.c + $(LN_S) -f $< $@ diff --git a/mex/build/qmc_sequence.am b/mex/build/qmc_sequence.am index c1f51d9f9..d65ea1145 100644 --- a/mex/build/qmc_sequence.am +++ b/mex/build/qmc_sequence.am @@ -1,5 +1,13 @@ -vpath %.cc $(top_srcdir)/../../sources/sobol - mex_PROGRAMS = qmc_sequence +TOPDIR = $(top_srcdir)/../../sources/sobol + +qmc_sequence_CPPFLAGS = $(AM_CPPFLAGS) -I$(TOPDIR) + nodist_qmc_sequence_SOURCES = qmc_sequence.cc + +BUILT_SOURCES = $(nodist_qmc_sequence_SOURCES) +CLEANFILES = $(nodist_qmc_sequence_SOURCES) + +%.cc: $(TOPDIR)/%.cc + $(LN_S) -f $< $@