all: $(SHLIB)

# Source (object) of Fortran modules
# <modulename.mod>: <filename.o>
md_interface_pmodel.mod: interface_biosphere_pmodel.mod.o
md_interface_in_biomee.mod: interface_in_biosphere_biomee.mod.o
md_interface_out_biomee.mod: interface_out_biosphere_biomee.mod.o
md_forcing_pmodel.mod: forcing_siterun_pmodel.mod.o
md_forcing_biomee.mod: forcing_siterun_biomee.mod.o
md_tile_pmodel.mod: tile_pmodel.mod.o
md_waterbal.mod: waterbal_splash.mod.o
md_gpp_biomee.mod: gpp_biomee.mod.o
md_gpp_pmodel.mod: gpp_pmodel.mod.o
md_photosynth.mod: photosynth_pmodel.mod.o
md_soiltemp.mod: soiltemp_sitch.mod.o
md_plant_pmodel.mod: plant_pmodel.mod.o
md_vegdynamics_pmodel.mod: vegdynamics_pmodel.mod.o
md_biosphere_pmodel.mod: biosphere_pmodel.mod.o
md_biosphere_biomee.mod: biosphere_biomee.mod.o
md_soil_biomee.mod: soil_biomee.mod.o
md_vegetation_processes_biomee.mod: vegetation_processes_biomee.mod.o
md_vegetation_tile_biomee.mod: vegetation_tile_biomee.mod.o
md_cohort.mod: cohort_biomee.mod.o
md_cohort_linked_list.mod: cohort_linked_list_biomee.mod.o
md_sofunutils.mod: sofunutils.mod.o
md_params_siml_pmodel.mod: params_siml_pmodel.mod.o
md_product_pools.mod: product_pools_biomee.mod.o
md_lu_tile_biomee.mod: lu_tile_biomee.mod.o
md_aggregated_tile_biomee.mod: aggregated_tile_biomee.mod.o
md_track_vegetation_d13c.mod: track_vegetation_d13c.mod.o
md_common_fluxes.mod: common_fluxes.mod.o
md_orgpool.mod: orgpool.mod.o
md_params_core.mod: params_core.mod.o
md_grid.mod: grid_siterun.mod.o
procedure.mod: orgpool.mod.o
pmodel_mod.mod: main_pmodel.mod.o
biomee_mod.mod: main_biomee.mod.o

# Define all module interdependencies
# Source (object) of Fortran modules
# <name.o>: <modulename.mod>
interface_biosphere_pmodel.mod.o: md_forcing_pmodel.mod md_params_siml_pmodel.mod md_params_core.mod md_grid.mod
interface_in_biosphere_biomee.mod.o: md_params_core.mod
forcing_siterun_pmodel.mod.o: md_params_core.mod md_grid.mod md_sofunutils.mod md_params_siml_pmodel.mod md_params_core.mod
forcing_siterun_biomee.mod.o: md_params_core.mod
tile_pmodel.mod.o: md_params_core.mod md_plant_pmodel.mod md_interface_pmodel.mod
waterbal_splash.mod.o: md_params_core.mod md_tile_pmodel.mod md_forcing_pmodel.mod md_grid.mod md_interface_pmodel.mod md_sofunutils.mod md_sofunutils.mod
gpp_pmodel.mod.o: md_params_core.mod md_tile_pmodel.mod md_interface_pmodel.mod md_forcing_pmodel.mod md_plant_pmodel.mod md_sofunutils.mod md_grid.mod md_photosynth.mod md_sofunutils.mod
gpp_biomee.mod.o: md_vegetation_tile_biomee.mod md_interface_in_biomee.mod md_soil_biomee.mod md_sofunutils.mod md_forcing_biomee.mod md_photosynth.mod md_photosynth.mod md_params_core.mod md_sofunutils.mod md_params_core.mod
photosynth_pmodel.mod.o: md_params_core.mod md_sofunutils.mod md_sofunutils.mod
soiltemp_sitch.mod.o: md_params_core.mod md_params_core.mod md_sofunutils.mod md_tile_pmodel.mod md_params_core.mod md_sofunutils.mod md_tile_pmodel.mod
plant_pmodel.mod.o: md_params_core.mod md_interface_pmodel.mod md_orgpool.mod
vegdynamics_pmodel.mod.o: md_params_core.mod md_tile_pmodel.mod
biosphere_pmodel.mod.o: md_params_core.mod md_waterbal.mod md_gpp_pmodel.mod md_vegdynamics_pmodel.mod md_tile_pmodel.mod md_plant_pmodel.mod md_sofunutils.mod md_soiltemp.mod md_track_vegetation_d13c.mod md_interface_pmodel.mod
biosphere_biomee.mod.o: md_vegetation_tile_biomee.mod md_vegetation_processes_biomee.mod md_soil_biomee.mod md_forcing_biomee.mod md_soiltemp.mod md_interface_in_biomee.mod md_sofunutils.mod
soil_biomee.mod.o: md_interface_in_biomee.mod md_vegetation_tile_biomee.mod md_sofunutils.mod md_forcing_biomee.mod md_params_core.mod
vegetation_processes_biomee.mod.o: md_vegetation_tile_biomee.mod md_soil_biomee.mod md_interface_in_biomee.mod md_forcing_biomee.mod md_gpp_biomee.mod md_interface_in_biomee.mod
vegetation_tile_biomee.mod.o: md_interface_in_biomee.mod md_interface_out_biomee.mod md_params_core.mod md_orgpool.mod md_common_fluxes.mod md_cohort.mod md_cohort_linked_list.mod md_interface_in_biomee.mod md_interface_in_biomee.mod
cohort_biomee.mod.o: md_interface_in_biomee.mod md_params_core.mod md_orgpool.mod md_common_fluxes.mod
cohort_linked_list_biomee.mod.o: md_cohort.mod
sofunutils.mod.o: md_params_core.mod
params_siml_pmodel.mod.o: md_params_core.mod
product_pools_biomee.mod.o: md_orgpool.mod
lu_tile_biomee.mod.o: md_vegetation_tile_biomee.mod
aggregated_tile_biomee.mod.o: md_lu_tile_biomee.mod md_product_pools.mod md_orgpool.mod md_params_core.mod md_interface_in_biomee.mod md_interface_out_biomee.mod md_cohort.mod md_cohort_linked_list.mod
track_vegetation_d13c.mod.o: md_tile_pmodel.mod md_plant_pmodel.mod md_params_core.mod md_orgpool.mod
common_fluxes.mod.o: md_params_core.mod
main_biomee.mod.o: md_forcing_biomee.mod md_interface_in_biomee.mod md_biosphere_biomee.mod md_aggregated_tile_biomee.mod md_params_core.mod md_vegetation_tile_biomee.mod
main_pmodel.mod.o: md_params_core.mod md_photosynth.mod md_forcing_pmodel.mod md_interface_pmodel.mod md_params_core.mod md_biosphere_pmodel.mod

# Dependency of the C wrapper
wrappersc.o: main_pmodel.mod.o main_biomee.mod.o

clean:
	@rm -rf *.o *.mod
