#
# Makefile for sea level change calculation code
#
#
FC	= pgfortran
#FC	= gfortran
#NCFDIR  = /usr/local/netcdf-gcc-g++-gfortran
NCFDIR  = /usr/local/netcdf-pgi
INCDIR  = -I$(NCFDIR)/include -I./include
NCFLIB  = -L$(NCFDIR)/lib -lnetcdf -lnetcdff
#
SRCDIR  = .
EXEDIR  = /home/strandwg/bin
OBJ	= \
	handle_err.o \
	module_netcdf.o \
	netcdf_jfl.o \
	kinds_mod.o \
	gx1v3_model_size.o \
	shr_kind_mod.o \
	shr_const_mod.o \
	state_ccsm_mod.o \
	state_pcm.o \
	check_exists.o 

all: calculate_slc

calculate_slc: $(OBJ) calculate_slc.o
	$(FC) $(INCDIR) $(OBJ) calculate_slc.o $(NCFLIB) -o $(EXEDIR)/calculate_slc

module_netcdf.o: $(SRCDIR)/module_netcdf.f90
	$(FC) $(INCDIR) -c $(SRCDIR)/module_netcdf.f90

netcdf_jfl.o: $(SRCDIR)/netcdf_jfl.f90
	$(FC) $(INCDIR) -c $(SRCDIR)/netcdf_jfl.f90

handle_err.o: $(SRCDIR)/handle_err.f90
	$(FC) $(INCDIR) -c $(SRCDIR)/handle_err.f90
gx1v3_model_size.o: $(SRCDIR)/gx1v3_model_size.F90
	$(FC) $(INCDIR) -c $(SRCDIR)/gx1v3_model_size.F90
constants.o: $(SRCDIR)/constants.F
	$(FC) $(INCDIR) -c $(SRCDIR)/constants.F
shr_kind_mod.o: $(SRCDIR)/shr_kind_mod.f90
	$(FC) $(INCDIR) -c $(SRCDIR)/shr_kind_mod.f90
shr_const_mod.o: $(SRCDIR)/shr_const_mod.f90
	$(FC) $(INCDIR) -c $(SRCDIR)/shr_const_mod.f90
kinds_mod.o: $(SRCDIR)/kinds_mod.f90
	$(FC) $(INCDIR) -c $(SRCDIR)/kinds_mod.f90
state_ccsm_mod.o: $(SRCDIR)/state_ccsm_mod.f90
	$(FC) $(INCDIR) -c $(SRCDIR)/state_ccsm_mod.f90
state_pcm.o: $(SRCDIR)/state_pcm.f90
	$(FC) $(INCDIR) -c $(SRCDIR)/state_pcm.f90
check_exists.o: $(SRCDIR)/check_exists.f90
	$(FC) $(INCDIR) -c $(SRCDIR)/check_exists.f90

calculate_slc.o: calculate_slc.f90 netcdf_jfl.o netcdf_jfl.o handle_err.o state_ccsm_mod.o gx1v3_model_size.o \
                 check_exists.o kinds_mod.o shr_kind_mod.o shr_const_mod.o state_pcm.o $(INCL)
	$(FC) $(INCDIR) -c calculate_slc.f90 

clean: 
	/bin/rm -f *.o *.mod

