# FORTRAN MAKEFILE (DEBUGGING) : 
# NOTE: FORTRAN MODULES MUST BE COMPILED BEFORE INCLUDED IN SOURCE !!!!

INCDIR  = -I$(PVM_ROOT)/include
FFLAGS  = -g

LIBDIR  = -L$(PVM_ROOT)/lib/$(PVM_ARCH)
SHELL   = /bin/bash
XDIR    = $(PVM_ROOT)/bin/$(PVM_ARCH)/
WORKBENCH = $(HOME)/mac/src/workbench

#
# ---------------- COMPILERS ---------------------- #
#

#LINUX INTEL (Portland Group Comp)
#CC      = gcc
#F90     = pgf90
#PVMLIBS = -lfpvm3 -lpvm3
#INCMODS = -I$(WORKBENCH)

#LINUX INTEL (Intel Comp)
 CC      = gcc
 F90     = ifort
 F77     = ifort
 PVMLIBS = -lfpvm3 -lpvm3
#INCMODS = -cl,ct.pcl
 INCMODS = -module /home/manolo/mac/src/workbench
#LINUXALPHA
#CC      = gcc
#F90     = fort
#PVMLIBS = -lfpvm3 -lpvm3
#INCMODS = -I$(WORKBENCH)

#X86S0L2
#CC      = pgcc
#F90     = pgf90
#PVMLIBS = -lfpvm3 -lpvm3 -lsocket -lnsl
#INCMODS = -I$(WORKBENCH)

#
# ----------------- SOURCE FILES ------------------ #
#
# Controller source code
FSORS   =       grt.f90 \
                utsubs.f \
		ct_rrt_mm.f90 \
                radtrans.f90 \
		ct.f90

#           
# ----------------- OBJECT FILES ---------------- #
#
# Controller source code
FOBJS    =      grt.o \
                utsubs.o \
		ct_rrt_mm.o \
                radtrans.o \
		ct.o

# Workbench object codes:
WBOBJS   =      $(WORKBENCH)/communicate.o \
                $(WORKBENCH)/fbuff.o \
                $(WORKBENCH)/envarc.o \
                $(WORKBENCH)/getcompname.o

#
# ----------------- EXECUTABLE FILES ------------- #
#

CONTROL =       ct

all : clean
	make exec
exec: $(CONTROL) 

#
# ------- Controller utility compile ---------------- #
#

# -- Global Var.
grt.o          : grt.f90
	$(F90) $(FFLAGS) $(INCDIR) -c grt.f90
# -- Exe. Files

utsubs.o       : utsubs.f
	$(F77) $(FFLAGS) $(INCMODS) $(INCDIR) -c utsubs.f

ct_rrt_mm.o    : ct_rrt_mm.f90
	$(F90) $(FFLAGS) $(INCMODS) $(INCDIR) -c ct_rrt_mm.f90

radtrans.o	: radtrans.f90
	$(F90) $(FFLAGS) $(INCMODS) $(INCDIR) -c radtrans.f90

ct.o : ct.f90
	$(F90) $(FFLAGS) $(INCMODS) $(INCDIR) -c ct.f90

# ------------------------ LINKING OBJECT CODES ----------------------- #

$(CONTROL): $(FOBJS)
	$(F90) $(FFLAGS) -o $(CONTROL) $(FOBJS) $(WBOBJS) $(LIBDIR) $(PVMLIBS)
	cp $(CONTROL) $(XDIR) 

clean: 
	rm -f *.o *.x $(XDIR)ct *.mod ct

rebuild: clean
	make all 

