VIC_PATH = ./vic
VIC_RUN = $(VIC_PATH)/vic_run
VIC_DRVSHR = $(VIC_PATH)/drivers/shared_all

HDRS = -I "$(VIC_RUN)/include" -I "$(VIC_DRVSHR)/include" -I "."

LOG_LVL = 25

# CFLAGS = -Wno-strict-prototypes -Wno-deprecated-non-prototype
# PKG_CFLAGS = -Wno-strict-prototypes -Wno-deprecated-non-prototype

PKG_CXXFLAGS = $(SHLIB_OPENMP_CXXFLAGS)
# -Wunused-result
PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) 

PKG_CPPFLAGS = $(HDRS) \
           -DLOG_LVL=$(LOG_LVL) \
           -D_DEFAULT_SOURCE

SOURCES_C = vic/vic_run/src/advected_sensible_heat.c vic/vic_run/src/alloc_and_free.c vic/vic_run/src/arno_evap.c vic/vic_run/src/calc_atmos_energy_bal.c vic/vic_run/src/calc_gridcell_avg_albedo.c vic/vic_run/src/calc_Nscale_factors.c vic/vic_run/src/calc_rainonly.c vic/vic_run/src/calc_snow_coverage.c vic/vic_run/src/calc_surf_energy_bal.c vic/vic_run/src/calc_veg_params.c vic/vic_run/src/CalcAerodynamic.c vic/vic_run/src/CalcBlowingSnow.c vic/vic_run/src/canopy_assimilation.c vic/vic_run/src/canopy_evap.c vic/vic_run/src/comparisons.c vic/vic_run/src/compute_coszen.c vic/vic_run/src/compute_derived_lake_dimensions.c vic/vic_run/src/compute_pot_evap.c vic/vic_run/src/compute_soil_resp.c vic/vic_run/src/compute_zwt.c vic/vic_run/src/correct_precip.c vic/vic_run/src/estimate_T1.c vic/vic_run/src/faparl.c vic/vic_run/src/frozen_soil.c vic/vic_run/src/func_atmos_energy_bal.c vic/vic_run/src/func_atmos_moist_bal.c vic/vic_run/src/func_canopy_energy_bal.c vic/vic_run/src/func_surf_energy_bal.c vic/vic_run/src/ice_melt.c vic/vic_run/src/IceEnergyBalance.c vic/vic_run/src/initialize_lake.c vic/vic_run/src/interpoloation.c vic/vic_run/src/lake_utils.c vic/vic_run/src/lakes.eb.c vic/vic_run/src/latent_heat_from_snow.c vic/vic_run/src/massrelease.c vic/vic_run/src/newt_raph_func_fast.c vic/vic_run/src/penman.c vic/vic_run/src/photosynth.c vic/vic_run/src/physics.c vic/vic_run/src/prepare_full_energy.c vic/vic_run/src/root_brent.c vic/vic_run/src/runoff.c vic/vic_run/src/snow_intercept.c vic/vic_run/src/snow_melt.c vic/vic_run/src/snow_utility.c vic/vic_run/src/SnowPackEnergyBalance.c vic/vic_run/src/soil_carbon_balance.c vic/vic_run/src/soil_conduction.c vic/vic_run/src/soil_thermal_eqn.c vic/vic_run/src/solve_snow.c vic/vic_run/src/StabilityCorrection.c vic/vic_run/src/surface_fluxes.c vic/vic_run/src/svp.c vic/vic_run/src/vic_run.c vic/vic_run/src/water_energy_balance.c vic/vic_run/src/water_under_ice.c vic/vic_run/src/write_layer.c vic/vic_run/src/write_vegvar.c vic/drivers/shared_all/src/agg_data.c vic/drivers/shared_all/src/alarms.c vic/drivers/shared_all/src/calc_root_fraction.c vic/drivers/shared_all/src/cmd_proc.c vic/drivers/shared_all/src/compress_files.c vic/drivers/shared_all/src/compute_derived_state_vars.c vic/drivers/shared_all/src/compute_lake_params.c vic/drivers/shared_all/src/compute_treeline.c vic/drivers/shared_all/src/forcing_utils.c vic/drivers/shared_all/src/free_all_vars.c vic/drivers/shared_all/src/free_vegcon.c vic/drivers/shared_all/src/generate_default_lake_state.c vic/drivers/shared_all/src/generate_default_state.c vic/drivers/shared_all/src/get_parameters.c vic/drivers/shared_all/src/history_metadata.c vic/drivers/shared_all/src/initialize_energy.c vic/drivers/shared_all/src/initialize_global.c vic/drivers/shared_all/src/initialize_options.c vic/drivers/shared_all/src/initialize_parameters.c vic/drivers/shared_all/src/initialize_snow.c vic/drivers/shared_all/src/initialize_soil.c vic/drivers/shared_all/src/initialize_veg.c vic/drivers/shared_all/src/input_tools.c vic/drivers/shared_all/src/make_all_vars.c vic/drivers/shared_all/src/make_cell_data.c vic/drivers/shared_all/src/make_dmy.c vic/drivers/shared_all/src/make_energy_bal.c vic/drivers/shared_all/src/make_snow_data.c vic/drivers/shared_all/src/make_veg_var.c vic/drivers/shared_all/src/open_file.c vic/drivers/shared_all/src/print_library_shared.c vic/drivers/shared_all/src/put_data.c vic/drivers/shared_all/src/set_output_defaults.c vic/drivers/shared_all/src/soil_moisture_from_water_table.c vic/drivers/shared_all/src/timing.c vic/drivers/shared_all/src/update_step_vars.c vic/drivers/shared_all/src/vic_history.c vic/drivers/shared_all/src/vic_log.c vic/drivers/shared_all/src/vic_time.c vic/drivers/shared_all/src/zero_output_list.c

SOURCES_CPP = ./conv.cpp ./display_current_settings.cpp ./force.cpp ./get_options.cpp ./globals.cpp ./initiate.cpp ./make_output_info.cpp ./make_params.cpp ./RcppExports.cpp ./vic_run_cell.cpp ./vic_version.cpp vic_run_cells_all.cpp XAJ.cpp
# profile.cpp

OBJECTS = $(SOURCES_C:.c=.o) $(SOURCES_CPP:.cpp=.o)

# .PHONY: all
# clean

# clean:
# 	# rm -rf $(OBJECTS) *.exe *.o *.so *.dll
#     $(clean)

all: $(SHLIB) 

# $(SHLIB): $(OBJECTS)
