#
# Makefile for sea level change calculation code
#
#
FC	= pgf90
FFLAGS  =  -Mbounds -fpic
NCFDIR  = /usr/local/netcdf-4.1.3-pgi-hpf-cc-11.5-0
NCFINC  = -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) $(FFLAGS) $(FFLAGS) $(NCFINC) $(OBJ) calculate_slc.o $(NCFLIB) -o $(EXEDIR)/calculate_slc

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

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

handle_err.o: $(SRCDIR)/handle_err.f90
	$(FC) $(FFLAGS) $(NCFINC) -c $(SRCDIR)/handle_err.f90
gx1v3_model_size.o: $(SRCDIR)/gx1v3_model_size.F90
	$(FC) $(FFLAGS) $(NCFINC) -c $(SRCDIR)/gx1v3_model_size.F90
constants.o: $(SRCDIR)/constants.F
	$(FC) $(FFLAGS) $(NCFINC) -c $(SRCDIR)/constants.F
shr_kind_mod.o: $(SRCDIR)/shr_kind_mod.f90
	$(FC) $(FFLAGS) $(NCFINC) -c $(SRCDIR)/shr_kind_mod.f90
shr_const_mod.o: $(SRCDIR)/shr_const_mod.f90
	$(FC) $(FFLAGS) $(NCFINC) -c $(SRCDIR)/shr_const_mod.f90
kinds_mod.o: $(SRCDIR)/kinds_mod.f90
	$(FC) $(FFLAGS) $(NCFINC) -c $(SRCDIR)/kinds_mod.f90
state_ccsm_mod.o: $(SRCDIR)/state_ccsm_mod.f90
	$(FC) $(FFLAGS) $(NCFINC) -c $(SRCDIR)/state_ccsm_mod.f90
state_pcm.o: $(SRCDIR)/state_pcm.f90
	$(FC) $(FFLAGS) $(NCFINC) -c $(SRCDIR)/state_pcm.f90
check_exists.o: $(SRCDIR)/check_exists.f90
	$(FC) $(FFLAGS) $(NCFINC) -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) $(FFLAGS) $(NCFINC) -c calculate_slc.f90 

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

