MODFILES = \
	walsh.mod \
	occbin/model_irrcap_twoconstraints/dynrbc.mod \
	occbin/model_irrcap_twoconstraints/dynrbc_0_std_shocks.mod \
	occbin/model_borrcon/borrcon.mod \
	occbin/model_borrcon/borrcon_0_std_shocks.mod \
	occbin/filter/NKM.mod \
	occbin/filter/NKM_0_std_shocks.mod \
	optimizers/fs2000_6.mod \
	moments/example1_hp_test.mod \
	moments/fs2000_post_moments.mod \
	moments/example1_order2_pruning.mod \
	lmmcp/rbcii.mod \
	lmmcp/purely_backward.mod \
	lmmcp/purely_forward.mod \
	lmmcp/MCP_ramsey.mod \
	ep/rbc_mc.mod \
	estimation/TaRB/fs2000_tarb.mod \
	observation_trends_and_prefiltering/MCMC/Trend_loglin_no_prefilt_first_obs_MC.mod \
	observation_trends_and_prefiltering/MCMC/Trend_loglinear_no_prefilter_MC.mod \
	observation_trends_and_prefiltering/MCMC/Trend_no_prefilter_first_obs_MC.mod \
	observation_trends_and_prefiltering/MCMC/Trend_no_prefilter_MC.mod \
	observation_trends_and_prefiltering/MCMC/Trend_loglin_prefilt_first_obs_MC.mod \
	observation_trends_and_prefiltering/MCMC/Trend_prefilter_MC.mod \
	observation_trends_and_prefiltering/MCMC/Trend_prefilter_first_obs_MC.mod \
	dates/dseries_interact.mod \
	dates/fs2000.mod \
	estimation/slice/fs2000_slice.mod \
	optimizers/fs2000_9.mod \
	optimizers/fs2000_10.mod \
	analytic_derivatives/fs2000_analytic_derivation.mod \
	analytic_derivatives/BrockMirman_PertParamsDerivs.mod \
	analytic_derivatives/burnside_3_order_PertParamsDerivs.mod \
	pruning/AnSchorfheide_pruned_state_space.mod \
	pruning/AS_pruned_state_space_red_shock.mod \
	measurement_errors/fs2000_corr_me_ml_mcmc/fs2000_corr_ME.mod \
	TeX/fs2000_corr_ME.mod \
	estimation/MH_recover/fs2000_recover_tarb.mod \
	estimation/fs2000.mod \
	gsa/ls2003a.mod \
	optimizers/fs2000_8.mod \
	optimizers/fs2000_8_with_optim.mod \
	estimation/fs2000_MCMC_jumping_covariance.mod \
	ms-sbvar/test_ms_variances_repeated_runs.mod \
	fs2000/fs2000.mod \
	ls2003/ls2003_hessian_zero.mod \
	ep/rbc.mod \
	exogenous-observed-variables/preprocessor.mod \
	estimation/fs2000_with_weibull_prior.mod \
	estimation/fs2000_initialize_from_calib.mod	\
	estimation/fs2000_estimated_params_init.mod	\
	estimation/fs2000_estimated_params_remove.mod	\
	estimation/fs2000_calibrated_covariance.mod \
	estimation/fs2000_model_comparison.mod \
	estimation/fs2000_fast.mod \
	estimation/fs2000_init_from_previous.mod \
	estimation/ls2003_endog_prior_restrict_estimation.mod \
	estimation/independent_mh/fs2000_independent_mh.mod \
	estimation/MH_recover/fs2000_recover.mod \
	estimation/MH_recover/fs2000_recover_2.mod \
	estimation/MH_recover/fs2000_recover_3.mod \
	estimation/heteroskedastic_shocks/fs2000_het.mod \
	estimation/heteroskedastic_shocks/fs2000_het_corr.mod \
	estimation/heteroskedastic_shocks/fs2000_het_sample_restriction.mod \
	estimation/t_proposal/fs2000_student.mod \
	estimation/tune_mh_jscale/fs2000.mod \
	estimation/method_of_moments/AnScho/AnScho_matched_moments.mod \
	estimation/method_of_moments/AnScho/AnScho_GMM_estimParams0.mod \
	estimation/method_of_moments/AnScho/AnScho_GMM_estimParams1.mod \
	estimation/method_of_moments/AnScho/AnScho_GMM_estimParams2.mod \
	estimation/method_of_moments/AnScho/AnScho_SMM_estimParams0.mod \
	estimation/method_of_moments/AnScho/AnScho_SMM_estimParams1.mod \
	estimation/method_of_moments/AnScho/AnScho_SMM_estimParams2.mod \
	estimation/method_of_moments/RBC/RBC_MoM_Andreasen.mod \
	estimation/method_of_moments/RBC/RBC_MoM_SMM_ME.mod \
	estimation/method_of_moments/RBC/RBC_MoM_prefilter.mod \
	estimation/method_of_moments/RBC/RBC_MoM_optimizer.mod \
	estimation/method_of_moments/RBC/RBC_MoM_GMM_gradient_optim.mod \
	estimation/method_of_moments/AFVRR/AFVRR_M0.mod \
	estimation/method_of_moments/AFVRR/AFVRR_MFB.mod \
	estimation/method_of_moments/AFVRR/AFVRR_MFB_RRA.mod \
	estimation/system_prior_restriction/Gali_2015.mod \
	estimation/no_init_estimation_check_first_obs/fs2000_init_check.mod \
	estimation/univariate/nls/staticmodel.mod \
	estimation/univariate/nls/dynamicmodel1.mod \
	estimation/univariate/nls/dynamicmodel2.mod \
	moments/example1_var_decomp.mod \
	moments/example1_bp_test.mod \
	moments/test_AR1_spectral_density.mod \
	moments/example1_one_sided_hp_test.mod \
	gsa/ls2003.mod \
	gsa/cod_ML_morris/cod_ML_morris.mod \
	gsa/morris/nk_est.mod \
	ramst.mod \
	ramst_a.mod \
	ramst_static_tag.mod \
	ramst_static_tag_block.mod \
	ramst_mshocks.mod \
	ramst_model_edit.mod \
	on-the-fly/ex1.mod \
	on-the-fly/ex2.mod \
	on-the-fly/ex3.mod \
	on-the-fly/ex4.mod \
	on-the-fly/ex5.mod \
	on-the-fly/ex6.mod \
	example1.mod \
	example2.mod \
	example1_use_dll.mod \
	example1_with_tags.mod \
	example1_irf_shocks.mod \
	example1_abs_sign.mod \
	example1_mlv.mod \
	example1long.mod \
	example2long.mod \
	example2long_use_dll.mod \
	t_sgu_ex1.mod \
	macro_processor/test_ifndef.mod \
	macro_processor/example1_macro.mod \
	irfs/example1_unit_std.mod \
	optimal_policy/OSR/osr_example.mod \
	optimal_policy/OSR/osr_example_objective_correctness.mod \
	optimal_policy/OSR/osr_example_obj_corr_non_stat_vars.mod \
	optimal_policy/OSR/osr_example_param_bounds.mod \
	optimal_policy/OSR/osr_obj_corr_algo_1.mod \
	optimal_policy/OSR/osr_obj_corr_algo_3.mod \
	optimal_policy/OSR/osr_obj_corr_algo_4.mod \
	optimal_policy/OSR/osr_obj_corr_algo_7.mod \
	optimal_policy/OSR/osr_obj_corr_algo_8.mod \
	optimal_policy/OSR/osr_obj_corr_algo_9.mod \
	optimal_policy/ramsey_.mod \
	optimal_policy/nk_ramsey.mod \
	optimal_policy/nk_ramsey_model.mod \
	optimal_policy/nk_ramsey_det.mod \
	optimal_policy/nk_ramsey_expectation.mod \
	optimal_policy/nk_ramsey_expectation_a.mod \
	optimal_policy/mult_elimination_test.mod \
	optimal_policy/neo_growth.mod \
	optimal_policy/neo_growth_ramsey.mod \
	optimal_policy/neo_growth_k_order.mod \
	optimal_policy/neo_growth_ramsey_k_order.mod \
	optimal_policy/Ramsey/ramsey_ex_initval.mod \
	optimal_policy/Ramsey/ramsey_ex.mod \
	optimal_policy/Ramsey/ramsey_ex_initval_AR2.mod \
	optimal_policy/Ramsey/ramsey_ex_aux.mod \
	optimal_policy/Ramsey/ramsey_histval.mod \
	optimal_policy/Ramsey/Gali_commitment.mod \
	optimal_policy/RamseyConstraints/test1.mod \
	optimal_policy/Ramsey/Ramsey_Example_estimation.mod \
	discretionary_policy/dennis_1.mod \
	discretionary_policy/dennis_1_estim.mod \
	discretionary_policy/Gali_discretion.mod \
	discretionary_policy/Gali_2015_chapter_3.mod \
	discretionary_policy/Gali_2015_chapter_3_nonlinear.mod \
	histval_initval_file/ramst_initval_file.mod \
	histval_initval_file/ramst_initval_file_with_dseries.mod \
	histval_initval_file/ramst_data_generate.mod \
	histval_initval_file/ramst_datafile.mod \
	histval_initval_file/sim_exo_lead_lag.mod \
	histval_initval_file/sim_exo_lead_lag_initvalf.mod \
	ramst_normcdf_and_friends_mfile.mod \
	ramst_normcdf_and_friends_use_dll.mod \
	ramst_normcdf_and_friends_bytecode.mod \
	ramst_vec.mod \
	ramst_mshocks_vec.mod \
	example1_varexo_det.mod \
	predetermined_variables.mod \
	fs2000_ssfile.mod \
	comments.mod \
	histval_sto.mod \
	histval_det.mod \
	histval_predetermined.mod \
	auxiliary_variables/test1.mod \
	expectations/expectation.mod \
	expectations/expectation_ss.mod \
	expectations/expectation_ss_old.mod \
	expectations/expectation_nested.mod \
	steady_state/walsh1_initval.mod \
	steady_state/walsh1_old_ss.mod \
	steady_state/walsh1_ssm.mod \
	steady_state/walsh1_ssm_block.mod \
	steady_state/multi_leads.mod \
	steady_state/example1_trust_region.mod \
	steady_state/example1_block_trust_region.mod \
	steady_state/Gali_2015_chapter_6_4.mod \
	steady_state_operator/standard.mod \
	steady_state_operator/use_dll.mod \
	steady_state_operator/block.mod \
	steady_state_operator/bytecode_test.mod \
	block_bytecode/ireland.mod \
	block_bytecode/lola_solve_one_boundary.mod \
	block_bytecode/lola_solve_one_boundary_mfs1.mod \
	block_bytecode/lola_solve_one_boundary_mfs2.mod \
	block_bytecode/lola_solve_one_boundary_mfs3.mod \
	block_bytecode/lola_stochastic.mod \
	block_bytecode/lola_stochastic_block.mod \
	k_order_perturbation/fs2000k2a.mod \
	k_order_perturbation/fs2000k2_use_dll.mod \
	k_order_perturbation/fs2000k_1_use_dll.mod \
	k_order_perturbation/fs2000k3_use_dll.mod \
	k_order_perturbation/fs2000k2_m.mod \
	k_order_perturbation/fs2000k_1_m.mod \
	k_order_perturbation/fs2000k3_m.mod \
	k_order_perturbation/fs2000k3_p.mod \
	k_order_perturbation/fs2000k4.mod \
	k_order_perturbation/burnside_k_order.mod \
	k_order_perturbation/fs2000_k_order_simul.mod \
	partial_information/PItest3aHc0PCLsimModPiYrVarobsAll.mod \
	partial_information/PItest3aHc0PCLsimModPiYrVarobsCNR.mod \
	arima/mod1.mod \
	arima/mod1a.mod \
	arima/mod1b.mod \
	arima/mod1c.mod \
	arima/mod2.mod \
	arima/mod2a.mod \
	arima/mod2b.mod \
	arima/mod2c.mod \
	data/mod1a.mod \
	fs2000/fs2000a.mod \
	fs2000/fs2000c.mod \
	fs2000/fs2000_calib.mod \
	fs2000/fs2000_calib_dseries.mod \
	fs2000/fs2000_missing_data.mod \
	fs2000/fs2000_sd.mod \
	fs2000/fs2000_dseries_a.mod \
	fs2000/fs2000_dseries_b.mod \
	homotopy/homotopy1_test.mod \
	homotopy/homotopy2_test.mod \
	homotopy/homotopy3_test.mod \
	bvar_a_la_sims/bvar_standalone.mod \
	bvar_a_la_sims/bvar_and_dsge.mod \
	AIM/fs2000x10L9_L.mod \
	AIM/fs2000x10L9_L_AIM.mod \
	AIM/fs2000x10_L9_L.mod \
	AIM/fs2000x10_L9_L_AIM.mod \
	AIM/fs2000_b1L1L.mod \
	AIM/fs2000_b1L1L_AIM.mod \
	AIM/ls2003_2L0L.mod \
	AIM/ls2003_2L0L_AIM.mod \
	AIM/ls2003_2L2L.mod \
	AIM/ls2003_2L2L_AIM.mod \
	conditional_variance_decomposition/example1.mod \
	dsge-var/simul_hybrid.mod \
	dsge-var/dsgevar_forward_calibrated_lambda.mod \
	dsge-var/dsgevar_forward_estimated_lambda.mod \
	external_function/benchmark.mod \
	external_function/first_deriv_given.mod \
	external_function/first_deriv_given_dll.mod \
	external_function/first_and_2nd_deriv_given.mod \
	external_function/first_and_2nd_deriv_given_namespace.mod \
	external_function/first_and_2nd_deriv_given_dll.mod \
	external_function/first_and_2nd_deriv_given_dll_namespace.mod \
	external_function/no_deriv_given.mod \
	external_function/no_deriv_given_dll.mod \
	external_function/extfun_in_mlv.mod \
	seeds.mod \
	minimal_state_space_system/as2007_minimal.mod \
	minimal_state_space_system/sw_minimal.mod \
	identification/kim/kim2.mod \
	identification/as2007/as2007.mod \
	identification/as2007/as2007_kronflags.mod \
	identification/as2007/as2007_QT.mod \
	identification/as2007/as2007_QT_equal_autocorr.mod \
	identification/as2007/as2007_order_1_2_3.mod \
	identification/as2007/as2007_order3_no_stoch_simul.mod \
	identification/BrockMirman/BrockMirman.mod \
	identification/cgg/cgg_criteria_differ.mod \
	identification/ident_unit_root/ident_unit_root.mod \
	identification/rbc_ident/rbc_ident_std_as_structural_par.mod \
	identification/rbc_ident/rbc_ident_varexo_only.mod \
	identification/correlated_errors/fs2000_corr.mod \
	identification/forward_looking/forward_looking.mod \
	simul/example1.mod \
	simul/Solow_no_varexo.mod \
	simul/simul_ZLB_purely_forward.mod \
	simul/simul_ZLB_purely_forward_no_solution.mod \
	simul/Irreversible_investment.mod \
	simul/linear_state_space_arma.mod \
	conditional_forecasts/1/fs2000_cal.mod \
	conditional_forecasts/2/fs2000_est.mod \
	conditional_forecasts/3/fs2000_conditional_forecast_initval.mod \
	conditional_forecasts/4/fs2000_conditional_forecast_histval.mod \
	conditional_forecasts/5/fs2000_cal.mod \
	conditional_forecasts/6/fs2000_cal.mod \
	recursive/ls2003.mod \
	recursive/ls2003_bayesian.mod \
	recursive/ls2003_bayesian_xls.mod \
	recursive/ls2003_bayesian_csv.mod \
	ms-sbvar/test_exclusions.mod \
	ms-sbvar/test_exclusions_nc.mod \
	ms-sbvar/test_lower_cholesky.mod \
	ms-sbvar/test_lower_cholesky_a.mod \
	ms-sbvar/test_lower_cholesky_nc.mod \
	ms-sbvar/test_upper_cholesky.mod \
	ms-sbvar/test_upper_cholesky_nc.mod \
	ms-sbvar/test_ms_variances.mod \
	ms-dsge/test_ms_dsge.mod \
	kalman/lyapunov/fs2000_lyap.mod \
	kalman/lik_init/fs2000_ns_lik_init_2.mod \
	kalman/lik_init/fs2000_ns_lik_init_3.mod \
	kalman/lik_init/fs2000_ns_lik_init_5.mod \
	kalman/lik_init/fs2000_lik_init_1.mod \
	kalman/lik_init/fs2000_lik_init_2.mod \
	kalman/lik_init/fs2000_lik_init_3.mod \
	kalman/lik_init/fs2000_lik_init_4.mod \
	kalman/lik_init/fs2000_lik_init_5.mod \
	kalman/block/fs2000.mod \
	kalman/block/fs2000_missing_data.mod \
	kalman_initial_state/fs2000_smoother_only_initial_state.mod \
	kalman_initial_state/fs2000_ns_smoother_only_initial_state.mod \
	kalman_initial_state/fs2000_kalman_initial.mod \
	kalman_initial_state/fs2000_kalman_initial_2_lag.mod \
	kalman_filter_smoother/gen_data.mod \
	kalman_filter_smoother/algo1.mod \
	kalman_filter_smoother/algo2.mod \
	kalman_filter_smoother/algo3.mod \
	kalman_filter_smoother/algo4.mod \
	kalman_filter_smoother/algo4a.mod \
	kalman_filter_smoother/algo4b.mod \
	kalman_filter_smoother/algoH1.mod \
	kalman_filter_smoother/algoH2.mod \
	kalman_filter_smoother/algoH3.mod \
	kalman_filter_smoother/fs2000.mod \
	kalman_filter_smoother/fs2000_1.mod \
	kalman_filter_smoother/fs2000_2.mod \
	kalman_filter_smoother/fs2000a.mod \
	kalman_filter_smoother/fs2000_smoother_only.mod \
	kalman_filter_smoother/fs2000_smoother_only_ns.mod \
	kalman_filter_smoother/fs2000_smoother_redux.mod \
	kalman_filter_smoother/test_compute_Pinf_Pstar_data.mod \
	kalman_filter_smoother/test_compute_Pinf_Pstar.mod \
	kalman_filter_smoother/SOE.mod \
	kalman_filter_smoother/check_variable_dimensions/fs2000.mod \
	kalman_filter_smoother/check_variable_dimensions/fs2000_ML.mod \
	kalman/likelihood_from_dynare/fs2000_corr_ME.mod \
	kalman/likelihood_from_dynare/fs2000_corr_ME_missing.mod \
	kalman/likelihood_from_dynare/fs2000_uncorr_ME.mod \
	kalman/likelihood_from_dynare/fs2000_uncorr_ME_missing.mod \
	kalman/likelihood_from_dynare/fs2000ns_corr_ME.mod \
	kalman/likelihood_from_dynare/fs2000ns_corr_ME_missing.mod \
	kalman/likelihood_from_dynare/fs2000ns_uncorr_ME.mod \
	kalman/likelihood_from_dynare/fs2000ns_uncorr_ME_missing.mod \
	second_order/burnside_1.mod \
	kalman_filter_smoother/compare_results_simulation/fs2000_ML.mod \
	kalman_filter_smoother/compare_results_simulation/fs2000_ML_loglinear.mod \
	kalman_filter_smoother/compare_results_simulation/fs2000.mod \
	kalman_filter_smoother/compare_results_simulation/fs2000_loglinear.mod \
	second_order/burnside_1.mod \
	second_order/ds1.mod \
	second_order/ds2.mod \
	ep/rbc2.mod \
	ep/rbcii.mod \
	ep/linearmodel0.mod \
	ep/linearmodel1.mod \
	ep/rbc_bytecode.mod \
	ep/rbcii_MCP.mod \
	stochastic_simulations/example1_noprint.mod \
	stochastic-backward-models/solow_cd.mod \
	stochastic-backward-models/solow_ces.mod \
	stochastic-backward-models/solow_cd_with_steadystate.mod \
	deterministic_simulations/purely_forward/ar1.mod \
	deterministic_simulations/purely_forward/nk.mod \
	deterministic_simulations/purely_backward/ar1.mod \
	deterministic_simulations/purely_static/toto.mod \
	deterministic_simulations/rbc_det1.mod \
	deterministic_simulations/rbc_det2.mod \
	deterministic_simulations/rbc_det3.mod \
	deterministic_simulations/rbc_det4.mod \
	deterministic_simulations/rbc_det5.mod \
	deterministic_simulations/rbc_det6.mod \
	deterministic_simulations/homotopy.mod \
	deterministic_simulations/homotopy_histval.mod \
	deterministic_simulations/rbc_det_exo_lag_2a.mod \
	deterministic_simulations/rbc_det_exo_lag_2b.mod \
	deterministic_simulations/rbc_det_exo_lag_2c.mod \
	deterministic_simulations/multiple_lead_lags/sim_base.mod \
	deterministic_simulations/multiple_lead_lags/sim_exo_lead_lag_aux_vars.mod \
	deterministic_simulations/multiple_lead_lags/sim_exo_lead_lag.mod \
	deterministic_simulations/multiple_lead_lags/sim_endo_lead_lag_aux_vars.mod \
	deterministic_simulations/multiple_lead_lags/sim_endo_lead_lag.mod \
	deterministic_simulations/multiple_lead_lags/sim_lead_lag_aux_vars.mod \
	deterministic_simulations/multiple_lead_lags/sim_lead_lag.mod \
	deterministic_simulations/ramst_block_mfs1.mod \
	deterministic_simulations/linear_approximation/sw.mod \
	deterministic_simulations/multiple_lead_lags/AR2.mod \
	deterministic_simulations/multiple_lead_lags/AR2_forward.mod \
	deterministic_simulations/multiple_lead_lags/ramst_augmented_histval.mod \
	deterministic_simulations/rbc_det.mod \
	deterministic_simulations/rbc_det_stack_solve_algo_7.mod \
	deterministic_simulations/rbc_det_stack_solve_algo_7_exo_lag.mod \
	deterministic_simulations/rbc_det_stack_solve_algo_7_exo_lead.mod \
	deterministic_simulations/pfwee.mod \
	lmmcp/rbc.mod \
	lmmcp/sw_lmmcp.mod \
	lmmcp/sw_newton.mod \
	trend_var/fs2000_nonstationary.mod \
	trend_var/fs2000_log_nonstationary.mod \
	decision_rules/third_order/FV2011.mod \
	decision_rules/example1.mod \
	decision_rules/ar_qz_test.mod \
	shock_decomposition/example1_calib_shock_decomp.mod \
	shock_decomposition/fs2000_est.mod \
	shock_decomposition/fs2000_est_varlist.mod \
	shock_decomposition/fs2000_cal_groups.mod \
	shock_decomposition/ls2003_plot.mod \
	shock_decomposition/shock_decomp_backward.mod \
	stochastic_purely_forward/stochastic_purely_forward.mod \
	stochastic_purely_forward/stochastic_purely_forward_with_static.mod \
	forecast/Hansen_exo_det_forecast.mod \
	forecast/linear_exo_det_forecast.mod \
	forecast/ls2003_rolling_window_forecast.mod \
	gradient/fs2000_numgrad_13.mod \
	gradient/fs2000_numgrad_15.mod \
	gradient/fs2000_numgrad_2.mod \
	gradient/fs2000_numgrad_3.mod \
	gradient/fs2000_numgrad_5.mod \
	filter_step_ahead/fs2000_filter_step_ahead_bayesian.mod \
	filter_step_ahead/fs2000_filter_step_ahead_ML.mod \
	filter_step_ahead/trend_cycle_decomposition.mod \
	loglinear/example4_exp.mod \
	loglinear/example4_loglinear.mod \
	loglinear/example4_loglinear_lagged_exogenous.mod \
	loglinear/example4_loglinear_lagged_exogenous_a.mod \
	loglinear/example4_exp_histval.mod \
	loglinear/example4_loglinear_histval.mod \
	smoother2histval/fs2000_simul.mod \
	smoother2histval/fs2000_smooth.mod \
	smoother2histval/fs2000_smooth_stoch_simul.mod \
	smoother2histval/fs2000_smooth_ML.mod \
	optimizers/fs2000_1.mod \
	optimizers/fs2000_2.mod \
	optimizers/fs2000_3.mod \
	optimizers/fs2000_4.mod \
	optimizers/fs2000_4_with_optim.mod \
	optimizers/fs2000_5.mod \
	optimizers/fs2000_7.mod \
	optimizers/fs2000_101.mod \
	optimizers/fs2000_102.mod \
	optimizers/fs2000_w.mod \
	epilogue/example1.mod \
	differentiate_forward_vars/RBC_differentiate_forward.mod \
	partitioning/partitions.mod \
	prior_posterior_function/fs2000_prior_posterior_function.mod \
	observation_trends_and_prefiltering/MCMC/Trend_loglinear_prefilter_MC.mod \
	observation_trends_and_prefiltering/ML/Trend_loglinear_no_prefilter.mod \
	observation_trends_and_prefiltering/ML/Trend_loglinear_no_prefilter_first_obs.mod \
	observation_trends_and_prefiltering/ML/Trend_loglinear_prefilter.mod \
	observation_trends_and_prefiltering/ML/Trend_loglinear_prefilter_first_obs.mod \
	observation_trends_and_prefiltering/ML/Trend_no_prefilter.mod \
	observation_trends_and_prefiltering/ML/Trend_no_prefilter_first_obs.mod \
	observation_trends_and_prefiltering/ML/Trend_prefilter.mod \
	observation_trends_and_prefiltering/ML/Trend_prefilter_first_obs.mod \
	observation_trends_and_prefiltering/calib_smoother/Tr_no_prefilter_calib_smoother.mod \
	observation_trends_and_prefiltering/calib_smoother/Tr_no_prefilt_first_obs_cal_smooth.mod \
	observation_trends_and_prefiltering/calib_smoother/Tr_prefilter_calib_smoother.mod \
	observation_trends_and_prefiltering/calib_smoother/Tr_prefilt_first_obs_cal_smooth.mod \
	observation_trends_and_prefiltering/calib_smoother/Tr_no_prefilter_loglin_calib_smoother.mod \
	observation_trends_and_prefiltering/calib_smoother/Tr_no_prefil_f_obs_loglin_cal_smoother.mod \
	observation_trends_and_prefiltering/calib_smoother/Tr_prefilter_loglin_calib_smoother.mod \
	observation_trends_and_prefiltering/calib_smoother/Tr_prefil_f_obs_loglin_cal_smoother.mod \
	observation_trends_and_prefiltering/ML/Trend_no_prefilter_selected_var.mod \
	bgp/solow-1/solow.mod \
	bgp/nk-1/nk.mod \
	bgp/ramsey-1/ramsey.mod \
	dynare-command-options/ramst.mod \
	log_transform/example1.mod \
	log_transform/ramst.mod \
	log_transform/fs2000_nonstationary.mod \
	log_transform/nk_ramsey.mod

ECB_MODFILES = \
	var-expectations/1/example1.mod \
    var-expectations/1-with-time-shift-a/example1.mod \
	var-expectations/2/example1.mod \
	var-expectations/2-with-time-shift/example1.mod \
	var-expectations/3/example1.mod \
	var-expectations/3-with-time-shift/example1.mod \
	var-expectations/4/example1.mod \
	var-expectations/4-with-time-shift/example1.mod \
	var-expectations/5/example1.mod \
	var-expectations/5-with-time-shift/example1.mod \
	var-expectations/6/example1.mod \
	var-expectations/6/substitution.mod \
	var-expectations/6-with-time-shift/example1.mod \
	var-expectations/6-with-time-shift/substitution.mod \
	var-expectations/7/example1.mod \
	var-expectations/7/substitution.mod \
	var-expectations/8/example1.mod \
	var-expectations/8/substitution.mod \
	var-expectations/9/example1.mod \
	var-expectations/10/example1.mod \
	var-expectations/11/example1.mod \
	var-expectations/12/example1.mod \
	trend-component-and-var-models/vm1.mod \
	trend-component-and-var-models/vm2.mod \
	trend-component-and-var-models/vm3.mod \
	trend-component-and-var-models/vm4.mod \
	trend-component-and-var-models/vm5.mod \
	trend-component-and-var-models/tcm1.mod \
	trend-component-and-var-models/tcm2.mod \
	trend-component-and-var-models/tcm3.mod \
	trend-component-and-var-models/tcm4.mod \
	trend-component-and-var-models/tcm5.mod \
	trend-component-and-var-models/tcm6.mod \
	trend-component-and-var-models/tcm7.mod \
	trend-component-and-var-models/tcm8.mod \
	trend-component-and-var-models/tcm9.mod \
	trend-component-and-var-models/tcm10.mod \
	trend-component-and-var-models/tcm11.mod \
	trend-component-and-var-models/tcm12.mod \
	trend-component-and-var-models/legacy/vm1.mod \
	trend-component-and-var-models/legacy/vm2.mod \
	trend-component-and-var-models/legacy/vm3.mod \
	trend-component-and-var-models/legacy/tcm1.mod \
	trend-component-and-var-models/legacy/tcm2.mod \
	trend-component-and-var-models/legacy/tcm3.mod \
	trend-component-and-var-models/legacy/tcm4.mod \
	trend-component-and-var-models/legacy/tcm5.mod \
	pac/var-1/example1.mod \
	pac/var-2/example1.mod \
	pac/var-3/example1.mod \
	pac/var-4/example1.mod \
	pac/var-5/example1.mod \
	pac/var-5/substitution.mod \
	pac/var-6/example1.mod \
	pac/var-6/substitution.mod \
	pac/var-7/example1.mod \
	pac/var-7/substitution.mod \
	pac/var-8/example1.mod \
	pac/var-8/substitution.mod \
	pac/var-8e/example1.mod \
	pac/var-9/example1.mod \
	pac/var-9/substitution.mod \
	pac/var-9e/example1.mod \
	pac/var-10e/example1.mod \
	pac/var-10e/example2.mod \
	pac/var-11e/example1.mod \
	pac/var-12/example1.mod \
	pac/var-12/example2.mod \
	pac/var-12/example3.mod \
	pac/var-12/example4.mod \
	pac/var-12/example5.mod \
	pac/var-12/example11.mod \
	pac/var-12/example12.mod \
	pac/trend-component-1/example1.mod \
	pac/trend-component-2/example1.mod \
	pac/trend-component-3/example1.mod \
	pac/trend-component-4/example1.mod \
	pac/trend-component-5/example1.mod \
	pac/trend-component-6/example1.mod \
	pac/trend-component-7/example1.mod \
	pac/trend-component-9/example1.mod \
	pac/trend-component-10/example1.mod \
	pac/trend-component-11/example1.mod \
	pac/trend-component-12/example1.mod \
	pac/trend-component-13a/example1.mod \
	pac/trend-component-13b/example1.mod \
	pac/trend-component-14/example1.mod \
	pac/trend-component-14/substitution.mod \
	pac/trend-component-15/example1.mod \
	pac/trend-component-16/example1.mod \
	pac/trend-component-17/example1.mod \
	pac/trend-component-18/example1.mod \
	pac/trend-component-19/example1.mod \
	pac/trend-component-19/example2.mod \
	pac/trend-component-19/example3.mod \
	pac/trend-component-19-growth-lin-comb/example1.mod \
	pac/trend-component-1-mce/example_det.mod \
	pac/trend-component-1-mce/example_sto.mod \
	pac/trend-component-2-mce/example_det.mod \
	pac/trend-component-2-mce/example_sto.mod \
	pac/trend-component-20-1/example1.mod \
	pac/trend-component-20-2/example1.mod \
	pac/trend-component-20-3/example1.mod \
	pac/trend-component-20-4/example1.mod \
	pac/trend-component-21/example1.mod \
	pac/trend-component-22/example1.mod \
	pac/trend-component-23/example1.mod \
	pac/trend-component-24/example1.mod \
	pac/trend-component-25/example1.mod \
	pac/trend-component-26/example1.mod \
	pac/trend-component-27/example1.mod \
	pac/trend-component-28/example1.mod \
	pac/trend-component-28/example2.mod \
	pac/trend-component-28/example3.mod \
	pac/trend-component-28/example4.mod \
	pac/trend-component-28/example5.mod \
	pac/trend-component-28/example6.mod \
	pac/trend-component-29/example1.mod \
	pac/trend-component-29/example2.mod \
	pac/trend-component-30/example1.mod \
	write/example1.mod \
	ecb/backward-models/irf/solow_1.mod \
	ecb/backward-models/irf/solow_2.mod \
	ecb/cherrypick/test1.mod \
	ecb/cherrypick/test2.mod \
	ecb/contribution-plots/contrib1.mod \
	ecb/contribution-plots/contrib2.mod

OLS_MODFILES = \
	estimation/univariate/bayesian.mod \
	estimation/univariate/bayesian_param_names.mod \
	ecb/SURGibbs/fulton_fish.mod \
	estimation/univariate/ols/ols_wc_1.mod \
	estimation/univariate/ols/ols_wc_2.mod \
	estimation/univariate/ols/ols_wc_3.mod \
	estimation/univariate/ols/ols_date_range.mod \
	estimation/univariate/ols/ols_param_names.mod \
	estimation/univariate/ols/ols_base.mod \
	ecb/SUR/sur_noniterative.mod \
	ecb/SUR/sur_params_noniterative.mod \
	ecb/SUR/panel_var_diff_NB_simulation_test.mod \
	ecb/SUR/panel_var_diff_NB_simulation_zero_eq.mod \
	ecb/pooled_ols/panel_var_diff_NB_simulation_test.mod \
	ecb/pooled_ols/test_param_names.mod \
	ecb/pooled_fgls/panel_var_diff_NB_simulation_test.mod \
	ecb/pooled_fgls/test_param_names.mod

ECB_MODFILES += $(OLS_MODFILES)

MODFILES += $(ECB_MODFILES)

PARTICLEFILES = \
	particle/dsge_base2.mod \
	particle/first_spec.mod \
	particle/first_spec_MCMC.mod \
	particle/local_state_space_iteration_k_test.mod


XFAIL_MODFILES = ramst_xfail.mod \
	estim_param_in_shock_value_xfail.mod \
	optimal_policy/Ramsey/ramsey_ex_wrong_ss_file_xfail.mod \
	estimation/fs2000_mixed_ML_xfail.mod \
	estimation/fs2000_stochastic_singularity_xfail.mod \
	estimation/heteroskedastic_shocks/fs2000_het_XFAIL.mod \
	estimation/heteroskedastic_shocks/fs2000_het_XFAIL2.mod \
	identification/ident_unit_root/ident_unit_root_xfail.mod \
	identification/LindeTrabandt/LindeTrabandt2019_xfail.mod \
	steady_state/Linear_steady_state_xfail.mod \
	optimal_policy/Ramsey/ramsey_histval_xfail.mod \
	occbin/model_irrcap_twoconstraints/dynrbc_token_xfail.mod \
	particle/first_spec_xfail_0.mod \
	particle/first_spec_xfail_1.mod \
	kalman_initial_state/fs2000_kalman_initial_xfail.mod \
	example1_extra_exo_xfail.mod \
	estimation/tune_mh_jscale/fs2000_1_xfail.mod \
	estimation/tune_mh_jscale/fs2000_2_xfail.mod \
	estimation/no_init_estimation_check_first_obs/fs2000_init_check_XFAIL.mod \
	estimation/no_init_estimation_check_first_obs/fs2000_init_check_XFAIL2.mod \
	var-expectations/1-with-time-shift-b/example1.mod \
	estimation/univariate/nls/staticmodelx.mod

MFILES = histval_initval_file/ramst_initval_file_data.m

# Dependencies

optimal_policy/neo_growth_ramsey.m.trs: optimal_policy/neo_growth.m.trs
optimal_policy/neo_growth_ramsey.o.trs: optimal_policy/neo_growth.o.trs

optimal_policy/neo_growth_ramsey_foresight.m.trs: optimal_policy/neo_growth_foresight.m.trs
optimal_policy/neo_growth_ramsey_foresight.o.trs: optimal_policy/neo_growth_foresight.o.trs

optimal_policy/neo_growth_ramsey_k_order.m.trs: optimal_policy/neo_growth_k_order.m.trs
optimal_policy/neo_growth_ramsey_k_order.o.trs: optimal_policy/neo_growth_k_order.o.trs

occbin/model_irrcap_twoconstraints/dynrbc_0_std_shocks.m.trs: occbin/model_irrcap_twoconstraints/dynrbc.m.trs
occbin/model_irrcap_twoconstraints/dynrbc_0_std_shocks.o.trs: occbin/model_irrcap_twoconstraints/dynrbc.o.trs

occbin/model_borrcon/borrcon_0_std_shocks.m.trs: occbin/model_borrcon/borrcon.m.trs
occbin/model_borrcon/borrcon_0_std_shocks.o.trs: occbin/model_borrcon/borrcon.o.trs

example1_use_dll.m.trs: example1.m.trs
example1_use_dll.o.trs: example1.o.trs

example2long_use_dll.m.trs: example1long.m.trs
example2long_use_dll.o.trs: example1long.o.trs

example2long.m.trs: example1long.m.trs
example2long.o.trs: example1long.o.trs

estimation/MH_recover/fs2000_recover_tarb.m.trs: estimation/MH_recover/fs2000_recover.m.trs
estimation/MH_recover/fs2000_recover_tarb.o.trs: estimation/MH_recover/fs2000_recover.o.trs

k_order_perturbation/fs2000k_1_m.m.trs: k_order_perturbation/fs2000k2_m.m.trs
k_order_perturbation/fs2000k2_m.m.trs k_order_perturbation/fs2000k3_m.m.trs k_order_perturbation/fs2000k2_use_dll.m.trs k_order_perturbation/fs2000k3_use_dll.m.trs: k_order_perturbation/fs2000k2a.m.trs
k_order_perturbation/fs2000k_1_use_dll.m.trs: k_order_perturbation/fs2000k2_use_dll.m.trs
k_order_perturbation/fs2000k4.m.trs: k_order_perturbation/fs2000k++.mat

k_order_perturbation/fs2000k_1_m.o.trs: k_order_perturbation/fs2000k2_m.o.trs
k_order_perturbation/fs2000k2_m.o.trs k_order_perturbation/fs2000k3_m.o.trs k_order_perturbation/fs2000k2_use_dll.o.trs k_order_perturbation/fs2000k3_use_dll.o.trs: k_order_perturbation/fs2000k2a.o.trs
k_order_perturbation/fs2000k_1_use_dll.o.trs: k_order_perturbation/fs2000k2_use_dll.o.trs
k_order_perturbation/fs2000k4.o.trs: k_order_perturbation/fs2000k++.mat

k_order_perturbation/fs2000k++.mat: k_order_perturbation/fs2000k++.mod ../dynare++/src/dynare++$(EXEEXT)
	cd k_order_perturbation && ../../dynare++/src/dynare++ --order 3 --no-centralize fs2000k++.mod

kalman_filter_smoother/algo1.m.trs kalman_filter_smoother/algo3.m.trs kalman_filter_smoother/algo4a.m.trs kalman_filter_smoother/algo4b.m.trs kalman_filter_smoother/algoH1.m.trs kalman_filter_smoother/algoH3.m.trs kalman_filter_smoother/fs2000.m.trs kalman_filter_smoother/fs2000_1.m.trs kalman_filter_smoother/fs2000_2.m.trs kalman_filter_smoother/fs2000a.m.trs: kalman_filter_smoother/gen_data.m.trs
kalman_filter_smoother/algo1.o.trs kalman_filter_smoother/algo3.o.trs kalman_filter_smoother/algo4a.o.trs kalman_filter_smoother/algo4b.o.trs kalman_filter_smoother/algoH1.o.trs kalman_filter_smoother/algoH3.o.trs kalman_filter_smoother/fs2000.o.trs kalman_filter_smoother/fs2000_1.o.trs kalman_filter_smoother/fs2000_2.o.trs kalman_filter_smoother/fs2000a.o.trs: kalman_filter_smoother/gen_data.o.trs

kalman_filter_smoother/algo2.m.trs: kalman_filter_smoother/algo1.m.trs
kalman_filter_smoother/algo2.o.trs: kalman_filter_smoother/algo1.o.trs

kalman_filter_smoother/algoH2.m.trs: kalman_filter_smoother/algoH1.m.trs
kalman_filter_smoother/algoH2.o.trs: kalman_filter_smoother/algoH1.o.trs

kalman_filter_smoother/algo4.m.trs: kalman_filter_smoother/algo3.m.trs
kalman_filter_smoother/algo4.o.trs: kalman_filter_smoother/algo3.o.trs

kalman_filter_smoother/test_compute_Pinf_Pstar.m.trs: kalman_filter_smoother/test_compute_Pinf_Pstar_data.m.trs
kalman_filter_smoother/test_compute_Pinf_Pstar.o.trs: kalman_filter_smoother/test_compute_Pinf_Pstar_data.o.trs

optimal_policy/Ramsey/ramsey_ex.m.trs: optimal_policy/Ramsey/ramsey_ex_initval.m.trs
optimal_policy/Ramsey/ramsey_ex.o.trs: optimal_policy/Ramsey/ramsey_ex_initval.o.trs

optimal_policy/nk_ramsey_expectation_a.m.trs: optimal_policy/nk_ramsey_expectation.m.trs
optimal_policy/nk_ramsey_expectation_a.o.trs: optimal_policy/nk_ramsey_expectation.o.trs

second_order/ds2.m.trs: second_order/ds1.m.trs
second_order/ds2.o.trs: second_order/ds1.o.trs

AIM/fs2000_b1L1L_AIM.m.trs: AIM/fs2000_b1L1L.m.trs
AIM/fs2000x10L9_L_AIM.m.trs: AIM/fs2000x10L9_L.m.trs
AIM/fs2000x10_L9_L_AIM.m.trs: AIM/fs2000x10_L9_L.m.trs
AIM/ls2003_2L0L_AIM.m.trs: AIM/ls2003_2L0L.m.trs
AIM/ls2003_2L2L_AIM.m.trs: AIM/ls2003_2L2L.m.trs
AIM/fs2000_b1L1L_AIM.o.trs: AIM/fs2000_b1L1L.o.trs
AIM/fs2000x10L9_L_AIM.o.trs: AIM/fs2000x10L9_L.o.trs
AIM/fs2000x10_L9_L_AIM.o.trs: AIM/fs2000x10_L9_L.o.trs
AIM/ls2003_2L0L_AIM.o.trs: AIM/ls2003_2L0L.o.trs
AIM/ls2003_2L2L_AIM.o.trs: AIM/ls2003_2L2L.o.trs

estimation/fs2000_model_comparison.m.trs: estimation/fs2000.m.trs estimation/fs2000_initialize_from_calib.m.trs estimation/fs2000_calibrated_covariance.m.trs
estimation/fs2000_model_comparison.o.trs: estimation/fs2000.o.trs estimation/fs2000_initialize_from_calib.o.trs estimation/fs2000_calibrated_covariance.o.trs
estimation/fs2000_init_from_previous.m.trs: estimation/fs2000.m.trs
estimation/fs2000_init_from_previous.o.trs: estimation/fs2000.o.trs

optimizers/fs2000_102.m.trs: estimation/fs2000.m.trs
optimizers/fs2000_102.o.trs: estimation/fs2000.o.trs

arima/mod1a.m.trs: arima/mod1.m.trs
arima/mod1b.m.trs: arima/mod1.m.trs
arima/mod1c.m.trs: arima/mod1.m.trs
arima/mod1a.o.trs: arima/mod1.o.trs
arima/mod1b.o.trs: arima/mod1.o.trs
arima/mod1c.o.trs: arima/mod1.o.trs
arima/mod2a.m.trs: arima/mod2.m.trs
arima/mod2b.m.trs: arima/mod2.m.trs
arima/mod2c.m.trs: arima/mod2.m.trs
arima/mod2a.o.trs: arima/mod2.o.trs
arima/mod2b.o.trs: arima/mod2.o.trs
arima/mod2c.o.trs: arima/mod2.o.trs

dsge-var/dsgevar_forward_calibrated_lambda.m.trs: dsge-var/simul_hybrid.m.trs
dsge-var/dsgevar_forward_estimated_lambda.m.trs: dsge-var/simul_hybrid.m.trs
dsge-var/dsgevar_forward_calibrated_lambda.o.trs: dsge-var/simul_hybrid.o.trs
dsge-var/dsgevar_forward_estimated_lambda.o.trs: dsge-var/simul_hybrid.o.trs

external_function/first_deriv_given.m.trs: external_function/benchmark.m.trs
external_function/first_deriv_given.o.trs: external_function/benchmark.o.trs
external_function/first_deriv_given_dll.m.trs: external_function/benchmark.m.trs
external_function/first_deriv_given_dll.o.trs: external_function/benchmark.o.trs
external_function/first_and_2nd_deriv_given.m.trs: external_function/benchmark.m.trs
external_function/first_and_2nd_deriv_given.o.trs: external_function/benchmark.o.trs
external_function/first_and_2nd_deriv_given_dll.m.trs: external_function/benchmark.m.trs
external_function/first_and_2nd_deriv_given_dll.o.trs: external_function/benchmark.o.trs
external_function/first_and_2nd_deriv_given_namespace.m.trs: external_function/benchmark.m.trs
external_function/first_and_2nd_deriv_given_namespace.o.trs: external_function/benchmark.o.trs
external_function/first_and_2nd_deriv_given_dll_namespace.m.trs: external_function/benchmark.m.trs
external_function/first_and_2nd_deriv_given_dll_namespace.o.trs: external_function/benchmark.o.trs
external_function/no_deriv_given.m.trs: external_function/benchmark.m.trs
external_function/no_deriv_given.o.trs: external_function/benchmark.o.trs
external_function/no_deriv_given_dll.m.trs: external_function/benchmark.m.trs
external_function/no_deriv_given_dll.o.trs: external_function/benchmark.o.trs
external_function/extfun_in_mlv.m.trs: external_function/benchmark.m.trs
external_function/extfun_in_mlv.o.trs: external_function/benchmark.o.trs

smoother2histval/fs2000_simul.m.trs: smoother2histval/fs2000_smooth.m.trs
smoother2histval/fs2000_simul.o.trs: smoother2histval/fs2000_smooth.o.trs

deterministic_simulations/rbc_det_exo_lag_2b.m.trs: deterministic_simulations/rbc_det_exo_lag_2a.m.trs
deterministic_simulations/rbc_det_exo_lag_2c.m.trs: deterministic_simulations/rbc_det_exo_lag_2a.m.trs
deterministic_simulations/rbc_det_exo_lag_2b.o.trs: deterministic_simulations/rbc_det_exo_lag_2a.o.trs
deterministic_simulations/rbc_det_exo_lag_2c.o.trs: deterministic_simulations/rbc_det_exo_lag_2a.o.trs
deterministic_simulations/rbc_det_stack_solve_algo_7.m.trs: deterministic_simulations/rbc_det.m.trs
deterministic_simulations/rbc_det_stack_solve_algo_7.o.trs: deterministic_simulations/rbc_det.o.trs
deterministic_simulations/rbc_det_stack_solve_algo_7_exo_lead.m.trs: deterministic_simulations/rbc_det.m.trs
deterministic_simulations/rbc_det_stack_solve_algo_7_exo_lead.o.trs: deterministic_simulations/rbc_det.o.trs
deterministic_simulations/rbc_det_stack_solve_algo_7_exo_lag.m.trs: deterministic_simulations/rbc_det.m.trs
deterministic_simulations/rbc_det_stack_solve_algo_7_exo_lag.o.trs: deterministic_simulations/rbc_det.o.trs

block_bytecode/lola_solve_one_boundary_mfs1.m.trs: block_bytecode/lola_solve_one_boundary.m.trs
block_bytecode/lola_solve_one_boundary_mfs1.o.trs: block_bytecode/lola_solve_one_boundary.o.trs
block_bytecode/lola_solve_one_boundary_mfs2.m.trs: block_bytecode/lola_solve_one_boundary.m.trs
block_bytecode/lola_solve_one_boundary_mfs2.o.trs: block_bytecode/lola_solve_one_boundary.o.trs
block_bytecode/lola_solve_one_boundary_mfs3.m.trs: block_bytecode/lola_solve_one_boundary.m.trs
block_bytecode/lola_solve_one_boundary_mfs3.o.trs: block_bytecode/lola_solve_one_boundary.o.trs
block_bytecode/lola_stochastic_block.m.trs: block_bytecode/lola_stochastic.m.trs
block_bytecode/lola_stochastic_block.o.trs: block_bytecode/lola_stochastic.o.trs

histval_initval_file/ramst_initval_file.m.trs: histval_initval_file/ramst_initval_file_data.m.tls histval_initval_file/ramst_data_generate.m.trs
histval_initval_file/ramst_initval_file.o.trs: histval_initval_file/ramst_initval_file_data.o.tls histval_initval_file/ramst_data_generate.o.trs
histval_initval_file/ramst_datafile.m.trs: histval_initval_file/ramst_initval_file_data.m.tls
histval_initval_file/ramst_datafile.o.trs: histval_initval_file/ramst_initval_file_data.o.tls
histval_initval_file/sim_exo_lead_lag_initvalf.m.trs: histval_initval_file/sim_exo_lead_lag.m.trs
histval_initval_file/sim_exo_lead_lag_initvalf.o.trs: histval_initval_file/sim_exo_lead_lag.o.trs
histval_initval_file_unit_tests.m.trs: histval_initval_file/ramst_data_generate.m.trs
histval_initval_file_unit_tests.o.trs: histval_initval_file/ramst_data_generate.o.trs


identification/rbc_ident/rbc_ident_varexo_only.m.trs: identification/rbc_ident/rbc_ident_std_as_structural_par.m.trs
identification/rbc_ident/rbc_ident_varexo_only.o.trs: identification/rbc_ident/rbc_ident_std_as_structural_par.o.trs

deterministic_simulations/multiple_lead_lags/sim_exo_lead_lag_aux_vars.m.trs: deterministic_simulations/multiple_lead_lags/sim_base.m.trs
deterministic_simulations/multiple_lead_lags/sim_exo_lead_lag_aux_vars.o.trs: deterministic_simulations/multiple_lead_lags/sim_base.o.trs

deterministic_simulations/multiple_lead_lags/sim_exo_lead_lag.m.trs: deterministic_simulations/multiple_lead_lags/sim_base.m.trs deterministic_simulations/multiple_lead_lags/sim_exo_lead_lag_aux_vars.m.trs
deterministic_simulations/multiple_lead_lags/sim_exo_lead_lag.o.trs: deterministic_simulations/multiple_lead_lags/sim_base.o.trs deterministic_simulations/multiple_lead_lags/sim_exo_lead_lag_aux_vars.o.trs

deterministic_simulations/multiple_lead_lags/sim_endo_lead_lag_aux_vars.m.trs: deterministic_simulations/multiple_lead_lags/sim_base.m.trs
deterministic_simulations/multiple_lead_lags/sim_endo_lead_lag_aux_vars.o.trs: deterministic_simulations/multiple_lead_lags/sim_base.o.trs

deterministic_simulations/multiple_lead_lags/sim_endo_lead_lag.m.trs: deterministic_simulations/multiple_lead_lags/sim_base.m.trs deterministic_simulations/multiple_lead_lags/sim_endo_lead_lag_aux_vars.m.trs
deterministic_simulations/multiple_lead_lags/sim_endo_lead_lag.o.trs: deterministic_simulations/multiple_lead_lags/sim_base.o.trs deterministic_simulations/multiple_lead_lags/sim_endo_lead_lag_aux_vars.o.trs

deterministic_simulations/multiple_lead_lags/sim_lead_lag_aux_vars.m.trs: deterministic_simulations/multiple_lead_lags/sim_base.m.trs
deterministic_simulations/multiple_lead_lags/sim_lead_lag_aux_vars.o.trs: deterministic_simulations/multiple_lead_lags/sim_base.o.trs

deterministic_simulations/multiple_lead_lags/sim_lead_lag.m.trs: deterministic_simulations/multiple_lead_lags/sim_base.m.trs deterministic_simulations/multiple_lead_lags/sim_lead_lag_aux_vars.m.trs
deterministic_simulations/multiple_lead_lags/sim_lead_lag.o.trs: deterministic_simulations/multiple_lead_lags/sim_base.o.trs deterministic_simulations/multiple_lead_lags/sim_lead_lag_aux_vars.o.trs

deterministic_simulations/multiple_lead_lags/ramst_augmented_histval.m.trs: ramst.m.trs
deterministic_simulations/multiple_lead_lags/ramst_augmented_histval.o.trs: ramst.o.trs

loglinear/example4_loglinear.m.trs: loglinear/example4_exp.m.trs
loglinear/example4_loglinear.o.trs: loglinear/example4_exp.o.trs
loglinear/example4_loglinear_lagged_exogenous_a.m.trs: loglinear/example4_loglinear_lagged_exogenous.m.trs
loglinear/example4_loglinear_lagged_exogenous_a.o.trs: loglinear/example4_loglinear_lagged_exogenous.o.trs

loglinear/example4_loglinear_histval.m.trs: loglinear/example4_exp_histval.m.trs
loglinear/example4_loglinear_histval.o.trs: loglinear/example4_exp_histval.o.trs

observation_trends_and_prefiltering/ML/Trend_loglinear_no_prefilter_first_obs.m.trs: observation_trends_and_prefiltering/ML/Trend_loglinear_no_prefilter.m.trs
observation_trends_and_prefiltering/ML/Trend_loglinear_no_prefilter_first_obs.o.trs: observation_trends_and_prefiltering/ML/Trend_loglinear_no_prefilter.o.trs
observation_trends_and_prefiltering/ML/Trend_loglinear_no_prefilter.m.trs: observation_trends_and_prefiltering/ML/Trend_no_prefilter.m.trs
observation_trends_and_prefiltering/ML/Trend_loglinear_no_prefilter.o.trs: observation_trends_and_prefiltering/ML/Trend_no_prefilter.o.trs

observation_trends_and_prefiltering/MCMC/Trend_no_prefilter_first_obs_MC.m.trs: observation_trends_and_prefiltering/MCMC/Trend_loglinear_no_prefilter_MC.m.trs
observation_trends_and_prefiltering/MCMC/Trend_no_prefilter_first_obs_MC.o.trs: observation_trends_and_prefiltering/MCMC/Trend_loglinear_no_prefilter_MC.o.trs
observation_trends_and_prefiltering/MCMC/Trend_no_prefilter_MC.m.trs: observation_trends_and_prefiltering/MCMC/Trend_no_prefilter_first_obs_MC.m.trs
observation_trends_and_prefiltering/MCMC/Trend_no_prefilter_MC.o.trs: observation_trends_and_prefiltering/MCMC/Trend_no_prefilter_first_obs_MC.o.trs
observation_trends_and_prefiltering/MCMC/Trend_loglinear_prefilter_MC.m.trs: observation_trends_and_prefiltering/MCMC/Trend_no_prefilter_MC.m.trs
observation_trends_and_prefiltering/MCMC/Trend_loglinear_prefilter_MC.o.trs: observation_trends_and_prefiltering/MCMC/Trend_no_prefilter_MC.o.trs
observation_trends_and_prefiltering/MCMC/Trend_loglin_prefilt_first_obs_MC.m.trs: observation_trends_and_prefiltering/MCMC/Trend_loglinear_prefilter_MC.m.trs
observation_trends_and_prefiltering/MCMC/Trend_loglin_prefilt_first_obs_MC.o.trs: observation_trends_and_prefiltering/MCMC/Trend_loglinear_prefilter_MC.o.trs
observation_trends_and_prefiltering/MCMC/Trend_prefilter_first_obs_MC.m.trs: observation_trends_and_prefiltering/MCMC/Trend_loglin_prefilt_first_obs_MC.m.trs
observation_trends_and_prefiltering/MCMC/Trend_prefilter_first_obs_MC.o.trs: observation_trends_and_prefiltering/MCMC/Trend_loglin_prefilt_first_obs_MC.o.trs
observation_trends_and_prefiltering/MCMC/Trend_prefilter_MC.m.trs: observation_trends_and_prefiltering/MCMC/Trend_prefilter_first_obs_MC.m.trs
observation_trends_and_prefiltering/MCMC/Trend_prefilter_MC.o.trs: observation_trends_and_prefiltering/MCMC/Trend_prefilter_first_obs_MC.o.trs
observation_trends_and_prefiltering/MCMC/Trend_loglin_no_prefilt_first_obs_MC.m.trs: observation_trends_and_prefiltering/MCMC/Trend_prefilter_MC.m.trs
observation_trends_and_prefiltering/MCMC/Trend_loglin_no_prefilt_first_obs_MC.o.trs: observation_trends_and_prefiltering/MCMC/Trend_prefilter_MC.o.trs

observation_trends_and_prefiltering/calib_smoother/Tr_no_prefil_f_obs_loglin_cal_smoother.m.trs: observation_trends_and_prefiltering/calib_smoother/Tr_no_prefilter_calib_smoother.m.trs
observation_trends_and_prefiltering/calib_smoother/Tr_no_prefil_f_obs_loglin_cal_smoother.o.trs: observation_trends_and_prefiltering/calib_smoother/Tr_no_prefilter_calib_smoother.o.trs
observation_trends_and_prefiltering/calib_smoother/Tr_no_prefilter_loglin_calib_smoother.m.trs: observation_trends_and_prefiltering/calib_smoother/Tr_no_prefil_f_obs_loglin_cal_smoother.m.trs
observation_trends_and_prefiltering/calib_smoother/Tr_no_prefilter_loglin_calib_smoother.o.trs: observation_trends_and_prefiltering/calib_smoother/Tr_no_prefil_f_obs_loglin_cal_smoother.o.trs
observation_trends_and_prefiltering/calib_smoother/Tr_no_prefilt_first_obs_cal_smooth.m.trs: observation_trends_and_prefiltering/calib_smoother/Tr_no_prefilter_loglin_calib_smoother.m.trs
observation_trends_and_prefiltering/calib_smoother/Tr_no_prefilt_first_obs_cal_smooth.o.trs: observation_trends_and_prefiltering/calib_smoother/Tr_no_prefilter_loglin_calib_smoother.o.trs
observation_trends_and_prefiltering/calib_smoother/Tr_prefil_f_obs_loglin_cal_smoother.m.trs: observation_trends_and_prefiltering/calib_smoother/Tr_no_prefilt_first_obs_cal_smooth.m.trs
observation_trends_and_prefiltering/calib_smoother/Tr_prefil_f_obs_loglin_cal_smoother.o.trs: observation_trends_and_prefiltering/calib_smoother/Tr_no_prefilt_first_obs_cal_smooth.o.trs
observation_trends_and_prefiltering/calib_smoother/Tr_prefilter_calib_smoother.m.trs: observation_trends_and_prefiltering/calib_smoother/Tr_prefil_f_obs_loglin_cal_smoother.m.trs
observation_trends_and_prefiltering/calib_smoother/Tr_prefilter_calib_smoother.o.trs: observation_trends_and_prefiltering/calib_smoother/Tr_prefil_f_obs_loglin_cal_smoother.o.trs
observation_trends_and_prefiltering/calib_smoother/Tr_prefilter_loglin_calib_smoother.m.trs: observation_trends_and_prefiltering/calib_smoother/Tr_prefilter_calib_smoother.m.trs
observation_trends_and_prefiltering/calib_smoother/Tr_prefilter_loglin_calib_smoother.o.trs: observation_trends_and_prefiltering/calib_smoother/Tr_prefilter_calib_smoother.o.trs
observation_trends_and_prefiltering/calib_smoother/Tr_prefilt_first_obs_cal_smooth.m.trs: observation_trends_and_prefiltering/calib_smoother/Tr_prefilter_loglin_calib_smoother.m.trs
observation_trends_and_prefiltering/calib_smoother/Tr_prefilt_first_obs_cal_smooth.o.trs: observation_trends_and_prefiltering/calib_smoother/Tr_prefilter_loglin_calib_smoother.o.trs

kalman/likelihood_from_dynare/fs2000_corr_ME.m.trs: kalman/likelihood_from_dynare/fs2000_uncorr_ME.m.trs
kalman/likelihood_from_dynare/fs2000_corr_ME.o.trs: kalman/likelihood_from_dynare/fs2000_uncorr_ME.o.trs
kalman/likelihood_from_dynare/fs2000_uncorr_ME_missing.m.trs: kalman/likelihood_from_dynare/fs2000_uncorr_ME.m.trs
kalman/likelihood_from_dynare/fs2000_uncorr_ME_missing.o.trs: kalman/likelihood_from_dynare/fs2000_uncorr_ME.o.trs
kalman/likelihood_from_dynare/fs2000_corr_ME_missing.m.trs: kalman/likelihood_from_dynare/fs2000_uncorr_ME.m.trs
kalman/likelihood_from_dynare/fs2000_corr_ME_missing.o.trs: kalman/likelihood_from_dynare/fs2000_uncorr_ME.o.trs

kalman/likelihood_from_dynare/fs2000ns_corr_ME.m.trs: kalman/likelihood_from_dynare/fs2000ns_uncorr_ME.m.trs
kalman/likelihood_from_dynare/fs2000ns_corr_ME.o.trs: kalman/likelihood_from_dynare/fs2000ns_uncorr_ME.o.trs
kalman/likelihood_from_dynare/fs2000ns_uncorr_ME_missing.m.trs: kalman/likelihood_from_dynare/fs2000ns_uncorr_ME.m.trs
kalman/likelihood_from_dynare/fs2000ns_uncorr_ME_missing.o.trs: kalman/likelihood_from_dynare/fs2000ns_uncorr_ME.o.trs
kalman/likelihood_from_dynare/fs2000ns_corr_ME_missing.m.trs: kalman/likelihood_from_dynare/fs2000ns_uncorr_ME.m.trs
kalman/likelihood_from_dynare/fs2000ns_corr_ME_missing.o.trs: kalman/likelihood_from_dynare/fs2000ns_uncorr_ME.o.trs

var-expectations/6/substitution.m.trs: var-expectations/6/example1.m.trs
var-expectations/6/substitution.o.trs: var-expectations/6/example1.o.trs
var-expectations/6-with-time-shift/substitution.m.trs: var-expectations/6-with-time-shift/example1.m.trs
var-expectations/6-with-time-shift/substitution.o.trs: var-expectations/6-with-time-shift/example1.o.trs
var-expectations/7/substitution.m.trs: var-expectations/7/example1.m.trs
var-expectations/7/substitution.o.trs: var-expectations/7/example1.o.trs
var-expectations/8/substitution.m.trs: var-expectations/8/example1.m.trs
var-expectations/8/substitution.o.trs: var-expectations/8/example1.o.trs

pac/var-5/substitution.m.trs: pac/var-5/example1.m.trs
pac/var-5/substitution.o.trs: pac/var-5/example1.o.trs
pac/var-6/substitution.m.trs: pac/var-6/example1.m.trs
pac/var-6/substitution.o.trs: pac/var-6/example1.o.trs
pac/var-7/substitution.m.trs: pac/var-7/example1.m.trs
pac/var-7/substitution.o.trs: pac/var-7/example1.o.trs
pac/var-8/substitution.m.trs: pac/var-8/example1.m.trs
pac/var-8/substitution.o.trs: pac/var-8/example1.o.trs
pac/var-9/substitution.m.trs: pac/var-9/example1.m.trs
pac/var-9/substitution.o.trs: pac/var-9/example1.o.trs
pac/var-10e/example2.m.trs: pac/var-10e/example1.m.trs
pac/var-10e/example2.o.trs: pac/var-10e/example1.o.trs
pac/trend-component-14/substitution.m.trs: pac/trend-component-14/example1.m.trs
pac/trend-component-14/substitution.o.trs: pac/trend-component-14/example1.o.trs

lmmcp/sw_newton.m.trs: lmmcp/sw_lmmcp.m.trs
lmmcp/sw_newton.o.trs: lmmcp/sw_lmmcp.o.trs

var-expectations/4/example1.m.trs: var-expectations/3/example1.m.trs
var-expectations/4/example1.o.trs: var-expectations/3/example1.o.trs

var-expectations/4-with-time-shift/example1.m.trs: var-expectations/3-with-time-shift/example1.m.trs
var-expectations/4-with-time-shift/example1.o.trs: var-expectations/3-with-time-shift/example1.o.trs

trend-component-and-var-models/tcm7.m.trs: trend-component-and-var-models/tcm6.m.trs
trend-component-and-var-models/tcm7.o.trs: trend-component-and-var-models/tcm6.o.trs
trend-component-and-var-models/tcm8.m.trs: trend-component-and-var-models/tcm6.m.trs
trend-component-and-var-models/tcm8.o.trs: trend-component-and-var-models/tcm6.o.trs

discretionary_policy/dennis_1_estim.m.trs: discretionary_policy/dennis_1.m.trs
discretionary_policy/dennis_1_estim.o.trs: discretionary_policy/dennis_1.o.trs
discretionary_policy/Gali_2015_chapter_3_nonlinear.m.trs: discretionary_policy/Gali_2015_chapter_3.m.trs
discretionary_policy/Gali_2015_chapter_3_nonlinear.o.trs: discretionary_policy/Gali_2015_chapter_3.o.trs

particle/local_state_space_iteration_k_test.m.trs: particle/first_spec.m.trs
particle/local_state_space_iteration_k_test.o.trs: particle/first_spec.o.trs

particle/local_it_k_test_parallel.m.trs: particle/first_spec.m.trs
particle/local_it_k_test_parallel.o.trs: particle/first_spec.o.trs

pruning/AS_pruned_state_space_red_shock.m.trs: pruning/AnSchorfheide_pruned_state_space.m.trs
pruning/AS_pruned_state_space_red_shock.o.trs: pruning/AnSchorfheide_pruned_state_space.o.trs

ramst_model_edit.m.trs: ramst.m.trs
ramst_model_edit.o.trs: ramst.o.trs

log_transform/ramst.m.trs: ramst.m.trs
log_transform/ramst.o.trs: ramst.o.trs


observation_trends_and_prefiltering/MCMC: m/observation_trends_and_prefiltering/MCMC o/observation_trends_and_prefiltering/MCMC
m/observation_trends_and_prefiltering/MCMC: $(patsubst %.mod, %.m.trs, $(filter observation_trends_and_prefiltering/MCMC/%.mod, $(MODFILES)))
o/observation_trends_and_prefiltering/MCMC: $(patsubst %.mod, %.o.trs, $(filter observation_trends_and_prefiltering/MCMC/%.mod, $(MODFILES)))

observation_trends_and_prefiltering/ML: m/observation_trends_and_prefiltering/ML o/observation_trends_and_prefiltering/ML
m/observation_trends_and_prefiltering/ML: $(patsubst %.mod, %.m.trs, $(filter observation_trends_and_prefiltering/ML/%.mod, $(MODFILES)))
o/observation_trends_and_prefiltering/ML: $(patsubst %.mod, %.o.trs, $(filter observation_trends_and_prefiltering/ML/%.mod, $(MODFILES)))

observation_trends_and_prefiltering/calib_smoother: m/observation_trends_and_prefiltering/calib_smoother o/observation_trends_and_prefiltering/calib_smoother
m/observation_trends_and_prefiltering/calib_smoother: $(patsubst %.mod, %.m.trs, $(filter observation_trends_and_prefiltering/calib_smoother/%.mod, $(MODFILES)))
o/observation_trends_and_prefiltering/calib_smoother: $(patsubst %.mod, %.o.trs, $(filter observation_trends_and_prefiltering/calib_smoother/%.mod, $(MODFILES)))

observation_trends_and_prefiltering: m/observation_trends_and_prefiltering o/observation_trends_and_prefiltering
m/observation_trends_and_prefiltering: $(patsubst %.mod, %.m.trs, $(filter observation_trends_and_prefiltering/%.mod, $(MODFILES)))
o/observation_trends_and_prefiltering: $(patsubst %.mod, %.o.trs, $(filter observation_trends_and_prefiltering/%.mod, $(MODFILES)))

stochastic-backward-models: m/stochastic-backward-models o/stochastic-backward-models
m/stochastic-backward-models: $(patsubst %.mod, %.m.trs, $(filter stochastic-backward-models/%.mod, $(MODFILES)))
o/stochastic-backward-models: $(patsubst %.mod, %.o.trs, $(filter stochastic-backward-models/%.mod, $(MODFILES)))

arima: m/arima o/arima
m/arima: $(patsubst %.mod, %.m.trs, $(filter arima/%.mod, $(MODFILES)))
o/arima: $(patsubst %.mod, %.o.trs, $(filter arima/%.mod, $(MODFILES)))

homotopy: m/homotopy o/homotopy
m/homotopy: $(patsubst %.mod, %.m.trs, $(filter homotopy/%.mod, $(MODFILES)))
o/homotopy: $(patsubst %.mod, %.o.trs, $(filter homotopy/%.mod, $(MODFILES)))

expectations: m/expectations o/expectations
m/expectations: $(patsubst %.mod, %.m.trs, $(filter expectations/%.mod, $(MODFILES)))
o/expectations: $(patsubst %.mod, %.o.trs, $(filter expectations/%.mod, $(MODFILES)))

external_function: m/external_function o/external_function
m/external_function: $(patsubst %.mod, %.m.trs, $(filter external_function/%.mod, $(MODFILES)))
o/external_function: $(patsubst %.mod, %.o.trs, $(filter external_function/%.mod, $(MODFILES)))

on-the-fly: m/on-the-fly o/on-the-fly
m/on-the-fly: $(patsubst %.mod, %.m.trs, $(filter on-the-fly/%.mod, $(MODFILES)))
o/on-the-fly: $(patsubst %.mod, %.o.trs, $(filter on-the-fly/%.mod, $(MODFILES)))

trend_var: m/trend_var o/trend_var
m/trend_var: $(patsubst %.mod, %.m.trs, $(filter trend_var/%.mod, $(MODFILES)))
o/trend_var: $(patsubst %.mod, %.o.trs, $(filter trend_var/%.mod, $(MODFILES)))

moments: m/moments o/moments
m/moments: $(patsubst %.mod, %.m.trs, $(filter moments/%.mod, $(MODFILES)))
o/moments: $(patsubst %.mod, %.o.trs, $(filter moments/%.mod, $(MODFILES)))

AIM: m/AIM o/AIM
m/AIM: $(patsubst %.mod, %.m.trs, $(filter AIM/%.mod, $(MODFILES)))
o/AIM: $(patsubst %.mod, %.o.trs, $(filter AIM/%.mod, $(MODFILES)))

second_order: m/second_order o/second_order
m/second_order: $(patsubst %.mod, %.m.trs, $(filter second_order/%.mod, $(MODFILES)))
o/second_order: $(patsubst %.mod, %.o.trs, $(filter second_order/%.mod, $(MODFILES)))

decision_rules: m/decision_rules o/decision_rules
m/decision_rules: $(patsubst %.mod, %.m.trs, $(filter decision_rules/%.mod, $(MODFILES)))
o/decision_rules: $(patsubst %.mod, %.o.trs, $(filter decision_rules/%.mod, $(MODFILES)))

k_order_perturbation: m/k_order_perturbation o/k_order_perturbation
m/k_order_perturbation: $(patsubst %.mod, %.m.trs, $(filter k_order_perturbation/%.mod, $(MODFILES)))
o/k_order_perturbation: $(patsubst %.mod, %.o.trs, $(filter k_order_perturbation/%.mod, $(MODFILES)))

optimal_policy/OSR: m/optimal_policy/OSR o/optimal_policy/OSR
m/optimal_policy/OSR: $(patsubst %.mod, %.m.trs, $(filter optimal_policy/OSR/%.mod, $(MODFILES)))
o/optimal_policy/OSR: $(patsubst %.mod, %.o.trs, $(filter optimal_policy/OSR/%.mod, $(MODFILES)))

optimal_policy/Ramsey: m/optimal_policy/Ramsey o/optimal_policy/Ramsey
m/optimal_policy/Ramsey: $(patsubst %.mod, %.m.trs, $(filter optimal_policy/Ramsey/%.mod, $(MODFILES)))
o/optimal_policy/Ramsey: $(patsubst %.mod, %.o.trs, $(filter optimal_policy/Ramsey/%.mod, $(MODFILES)))

optimal_policy: m/optimal_policy o/optimal_policy
m/optimal_policy: $(patsubst %.mod, %.m.trs, $(filter optimal_policy/%.mod, $(MODFILES)))
o/optimal_policy: $(patsubst %.mod, %.o.trs, $(filter optimal_policy/%.mod, $(MODFILES)))

discretionary_policy: m/discretionary_policy o/discretionary_policy
m/discretionary_policy: $(patsubst %.mod, %.m.trs, $(filter discretionary_policy/%.mod, $(MODFILES)))
o/discretionary_policy: $(patsubst %.mod, %.o.trs, $(filter discretionary_policy/%.mod, $(MODFILES)))

steady_state: m/steady_state o/steady_state
m/steady_state: $(patsubst %.mod, %.m.trs, $(filter steady_state/%.mod, $(MODFILES)))
o/steady_state: $(patsubst %.mod, %.o.trs, $(filter steady_state/%.mod, $(MODFILES)))

steady_state_operator: m/steady_state_operator o/steady_state_operator
m/steady_state_operator: $(patsubst %.mod, %.m.trs, $(filter steady_state_operator/%.mod, $(MODFILES)))
o/steady_state_operator: $(patsubst %.mod, %.o.trs, $(filter steady_state_operator/%.mod, $(MODFILES)))

deterministic_simulations/multiple_lead_lags: m/deterministic_simulations/multiple_lead_lags o/deterministic_simulations/multiple_lead_lags
m/deterministic_simulations/multiple_lead_lags: $(patsubst %.mod, %.m.trs, $(filter deterministic_simulations/multiple_lead_lags/%.mod, $(MODFILES)))
o/deterministic_simulations/multiple_lead_lags: $(patsubst %.mod, %.o.trs, $(filter deterministic_simulations/multiple_lead_lags/%.mod, $(MODFILES)))

deterministic_simulations: m/deterministic_simulations o/deterministic_simulations
m/deterministic_simulations: $(patsubst %.mod, %.m.trs, $(filter deterministic_simulations/%.mod, $(MODFILES)))
o/deterministic_simulations: $(patsubst %.mod, %.o.trs, $(filter deterministic_simulations/%.mod, $(MODFILES)))

simul: m/simul o/simul
m/simul: $(patsubst %.mod, %.m.trs, $(filter simul/%.mod, $(MODFILES)))
o/simul: $(patsubst %.mod, %.o.trs, $(filter simul/%.mod, $(MODFILES)))

ep: m/ep o/ep
m/ep: $(patsubst %.mod, %.m.trs, $(filter ep/%.mod, $(MODFILES)))
o/ep: $(patsubst %.mod, %.o.trs, $(filter ep/%.mod, $(MODFILES)))

ms-sbvar: m/ms-sbvar o/ms-sbvar
m/ms-sbvar: $(patsubst %.mod, %.m.trs, $(filter ms-sbvar/%.mod, $(MODFILES)))
o/ms-sbvar: $(patsubst %.mod, %.o.trs, $(filter ms-sbvar/%.mod, $(MODFILES)))

lmmcp: m/lmmcp o/lmmcp
m/lmmcp: $(patsubst %.mod, %.m.trs, $(filter lmmcp/%.mod, $(MODFILES)))
o/lmmcp: $(patsubst %.mod, %.o.trs, $(filter lmmcp/%.mod, $(MODFILES)))

loglinear: m/loglinear o/loglinear
m/loglinear: $(patsubst %.mod, %.m.trs, $(filter loglinear/%.mod, $(MODFILES)))
o/loglinear: $(patsubst %.mod, %.o.trs, $(filter loglinear/%.mod, $(MODFILES)))

gsa: m/gsa o/gsa
m/gsa: $(patsubst %.mod, %.m.trs, $(filter gsa/%.mod, $(MODFILES)))
o/gsa: $(patsubst %.mod, %.o.trs, $(filter gsa/%.mod, $(MODFILES)))

identification: m/identification o/identification
m/identification: $(patsubst %.mod, %.m.trs, $(filter identification/%.mod, $(MODFILES)))
o/identification: $(patsubst %.mod, %.o.trs, $(filter identification/%.mod, $(MODFILES)))

analytic_derivatives: m/analytic_derivatives o/analytic_derivatives
m/analytic_derivatives: $(patsubst %.mod, %.m.trs, $(filter analytic_derivatives/%.mod, $(MODFILES)))
o/analytic_derivatives: $(patsubst %.mod, %.o.trs, $(filter analytic_derivatives/%.mod, $(MODFILES)))

pruning: m/pruning o/pruning
m/pruning: $(patsubst %.mod, %.m.trs, $(filter pruning/%.mod, $(MODFILES)))
o/pruning: $(patsubst %.mod, %.o.trs, $(filter pruning/%.mod, $(MODFILES)))

fs2000: m/fs2000 o/fs2000
m/fs2000: $(patsubst %.mod, %.m.trs, $(filter fs2000/%.mod, $(MODFILES)))
o/fs2000: $(patsubst %.mod, %.o.trs, $(filter fs2000/%.mod, $(MODFILES)))

estimation/MH_recover: m/estimation/MH_recover o/estimation/MH_recover
m/estimation/MH_recover: $(patsubst %.mod, %.m.trs, $(filter estimation/MH_recover/%.mod, $(MODFILES)))
o/estimation/MH_recover: $(patsubst %.mod, %.o.trs, $(filter estimation/MH_recover/%.mod, $(MODFILES)))

estimation: m/estimation o/estimation
m/estimation: $(patsubst %.mod, %.m.trs, $(filter estimation/%.mod, $(MODFILES)))
o/estimation: $(patsubst %.mod, %.o.trs, $(filter estimation/%.mod, $(MODFILES)))

kalman/likelihood_from_dynare: m/kalman/likelihood_from_dynare o/kalman/likelihood_from_dynare
m/kalman/likelihood_from_dynare: $(patsubst %.mod, %.m.trs, $(filter kalman/likelihood_from_dynare/%.mod, $(MODFILES)))
o/kalman/likelihood_from_dynare: $(patsubst %.mod, %.o.trs, $(filter kalman/likelihood_from_dynare/%.mod, $(MODFILES)))

kalman/lik_init: m/kalman/lik_init o/kalman/lik_init
m/kalman/lik_init: $(patsubst %.mod, %.m.trs, $(filter kalman/lik_init/%.mod, $(MODFILES)))
o/kalman/lik_init: $(patsubst %.mod, %.o.trs, $(filter kalman/lik_init/%.mod, $(MODFILES)))

kalman: m/kalman o/kalman
m/kalman: $(patsubst %.mod, %.m.trs, $(filter kalman/%.mod, $(MODFILES)))
o/kalman: $(patsubst %.mod, %.o.trs, $(filter kalman/%.mod, $(MODFILES)))

dsge-var: m/dsge-var o/dsge-var
m/dsge-var: $(patsubst %.mod, %.m.trs, $(filter dsge-var/%.mod, $(MODFILES)))
o/dsge-var: $(patsubst %.mod, %.o.trs, $(filter dsge-var/%.mod, $(MODFILES)))

kalman_filter_smoother: m/kalman_filter_smoother o/kalman_filter_smoother
m/kalman_filter_smoother: $(patsubst %.mod, %.m.trs, $(filter kalman_filter_smoother/%.mod, $(MODFILES)))
o/kalman_filter_smoother: $(patsubst %.mod, %.o.trs, $(filter kalman_filter_smoother/%.mod, $(MODFILES)))

shock_decomposition: m/shock_decomposition o/shock_decomposition
m/shock_decomposition: $(patsubst %.mod, %.m.trs, $(filter shock_decomposition/%.mod, $(MODFILES)))
o/shock_decomposition: $(patsubst %.mod, %.o.trs, $(filter shock_decomposition/%.mod, $(MODFILES)))

conditional_forecasts: m/conditional_forecasts o/conditional_forecasts
m/conditional_forecasts: $(patsubst %.mod, %.m.trs, $(filter conditional_forecasts/%.mod, $(MODFILES)))
o/conditional_forecasts: $(patsubst %.mod, %.o.trs, $(filter conditional_forecasts/%.mod, $(MODFILES)))

optimizers: m/optimizers o/optimizers
m/optimizers: $(patsubst %.mod, %.m.trs, $(filter optimizers/%.mod, $(MODFILES)))
o/optimizers: $(patsubst %.mod, %.o.trs, $(filter optimizers/%.mod, $(MODFILES)))

gradient: m/gradient o/gradient
m/gradient: $(patsubst %.mod, %.m.trs, $(filter gradient/%.mod, $(MODFILES)))
o/gradient: $(patsubst %.mod, %.o.trs, $(filter gradient/%.mod, $(MODFILES)))

var-expectations: m/var-expectations o/var-expectations
m/var-expectations: $(patsubst %.mod, %.m.trs, $(filter var-expectations/%.mod, $(MODFILES)))
o/var-expectations: $(patsubst %.mod, %.o.trs, $(filter var-expectations/%.mod, $(MODFILES)))

estimation/univariate/ols: m/estimation/univariate/ols o/estimation/univariate/ols
m/estimation/univariate/ols: $(patsubst %.mod, %.m.trs, $(filter estimation/univariate/ols/%.mod, $(MODFILES)))
o/estimation/univariate/ols: $(patsubst %.mod, %.o.trs, $(filter estimation/univariate/ols/%.mod, $(MODFILES)))

trend-component-and-var-models: m/trend-component-and-var-models o/trend-component-and-var-models
m/trend-component-and-var-models: $(patsubst %.mod, %.m.trs, $(filter trend-component-and-var-models/%.mod, $(MODFILES)))
o/trend-component-and-var-models: $(patsubst %.mod, %.o.trs, $(filter trend-component-and-var-models/%.mod, $(MODFILES)))

pac: m/pac o/pac
m/pac: $(patsubst %.mod, %.m.trs, $(filter pac/%.mod, $(MODFILES)))
o/pac: $(patsubst %.mod, %.o.trs, $(filter pac/%.mod, $(MODFILES)))

particle: m/particle o/particle
m/particle: $(patsubst %.mod, %.m.trs, $(PARTICLEFILES))
o/particle: $(patsubst %.mod, %.o.trs, $(PARTICLEFILES))

method_of_moments: m/method_of_moments o/method_of_moments
m/method_of_moments: $(patsubst %.mod, %.m.trs, $(filter estimation/method_of_moments/%.mod, $(MODFILES)))
o/method_of_moments: $(patsubst %.mod, %.o.trs, $(filter estimation/method_of_moments/%.mod, $(MODFILES)))

ecb: m/ecb o/ecb
m/ecb: $(patsubst %.mod, %.m.trs, $(filter ecb/%.mod, $(MODFILES)))
o/ecb: $(patsubst %.mod, %.o.trs, $(filter ecb/%.mod, $(MODFILES)))

estimation/univariate: m/estimation/univariate o/estimation/univariate
m/estimation/univariate: $(patsubst %.mod, %.m.trs, $(filter estimation/univariate/%.mod, $(MODFILES)))
o/estimation/univariate: $(patsubst %.mod, %.o.trs, $(filter estimation/univariate/%.mod, $(MODFILES)))

# ECB files
M_ECB_TRS_FILES = $(patsubst %.mod, %.m.trs, $(ECB_MODFILES))

# Just OLS files
M_OLS_TRS_FILES = $(patsubst %.mod, %.m.trs, $(OLS_MODFILES))

# Matlab TRS Files
M_TRS_FILES = $(patsubst %.mod, %.m.trs, $(MODFILES))
M_TRS_FILES += $(patsubst %.mod, %.m.trs, $(PARTICLEFILES))
M_TRS_FILES += 	run_block_byte_tests_matlab.m.trs \
		run_reporting_test_matlab.m.trs \
		run_all_unitary_tests.m.trs \
		histval_initval_file_unit_tests.m.trs \
		test_aggregate_routine_1_2.m.trs \
		test_aggregate_routine_1_2_3.m.trs \
		run_kronecker_tests.m.trs \
		nonlinearsolvers.m.trs

M_XFAIL_TRS_FILES = $(patsubst %.mod, %.m.trs, $(XFAIL_MODFILES))

# Octave TRS Files
O_TRS_FILES = $(patsubst %.mod, %.o.trs, $(MODFILES))
O_TRS_FILES += $(patsubst %.mod, %.o.trs, $(PARTICLEFILES))
O_TRS_FILES += 	run_block_byte_tests_octave.o.trs \
		run_reporting_test_octave.o.trs \
		run_all_unitary_tests.o.trs \
		histval_initval_file_unit_tests.o.trs \
		run_kronecker_tests.o.trs \
		nonlinearsolvers.o.trs

O_XFAIL_TRS_FILES = $(patsubst %.mod, %.o.trs, $(XFAIL_MODFILES))

# Matlab TLS Files
M_TLS_FILES = $(patsubst %.m, %.m.tls, $(MFILES))

# Octave TLS Files
O_TLS_FILES = $(patsubst %.m, %.o.tls, $(MFILES))

EXTRA_DIST = \
	read_trs_files.sh \
	run_test_matlab.m \
	run_test_octave.m \
	run_m_script.m \
	load_octave_packages.m \
	$(MODFILES) \
	$(PARTICLEFILES) \
	$(XFAIL_MODFILES) \
	$(MFILES) \
	run_block_byte_tests_matlab.m \
	run_block_byte_tests_octave.m \
	run_reporting_test_matlab.m \
	run_reporting_test_octave.m \
	run_all_unitary_tests.m \
	+matlab/+namespace/y_k.m \
	reporting/AnnualTable.m \
	reporting/CommResidTablePage.m \
	reporting/CountryGraphPage.m \
	reporting/CountryTablePage.m \
	reporting/ResidTablePage.m \
	reporting/db_a.csv \
	reporting/db_q.csv \
	reporting/dc_a.csv \
	reporting/dc_q.csv \
	reporting/runDynareReport.m \
	homotopy/common.mod \
	block_bytecode/ls2003.mod \
	fs2000_ssfile_aux.m \
	utils/printMakeCheckMatlabErrMsg.m \
	utils/printMakeCheckOctaveErrMsg.m \
	utils/fataltest.m \
	AIM/data_ca1.m \
	AIM/fsdat.m \
	block_bytecode/run_ls2003.m \
	block_bytecode/lola_data.mat \
	block_bytecode/lola_common.inc \
	bvar_a_la_sims/bvar_sample.m \
	dates/fsdat_simul.m \
	dates/data_uav.xlsx \
	external_function/extFunDeriv.m \
	external_function/extFunNoDerivs.m \
	external_function/extFunWithFirstAndSecondDerivs.m \
	external_function/+matlab/+namespace/extFunNoDerivsNamespace.m \
	external_function/+matlab/+namespace/extFunWithFirstAndSecondDerivsNamespace.m \
	expectations/expectation_ss_old_steadystate.m \
	filter_step_ahead/trend_cycle_decomposition_data.m \
	steady_state/walsh1_old_ss_steadystate.m \
	data/test.xlsx \
	gsa/morris/nk_est_data.m \
	gsa/data_ca1.m \
	gsa/data_ca1.mat \
	analytic_derivatives/fsdat_simul.m \
	analytic_derivatives/nBrockMirmanSYM.mat \
	pruning/Andreasen_et_al_2018_Dynare44Pruning_v2.mat \
	fs2000/fsdat_simul.m \
	fs2000/fsdat_simul_dseries.m \
	fs2000/fsdat_simul_missing_obs.m \
	ls2003/data_ca1.m \
	measurement_errors/data_ca1.m \
	measurement_errors/fs2000_corr_me_ml_mcmc/fsdat_simul.m \
	missing/simulate_data_with_missing_observations.m \
	objectives/sgu_ex1.mat \
	conditional_forecasts/2/fsdat_simul.m \
	ms-sbvar/msdata.m \
	ms-sbvar/archive-files/ftd_2s_caseall_upperchol3v.m \
	ms-sbvar/archive-files/ftd_2s_caseall_upperchol4v.m \
	ms-sbvar/archive-files/ftd_2s_caseall_upperchol6v.m \
	ms-sbvar/archive-files/ftd_2s_caseall_upperchol7v.m \
	ms-sbvar/archive-files/ftd_RSvensson_4v.m \
	ms-sbvar/archive-files/ftd_cholesky.m \
	ms-sbvar/archive-files/ftd_non_rec_5v.m \
	ms-sbvar/archive-files/ftd_simszha5v.m \
	ms-sbvar/archive-files/ftd_upperchol3v.m \
	ms-sbvar/archive-files/ftd_upperchol4v.m \
	ms-sbvar/archive-files/ftd_upperchol5v.m \
	ms-sbvar/archive-files/ftd_upperchol6v.m \
	ms-sbvar/archive-files/ftd_upperchol7v.m \
	ms-sbvar/archive-files/specification_2v.dat \
	ms-sbvar/archive-files/specification_2v2c.dat \
	recursive/data_ca1.m \
	recursive/data_ca1_csv.csv \
	recursive/data_ca1_xls.xlsx \
	kalman_filter_smoother/fsdat_simul.m \
	kalman/lik_init/fs2000_common.inc \
	kalman/lik_init/fs2000_ns_common.inc \
	kalman_initial_state/fs2000_common.inc \
	kalman_filter_smoother/compare_results_simulation/fsdat_simul_logged.m \
	kalman_filter_smoother/SOE_data_file.m \
	kalman/likelihood_from_dynare/fs2000_model.inc \
	kalman/likelihood_from_dynare/fs2000_estimation_check.inc \
	kalman/likelihood_from_dynare/fs2000ns_model.inc \
	kalman/likelihood_from_dynare/fs2000ns_estimation_check.inc \
	identification/as2007/G_QT.mat \
	estimation/fsdat_simul.m \
	estimation/heteroskedastic_shocks/fs2000_het_model.inc \
	estimation/heteroskedastic_shocks/fs2000_het_check.inc \
	estimation/system_prior_restriction/Gali_2015_PC_slope.m \
	estimation/system_prior_restriction/Gali_2015_prior_restrictions.m \
	ep/mean_preserving_spread.m \
	ep/rbcii_steadystate.m \
	decision_rules/example1_results_dyn_432.mat \
	decision_rules/third_order/comparison_policy_functions_dynare_mathematica.m \
	decision_rules/third_order/FV_2011_policyfunctions.mat \
	shock_decomposition/example1_calib_shock_decomp_data.mat \
	shock_decomposition/fsdat_simul.m \
	smoother2histval/fsdat_simul.m \
	particle/first_spec_common.inc \
	particle/risky.m \
	optimal_policy/Ramsey/find_c.m \
	observation_trends_and_prefiltering/generate_trend_stationary_AR1.m \
	observation_trends_and_prefiltering/Trend_diagnostics_MCMC_common.inc \
	observation_trends_and_prefiltering/Trend_diagnostics_calib_common.inc \
	observation_trends_and_prefiltering/Trend_diagnostics_ML_common.inc \
	observation_trends_and_prefiltering/Trend_exp_model_prefilter_common.inc \
	observation_trends_and_prefiltering/Trend_exp_model_no_prefilter_common.inc \
	observation_trends_and_prefiltering/Trend_model_prefilter_common.inc \
	observation_trends_and_prefiltering/Trend_model_no_prefilter_common.inc \
	observation_trends_and_prefiltering/Trend_exp_model_calib_prefilter_common.inc \
	observation_trends_and_prefiltering/Trend_exp_model_calib_no_prefilter_common.inc \
	observation_trends_and_prefiltering/Trend_model_calib_prefilter_common.inc \
	observation_trends_and_prefiltering/Trend_model_calib_no_prefilter_common.inc \
	observation_trends_and_prefiltering/Trend_load_data_common.inc \
	observation_trends_and_prefiltering/Trend_no_prefilter_conditional_forecast.inc \
	occbin/model_borrcon/borrcon_common.inc \
	occbin/model_irrcap_twoconstraints/dynrbc_common.inc \
	occbin/filter/dataobsfile.mat \
	occbin/filter/NKM_mh_mode_saved.mat \
	optimal_policy/neo_growth_common.inc \
	optimal_policy/neo_growth_ramsey_common.inc \
	optimizers/optimizer_function_wrapper.m \
	optimizers/fs2000.common.inc \
	estimation/MH_recover/fs2000.common.inc \
	prior_posterior_function/posterior_function_demo.m \
	k_order_perturbation/fs2000k++.mod \
	lmmcp/sw-common-header.inc \
	lmmcp/sw-common-footer.inc \
	estimation/tune_mh_jscale/fs2000.inc \
	estimation/method_of_moments/AnScho/AnScho_MoM_common.inc \
	estimation/method_of_moments/AnScho/AnScho_MoM_data_2.mat \
	estimation/method_of_moments/RBC/RBC_MoM_common.inc \
	estimation/method_of_moments/RBC/RBC_MoM_steady_helper.m \
	estimation/method_of_moments/RBC/RBC_Andreasen_Data_2.mat \
	estimation/method_of_moments/AFVRR/AFVRR_common.inc \
	estimation/method_of_moments/AFVRR/AFVRR_steady_helper.m \
	estimation/method_of_moments/AFVRR/AFVRR_data.mat \
	estimation/univariate/data.csv \
	estimation/univariate/ols/mc-ols.inc \
	estimation/no_init_estimation_check_first_obs/fsdat_simul.m \
	estimation/no_init_estimation_check_first_obs/fsdat_mat.m \
	estimation/no_init_estimation_check_first_obs/fsdat_mat_XFAIL.m \
	ecb/SURGibbs/fishdata.csv \
	test_aggregate_routine_1_2.m \
	test_aggregate_routine_1_2_3.m \
	ecb/aggregate/1/endogenous.inc \
	ecb/aggregate/1/exogenous.inc \
	ecb/aggregate/1/parameters.inc \
	ecb/aggregate/1/parameter-values.inc \
	ecb/aggregate/1/model.inc \
	ecb/aggregate/2/endogenous.inc \
	ecb/aggregate/2/exogenous.inc \
	ecb/aggregate/2/parameters.inc \
	ecb/aggregate/2/parameter-values.inc \
	ecb/aggregate/2/model.inc \
	ecb/aggregate/3/endogenous.inc \
	ecb/aggregate/3/exogenous.inc \
	ecb/aggregate/3/parameters.inc \
	ecb/aggregate/3/parameter-values.inc \
	ecb/aggregate/3/model.inc \
	histval_initval_file_unit_tests.m \
	histval_initval_file/my_assert.m \
	histval_initval_file/ramst_data.xls \
	histval_initval_file/ramst_data.xlsx \
	histval_initval_file/ramst_initval_file_data.m \
	run_kronecker_tests.m \
	kronecker/test_kron.m \
	kronecker/nash_matrices.mat \
	deterministic_simulations/pfwee.csv \
	solver-test-functions/brown.m \
	solver-test-functions/broydenbanded.m \
	solver-test-functions/broydentridiagonal.m \
	solver-test-functions/chebyquad.m \
	solver-test-functions/discreteboundaryvalue.m \
	solver-test-functions/discreteintegralequation.m \
	solver-test-functions/helicalvalley.m \
	solver-test-functions/powell1.m \
	solver-test-functions/powell2.m \
	solver-test-functions/rosenbrock.m \
	solver-test-functions/trigonometric.m \
	solver-test-functions/variablydimensioned.m \
	solver-test-functions/watson.m \
	solver-test-functions/wood.m \
	ramst_normcdf_and_friends.inc

if ENABLE_MATLAB
check-local: check-matlab
endif

if ENABLE_OCTAVE
check-local: check-octave
endif

check-matlab: $(M_XFAIL_TRS_FILES) $(M_TRS_FILES)
	@./read_trs_files.sh "$(M_TRS_FILES)" "$(M_XFAIL_TRS_FILES)"

check-octave: $(O_XFAIL_TRS_FILES) $(O_TRS_FILES)
	@./read_trs_files.sh "$(O_TRS_FILES)" "$(O_XFAIL_TRS_FILES)"

check-matlab-ecb: $(M_ECB_TRS_FILES)
	@./read_trs_files.sh "$(M_ECB_TRS_FILES)"

check-matlab-ols: $(M_OLS_TRS_FILES)
	@./read_trs_files.sh "$(M_OLS_TRS_FILES)"

%.m.trs %.m.log: %.mod
	@echo "`tput bold``tput setaf 8`MATLAB: $(CURDIR)/$*... `tput sgr0`"
# The while loop is a workaround for this glibc bug: https://sourceware.org/bugzilla/show_bug.cgi?id=19329 (should be fixed in glibc 2.34, likely included in Debian “bookworm” 12)
	@while ! [ -f $*.m.trs ] || head -1 $*.m.log | egrep -q '^Inconsistency detected by ld.so'; \
	do \
	DYNARE_VERSION="$(PACKAGE_VERSION)" TOP_TEST_DIR="$(CURDIR)" FILESTEM="$*" \
		$(MATLAB)/bin/matlab $(MATLAB_BATCH_OPTIONS) run_test_matlab > $*.m.log 2>&1 || \
		printf ":test-result: FAIL\n:number-tests: 1\n:number-failed-tests: 1\n:list-of-failed-tests: $*.mod\n:elapsed-time: 0.0\n" > $*.m.trs; \
	done
	@if test -z "$(filter $*.m.trs,$(M_XFAIL_TRS_FILES))"; then pass_color=2; fail_color=1; else pass_color=1; fail_color=2; fi; \
	if grep -q ":test-result: PASS" $*.m.trs; then \
	echo "`tput bold``tput setaf $${pass_color}`MATLAB: $(CURDIR)/$* PASSED!`tput sgr0`" ; \
	else \
	echo "`tput bold``tput setaf $${fail_color}`MATLAB: $(CURDIR)/$* FAILED!`tput sgr0`" ; \
	fi

%.m.drs %.m.log: %.m.trs
	@cat $*.m.log

%.m.trs %.m.log : %.m
	@echo "`tput bold``tput setaf 8`MATLAB: $(CURDIR)/$*... `tput sgr0`"
# The while loop is a workaround for this glibc bug: https://sourceware.org/bugzilla/show_bug.cgi?id=19329 (should be fixed in glibc 2.34, likely included in Debian “bookworm” 12)
	@while ! [ -f $*.m.trs ] || head -1 $*.m.log | egrep -q '^Inconsistency detected by ld.so'; \
	do \
	DYNARE_VERSION="$(PACKAGE_VERSION)" TOP_TEST_DIR="$(CURDIR)" \
		$(MATLAB)/bin/matlab $(MATLAB_BATCH_OPTIONS) $* > $*.m.log 2>&1 || \
		printf ":test-result: FAIL\n:number-tests: 1\n:number-failed-tests: 1\n:list-of-failed-tests: $*.mod\n:elapsed-time: 0.0\n" > $*.m.trs; \
	done
	@echo "`tput bold``tput setaf 8`MATLAB: $(CURDIR)/$* Done!`tput sgr0`"

%.o.trs %.o.log: %.mod
	@echo "`tput bold``tput setaf 8`OCTAVE: $(CURDIR)/$*... `tput sgr0`"
	@DYNARE_VERSION="$(PACKAGE_VERSION)" TOP_TEST_DIR="$(CURDIR)" FILESTEM="$*" \
		$(OCTAVE) --no-window-system --no-init-file --silent --no-history --path "$*.mod" run_test_octave.m > $*.o.log 2>&1 || \
	printf ":test-result: FAIL\n:number-tests: 1\n:number-failed-tests: 1\n:list-of-failed-tests: $*.mod\n:elapsed-time: 0.0\n" > $*.o.trs
	@if test -z "$(filter $*.o.trs,$(O_XFAIL_TRS_FILES))"; then pass_color=2; fail_color=1; else pass_color=1; fail_color=2; fi; \
	if grep -q ":test-result: PASS" $*.o.trs; then \
	echo "`tput bold``tput setaf $${pass_color}`OCTAVE: $(CURDIR)/$* PASSED!`tput sgr0`" ; \
	else \
	echo "`tput bold``tput setaf $${fail_color}`OCTAVE: $(CURDIR)/$* FAILED!`tput sgr0`" ; \
	fi

%.o.drs %.o.log: %.mod %.o.trs
	@cat $*.o.log

%.o.trs %.o.log : %.m
	@echo "`tput bold``tput setaf 8`OCTAVE: $(CURDIR)/$*... `tput sgr0`"
	@DYNARE_VERSION="$(PACKAGE_VERSION)" TOP_TEST_DIR="$(CURDIR)" \
		$(OCTAVE) --no-window-system --no-init-file --silent --no-history $< > $*.o.log 2>&1 || \
		printf ":test-result: FAIL\n:number-tests: 1\n:number-failed-tests: 1\n:list-of-failed-tests: $*.m\n:elapsed-time: 0.0\n" > $*.o.trs
	@echo "`tput bold``tput setaf 8`OCTAVE: $(CURDIR)/$* Done!`tput sgr0`"

%.m.tls : %.m
	@echo "`tput bold``tput setaf 8`MATLAB: $(CURDIR)/$*... `tput sgr0`"
	@TOP_TEST_DIR="$(CURDIR)" FILESTEM="$*" \
		$(MATLAB)/bin/matlab $(MATLAB_BATCH_OPTIONS) run_m_script >/dev/null 2>&1
	@touch $*.m.tls
	@echo "`tput bold`MATLAB`tput setaf 8`: $(CURDIR)/$* Done!`tput sgr0`"

%.o.tls : %.m
	@echo "`tput bold``tput setaf 8`OCTAVE: $(CURDIR)/$*... `tput sgr0`"
	@TOP_TEST_DIR="$(CURDIR)"  FILESTEM="$*" \
		$(OCTAVE) --no-window-system --no-init-file --silent --no-history run_o_script.m 2>&1
	@touch $*.o.tls
	@echo "`tput bold``tput setaf 8`OCTAVE: $(CURDIR)/$* Done!`tput sgr0`"

clean-local:
	rm -f $(M_TRS_FILES)
	rm -f $(M_OLS_TRS_FILES)
	rm -f $(M_TLS_FILES)
	rm -f $(M_XFAIL_TRS_FILES)
	rm -f $(O_TRS_FILES)
	rm -f $(O_TLS_FILES)
	rm -f $(O_XFAIL_TRS_FILES)
	rm -f $(patsubst %.trs, %.log, $(M_TRS_FILES))
	rm -f $(patsubst %.trs, %.log, $(M_OLS_TRS_FILES))
	rm -f $(patsubst %.trs, %.log, $(M_XFAIL_TRS_FILES))
	rm -f $(patsubst %.trs, %.log, $(O_TRS_FILES))
	rm -f $(patsubst %.trs, %.log, $(O_XFAIL_TRS_FILES))
	rm -f $(patsubst %.trs, %.json, $(M_TRS_FILES))
	rm -f $(patsubst %.trs, %.json, $(M_OLS_TRS_FILES))
	rm -f $(patsubst %.trs, %.json, $(M_XFAIL_TRS_FILES))
	rm -f $(patsubst %.trs, %.json, $(O_TRS_FILES))
	rm -f $(patsubst %.trs, %.json, $(O_XFAIL_TRS_FILES))

	rm -f $(patsubst %.mod, %.log, $(MODFILES))

	rm -rf $(patsubst %.mod, %, $(MODFILES))

	rm -rf $(foreach mod, $(MODFILES), $(dir $(mod))+$(basename $(notdir $(mod))))

	rm -f $(patsubst %.mod, %*.pdf, $(MODFILES))
	rm -f $(patsubst %.mod, %*.eps, $(MODFILES))
	rm -f $(patsubst %.mod, %*.fig, $(MODFILES))

	rm -f $(shell find -name g1.mat)
	rm -f $(shell find -name g2.mat)
	rm -f $(shell find -name g3.mat)
	rm -f $(shell find -name H.dat)

	rm -f arima/data1.m arima/data2.m \
		k_order_perturbation/*.jnl \
		k_order_perturbation/*.mat \
		kalman_filter_smoother/data_algo.mat \
		kalman_filter_smoother/data_Pinf_Pstar.mat

	rm -f data_ca1_csv.csv

	rm -f estimation/MH_recover/*.mat \
		estimation/MH_recover/*.dat

	rm -rf ramsey_objective

	rm -f ep/*.c

	rm -f fs2000_ssfile_steadystate.m

	rm -f $(shell find -name '*~')

	rm -f dsge-var/datarabanal_hybrid.m

	rm -rf partial_information/PItest3aHc0PCLsimModPiYrVarobsAll_PCL* partial_information/PItest3aHc0PCLsimModPiYrVarobsCNR_PCL*

	rm -rf block_bytecode/ls2003_tmp*

	rm -f reporting/report.*

	rm -f $(shell find -name wsOct) \
		$(shell find -name wsMat.mat)

	rm -f run_test_matlab_output.txt run_test_octave_output.txt

	rm -rf ms-sbvar/init_* \
		ms-sbvar/*.out \
		ms-sbvar/*.mat \
		ms-sbvar/*.prn \
		ms-sbvar/*.dat \
		ms-sbvar/tmv_rr_sr \
		ms-sbvar/tmv_rr_tr

	rm -f estimation/test_matrix.mat

	rm -f histval_initval_file/ramst_initval_file_data_col_vec_mat.mat histval_initval_file/ramst_initval_file_data_row_vec_mat.mat histval_initval_file/ramst_initval_file_excel.xls

	rm -f loglinear/results_exp_histval.mat loglinear/results_exp.mat

	rm -f k_order_perturbation/fs2000k++.mat k_order_perturbation/fs2000k++.dump \
		k_order_perturbation/fs2000k++.jnl k_order_perturbation/fs2000k++_f.m \
		k_order_perturbation/fs2000k++_ff.m

	rm -rf ecb/cherrypick/simulation-files1 ecb/cherrypick/simulation-files2 toto.mod

	rm -f discretionary_policy/dennis_simul.m

	rm -f kalman/likelihood_from_dynare/fsdat_simul_corr_ME.m \
		kalman/likelihood_from_dynare/fsdat_simul_corr_ME_missing.m \
		kalman/likelihood_from_dynare/fsdat_simul_uncorr_ME.m \
		kalman/likelihood_from_dynare/fsdat_simul_uncorr_ME_missing.m \
		kalman/likelihood_from_dynare/fs_ns_dat_simul_corr_ME.m \
		kalman/likelihood_from_dynare/fs_ns_dat_simul_corr_ME_missing.m \
		kalman/likelihood_from_dynare/fs_ns_dat_simul_uncorr_ME.m \
		kalman/likelihood_from_dynare/fs_ns_dat_simul_uncorr_ME_missing.m

	rm -f occbin/filter/dataobsfile2.mat

	rm -f optimal_policy/Ramsey/oo_ramsey_policy_initval.mat

	rm -rf tests/pac/var-12/toto

	find . -name "*.tex" -type f -delete
	find . -name "*.aux" -type f -delete
	find . -name "*.log" -type f -delete
	find . -name "*.eps" -type f -delete
