.SUFFIXES:
.SUFFIXES: .o .F
#-----------------------------------------------------------------------
CPP   = cpp
RM  = rm -f
#-----------------------------------------------------------------------
#
# Compiler Flag of Options.
#
#-----------------------------------------------------------------------

FFLAGS = -I${NETCDF}/include 
LDFLAGS =
LIBS       = `${NETCDF}/bin/nc-config --flibs`
FLAGS1     = -P -nostdinc -traditional-cpp
FLAGS2     = -D_PARALLEL_

# -- XLF90 -- PARALLEL
# FTN        = mpxlf90_r
# FREEFLAGS  = -qfree=f90  -g
# CPPFLAGS   = $(FLAGS1) $(FLAGS2)

# -- IFORT -- PARALLEL
# FTN		= mpif90 # -f90=ifort
# FREEFLAGS  = -free  -g -C
# CPPFLAGS   = $(FLAGS1) $(FLAGS2)

# -- GFORTRAN -- PARALLEL
FTN		= mpif90
FREEFLAGS	= -ffree-form -ffree-line-length-none -g -C 
CPPFLAGS   = $(FLAGS1) $(FLAGS2)

# -- PGF90 -- PARALLEL
# FTN   = mpif90 -f90=pgf90
# FREEFLAGS  = -Mfree  -g -C
# CPPFLAGS   = $(FLAGS1) $(FLAGS2)

# -- XLF90 -- SERIAL
# FREEFLAGS  = -qfree=f90  -g
# CPPFLAGS   = $(FLAGS1)

# -- PGF90 -- SERIAL
# FTN   = pgf90
# FREEFLAGS  = -Mfree  -g -C
# CPPFLAGS   = $(FLAGS1)

# -- IFORT -- SERIAL
# FTN		= ifort
# FREEFLAGS  = -free  -g -C
# CPPFLAGS   = $(FLAGS1)

# -- GFORTRAN -- SERIAL
# FTN		= gfortran
# FREEFLAGS	= -ffree-form -ffree-line-length-none -g -C 
# CPPFLAGS   = $(FLAGS1)

# -- G95 -- SERIAL
# FTN		= g95
# FREEFLAGS	= -ffree-form -ffree-line-length-huge -Wall -fbounds-check -finteger=2000000000 -freal=nan -fpointer=null
# CPPFLAGS   = $(FLAGS1)

#-----------------------------------------------------------------------
#
# Dependencies
#
#-----------------------------------------------------------------------
.SUFFIXES:
.SUFFIXES: .o .F

.F.o:
	$(RM) $(*).f
	$(CPP) $(CPPFLAGS) $(<) > $(*).f
	$(FTN) $(FFLAGS) $(FREEFLAGS) -c $(*).f
	$(RM) $(*).f


#-----------------------------------------------------------------------
#
# Executable to be generated by this make file:
#
#-----------------------------------------------------------------------

JOINWRFEXE = joinwrf

JOINWRFOBJS = \
	joinwrf.o \
	pjoinwrf.o \
	timelib3d.o \
	check_files_dimensions.o \
	get_wrf_patch_indices.o

#-----------------------------------------------------------------------
#
# Set Default
#
#-----------------------------------------------------------------------

default: $(JOINWRFEXE)

#-----------------------------------------------------------------------
#
# Compile and link
#
#-----------------------------------------------------------------------


$(JOINWRFEXE): $(JOINWRFOBJS) 
	$(FTN) $(LDFLAGS) -o $@ $(JOINWRFOBJS) $(LIBS)
	@ls -l $(JOINWRFEXE)

#-----------------------------------------------------------------------
#
# Remove the object code for individual programs
#
#-----------------------------------------------------------------------

clean:
	-$(RM) -f $(JOINWRFEXE) $(JOINWRFOBJS)

#-----------------------------------------------------------------------
#
# Object code dependency list:
#
#-----------------------------------------------------------------------
