#
# Makefile for IDL and MCD
# make -f makefile
#
# Path to (top directory of) NetCDF distribution 
NETCDF_DIR = /path/to/netcdf
# Path to the MCD Fortan routines (call_mcd.F, julian.F and heights.F)
FROUTINES_DIR = ..
# Fortran compiler (should be the same that was used to compile the NetCDF library)
FCOMPILER = gfortran

call_mcd.so : call_mcd.o julian.o heights.o julian_wrapf.o call_mcd_wrapf.o call_mcd4idl.o
	$(FCOMPILER) -shared -fPIC -o call_mcd.so call_mcd.o julian.o heights.o julian_wrapf.o call_mcd_wrapf.o call_mcd4idl.o $(NETCDF_DIR)/lib/libnetcdff.so

call_mcd.o       : $(FROUTINES_DIR)/call_mcd.F
	$(FCOMPILER) -shared -fPIC -c $(FROUTINES_DIR)/call_mcd.F -I$(FROUTINES_DIR) -I$(NETCDF_DIR)/include
call_mcd_wrapf.o : call_mcd_wrapf.f
	$(FCOMPILER) -shared -fPIC -c call_mcd_wrapf.f
call_mcd4idl.o   : call_mcd4idl.f
	$(FCOMPILER) -shared -fPIC -c call_mcd4idl.f
julian.o         : $(FROUTINES_DIR)/julian.F
	$(FCOMPILER) -shared -fPIC -c $(FROUTINES_DIR)/julian.F -I$(FROUTINES_DIR) 
julian_wrapf.o   : julian_wrapf.f
	$(FCOMPILER) -shared -fPIC -c julian_wrapf.f
heights.o        : $(FROUTINES_DIR)/heights.F
	$(FCOMPILER) -shared -fPIC -c $(FROUTINES_DIR)/heights.F -I$(FROUTINES_DIR)  -I$(NETCDF_DIR)/include
