MODFILES = \
	walsh.mod \
	optimizers/fs2000_6.mod \
	moments/example1_hp_test.mod \
	lmmcp/rbcii.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 \
	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 \
	ep/rbc.mod \
	estimation/fs2000_with_weibull_prior.mod \
	estimation/fs2000_initialize_from_calib.mod	\
	estimation/fs2000_calibrated_covariance.mod \
	estimation/fs2000_model_comparison.mod \
	estimation/fs2000_fast.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/t_proposal/fs2000_student.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 \
	example1.mod \
	example2.mod \
	example1_use_dll.mod \
	example1_with_tags.mod \
	example1_irf_shocks.mod \
	example1_abs_sign.mod \
	example1_macroif.mod \
	example1long.mod \
	example2long.mod \
	example2long_use_dll.mod \
	t_sgu_ex1.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/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/Gali_commitment.mod \
	optimal_policy/RamseyConstraints/test1.mod \
	discretionary_policy/dennis_1.mod \
	discretionary_policy/Gali_discretion.mod \
	initval_file/ramst_initval_file.mod \
	ramst_normcdf_and_friends.mod \
	ramst_vec.mod \
	example1_varexo_det.mod \
	predetermined_variables.mod \
	fs2000_nonstationary.mod \
	fs2000_ssfile.mod \
	comments.mod \
	histval_sto.mod \
	histval_det.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_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/ramst_normcdf_and_friends.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 \
	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/first_and_2nd_deriv_fcns_provided.mod \
	external_function/first_and_2nd_deriv_fcns_provided_dll.mod \
	external_function/first_deriv_fcn_provided.mod \
	external_function/first_deriv_fcn_provided_dll.mod \
	external_function/no_deriv_fcns_provided.mod \
	external_function/no_deriv_fcns_provided_dll.mod \
	seeds.mod \
	identification/kim/kim2.mod \
	identification/as2007/as2007.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 \
	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 \
	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 \
	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_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/test_compute_Pinf_Pstar_data.mod \
	kalman_filter_smoother/test_compute_Pinf_Pstar.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 \
	stochastic-backward-models/solow_cd.mod \
	stochastic-backward-models/solow_ces.mod \
	stochastic-backward-models/solow_cd_with_steadystate.mod \
	stochastic-backward-models/backward_linear.mod \
	deterministic_simulations/purely_forward/ar1.mod \
	deterministic_simulations/purely_forward/nk.mod \
	deterministic_simulations/purely_backward/ar1.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/lola_solve_one_boundary.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 \
	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 \
	stochastic_purely_forward/stochastic_purely_forward.mod \
	stochastic_purely_forward/stochastic_purely_forward_with_static.mod \
	forecast/Hansen_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 \
	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 \
	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 \
	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

PARTICLEFILES = \
	particle/dsge_base2.mod \
	particle/dsge_unit_root.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 \
	identification/ident_unit_root/ident_unit_root_xfail.mod \
	steady_state/Linear_steady_state_xfail.mod \
	example1_extra_exo_xfail.mod

MFILES = initval_file/ramst_initval_file_data.m

# Dependencies
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++.m.trs

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++.o.trs

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/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

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

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

initval_file/ramst_initval_file.m.trs: initval_file/ramst_initval_file_data.m.tls
initval_file/ramst_initval_file.o.trs: initval_file/ramst_initval_file_data.o.tls

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

lmmcp/sw_newton.m.trs: lmmcp/sw_lmmcp.m.trs
lmmcp/sw_newton.o.trs: lmmcp/sw_lmmcp.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)))

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/Ransey/%.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)))

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)))

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

# Matlab TRS Files
M_TRS_FILES = $(patsubst %.mod, %.m.trs, $(MODFILES))
M_TRS_FILES += run_block_byte_tests_matlab.m.trs run_reporting_test_matlab.m.trs run_all_unitary_tests.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 += run_block_byte_tests_octave.o.trs run_reporting_test_octave.o.trs run_all_unitary_tests.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 \
	$(MODFILES) \
	$(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 \
	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 \
	printMakeCheckMatlabErrMsg.m \
	printMakeCheckOctaveErrMsg.m \
	fataltest.m \
	AIM/data_ca1.m \
	AIM/fsdat.m \
	block_bytecode/run_ls2003.m \
	bvar_a_la_sims/bvar_sample.m \
	dates/fsdat_simul.m \
	external_function/extFunDeriv.m \
	external_function/extFunNoDerivs.m \
	external_function/extFunWithFirstAndSecondDerivs.m \
	expectations/expectation_ss_old_steadystate.m \
	steady_state/walsh1_old_ss_steadystate.m \
	data/test.xlsx \
	gsa/morris/nk_est_data.m \
	analytic_derivatives/fsdat_simul.m \
	fs2000/fsdat_simul.m \
	k_order_perturbation/run_fs2000kplusplus.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/data.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 \
	kalman_filter_smoother/fsdat_simul.m \
	kalman/lik_init/fs2000_common.inc \
	kalman/lik_init/fs2000_ns_common.inc \
	kalman_filter_smoother/compare_results_simulation/fsdat_simul_logged.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/kim/kim2_steadystate.m \
	identification/as2007/as2007_steadystate.m \
	estimation/fsdat_simul.m \
	ep/mean_preserving_spread.m \
	decision_rules/third_order/comparison_policy_functions_dynare_mathematica.m \
	shock_decomposition/example1_calib_shock_decomp_data.mat \
	shock_decomposition/fsdat_simul.m \
	smoother2histval/fsdat_simul.m \
	optimal_policy/Ramsey/find_c.m \
	optimal_policy/Ramsey/oo_ramsey_policy_initval.mat \
	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 \
	optimal_policy/Ramsey/oo_ramsey_policy_initval.mat \
	optimizers/optimizer_function_wrapper.m \
	optimizers/fs2000.common.inc \
	estimation/MH_recover/fs2000.common.inc \
	prior_posterior_function/posterior_function_demo.m


TARGETS =
TEXTOUT =

if HAVE_CMD_LINE_MATLAB
TARGETS += check-matlab
TEXTOUT += run_test_matlab_output.txt
endif

if HAVE_OCTAVE
TARGETS += check-octave
TEXTOUT += run_test_octave_output.txt
endif

check-local: $(TEXTOUT)
	@cat $(TEXTOUT)

$(TEXTOUT): $(TARGETS)

check-matlab: $(M_XFAIL_TRS_FILES) $(M_TRS_FILES)
	./read_trs_files.sh "$(M_TRS_FILES)" "$(M_XFAIL_TRS_FILES)"
	@echo 'Matlab Tests Done'

check-octave: $(O_XFAIL_TRS_FILES) $(O_TRS_FILES)
	./read_trs_files.sh "$(O_TRS_FILES)" "$(O_XFAIL_TRS_FILES)"
	@echo 'Octave Tests Done'

%.m.trs %.m.log: %.mod
	@echo "`tput bold``tput setaf 8`MATLAB: $(PWD)/$*... `tput sgr0`"
	@DYNARE_VERSION="$(PACKAGE_VERSION)" TOP_TEST_DIR="$(PWD)" FILESTEM="$*" \
		$(MATLAB)/bin/matlab -nosplash -nodisplay -r run_test_matlab > $*.m.log  2> /dev/null || \
	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
	@if grep -q ":test-result: PASS" $*.m.trs; then \
	echo "`tput bold``tput setaf 2`MATLAB: $(PWD)/$* PASSED!`tput sgr0`" ; \
	else \
	echo "`tput bold``tput setaf 1`MATLAB: $(PWD)/$* 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: $(PWD)/$*... `tput sgr0`"
	@DYNARE_VERSION="$(PACKAGE_VERSION)" TOP_TEST_DIR="$(PWD)" \
		$(MATLAB)/bin/matlab -nosplash -nodisplay -r $* > $*.m.log 2> /dev/null 
	@echo "`tput bold``tput setaf 8`MATLAB: $(PWD)/$* Done!`tput sgr0`"

%.o.trs %.o.log: %.mod
	@echo "`tput bold``tput setaf 8`OCTAVE: $(PWD)/$*... `tput sgr0`"
	@DYNARE_VERSION="$(PACKAGE_VERSION)" TOP_TEST_DIR="$(PWD)" FILESTEM="$*" \
		$(OCTAVE) --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 grep -q ":test-result: PASS" $*.o.trs; then \
	echo "`tput bold``tput setaf 2`OCTAVE: $(PWD)/$* PASSED!`tput sgr0`" ; \
	else \
	echo "`tput bold``tput setaf 1`OCTAVE: $(PWD)/$* 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: $(PWD)/$*... `tput sgr0`"
	@DYNARE_VERSION="$(PACKAGE_VERSION)" TOP_TEST_DIR="$(PWD)" \
		$(OCTAVE) --no-init-file --silent --no-history $< > $*.o.log 2>&1
	@echo "`tput bold``tput setaf 8`OCTAVE: $(PWD)/$* Done!`tput sgr0`"

%.m.tls : %.m
	@echo "`tput bold``tput setaf 8`MATLAB: $(PWD)/$*... `tput sgr0`"
	@TOP_TEST_DIR="$(PWD)" FILESTEM="$*" \
		$(MATLAB)/bin/matlab -nosplash -nodisplay -r run_m_script 2> /dev/null
	@touch $*.m.tls
	@echo "`tput bold`MATLAB`tput setaf 8`: $(PWD)/$* Done!`tput sgr0`"

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

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

	rm -f $(patsubst %.mod, %.m, $(MODFILES)) \
		$(patsubst %.mod, %_static.*, $(MODFILES)) \
		$(patsubst %.mod, %_objective_static.m, $(MODFILES)) \
		$(patsubst %.mod, %_set_auxiliary_variables.m, $(MODFILES)) \
		$(patsubst %.mod, %_steadystate2.m, $(MODFILES)) \
		$(patsubst %.mod, %_dynamic.*, $(MODFILES))

	rm -f $(patsubst %.mod, %_results.mat, $(MODFILES)) \
		$(patsubst %.mod, %_mode.mat, $(MODFILES)) \
		$(patsubst %.mod, %_mh_mode.mat, $(MODFILES)) \
		$(patsubst %.mod, %_mean.mat, $(MODFILES)) \
		$(patsubst %.mod, %_pindx.mat, $(MODFILES)) \
		$(patsubst %.mod, %_params.mat, $(MODFILES)) \
		$(patsubst %.mod, %_simul, $(MODFILES)) \
		$(patsubst %.mod, %.log, $(MODFILES))

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

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

	rm -f $(shell find -name g1.mat) \
		$(shell find -name g2.mat) \
		$(shell find -name g3.mat) \
		$(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.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 initval_file/ramst_initval_file_data_col_vec_mat.mat initval_file/ramst_initval_file_data_row_vec_mat.mat initval_file/ramst_initval_file_excel.xls

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

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