#==============================================================================
#
# Makefile for PCRTM example program
#
#==============================================================================

# Macro definitions
# -----------------
# The location of the PCRTM library
# *** CHANGE THIS TO THE LOCATION ON YOUR SYSTEM ***
PCRTM_DIR = /data/rttools/PCRTM/PREFIRE_PCRTM_V3.4

# The Fortran95 compiler+flags, and linker+flags
# *** CHANGE THESE FOR THE COMPILER YOU USE ON YOUR SYSTEM ***
INTEL = ifort
I_OPTIM = -O3\
	   -assume byterecl\
	   -c \
           -I$(PCRTM_DIR)/include\

I_DEBUG = -g\
	   -assume byterecl\
	   -c \
	   -check all \
           -traceback \
           -warn errors \
           -free \
           -mp \
           -I$(PCRTM_DIR)/include\




GFORTRAN = gfortran
G_OPTIM = -c \
           -fbounds-check \
           -ffpe-trap=overflow,zero \
           -ffree-form \
           -fno-second-underscore \
           -frecord-marker=4 \
           -static \
           -Wall \
          -I$(PCRTM_DIR)/include\

G_BEBUG = -c \
           -O3\
           -ffast-math \
           -ffree-form \
           -fno-second-underscore \
           -frecord-marker=4 \
           -funroll-loops \
           -static \
           -Wall \
           -I$(PCRTM_DIR)/include\

FC = $(INTEL)
FC_FLAG = $(I_OPTIM)

FL = $(FC)
FL_FLAGS = -L$(PCRTM_DIR)/lib -lPCRTM -o

# The executable and object files
EXE_FILE =  PCRTM_sample_program.exe
OBJ_FILE =  $(EXE_FILE:.exe=.o)


# Target definitions
# ------------------
# The main target
all: $(OBJ_FILE)
	$(FL) $(OBJ_FILE) $(FL_FLAGS) $(EXE_FILE)

# A clean target
clean:
	rm -f $(OBJ_FILE) $(EXE_FILE)

# Local dependencies
$(EXE_FILE:.exe=.o): $(EXE_FILE:.exe=.f90) 


# Suffix rule definitions
# -----------------------
.SUFFIXES:
.SUFFIXES: .f90 .o
.f90.o:
	$(FC) $(FC_FLAG) $<
