#-------------------------------------------------------------------------------
# Define Program, Program Directory, Program Version, Install Directories, and
# Target Names ... set mode to default (empty)
#-------------------------------------------------------------------------------
PROGRAM				= slbmtestfort
PROG_NAM			= SLBM_test_fort

SOURCES			= src/slbmtestfort.f90
OBJECTS			= slbmtestfort.o

INCLUDE_DIR			= include/
INCLUDE_SHELLDIR	= ../SLBMshell/include/
INCLUDE_SLBMDIR		= ../SLBM/include/

BIN_DIR				= ../bin/
LIB_DIR				= ../lib/

CV = @

# Determine OS
OS := $(shell uname -s)
ifeq (${OS},Linux)
	OS = linux
endif
ifeq (${OS},Darwin)
	OS = darwin
endif
ifeq (${OS},SunOS)
	OS = sunos
endif

# OS-specific compiler variables
ifeq ($(OS),sunos)   
	F95 = f95
	COMMAND = ${CV} ${F95} -ext_names=plain -o ${BIN_DIR}slbmtestfort -L${LIB_DIR} src/slbmtestfort.f90 -lslbm -lslbmFshell
	VERSION_FLAG = -V
endif
ifeq ($(OS),linux)
	F95 = gfortran
	COMMAND = ${CV} ${F95} -fno-underscoring -o ${BIN_DIR}slbmtestfort -L${LIB_DIR} src/slbmtestfort.f90 -lslbm -lslbmFshell
	VERSION_FLAG := --version
endif
ifeq ($(OS),darwin)
	F95 = gfortran
	COMMAND = ${CV} ${F95} -fno-underscoring -o ${BIN_DIR}slbmtestfort -L${LIB_DIR} src/slbmtestfort.f90 -lslbm -lslbmFshell
	VERSION_FLAG := --version
endif

#-------------------------------------------------------------------------------
# targets
#-------------------------------------------------------------------------------

all : info cleanall fshelltest cleanobjs done

fshelltest : ${OBJECTS}
#-@if [ ! -d $(prefix)]; then mkdir -p $(prefix); fi
	${CV} echo "building executable slbmtestfort"
	${COMMAND}	
	${CV} echo ""

cleanobjs :
	${CV} echo "removing object files"
	rm -f slbmtestfort.o
	${CV} echo ""

cleanall :
	${CV} echo "removing executable files"
	rm -f slbmtestfort
	${CV} echo ""
	${CV} echo "removing object files"
	rm -f slbmtestfort.o
	${CV} echo ""

slbmtestfort.o :
	${CV} echo "Compiling: slbmtestfort.f90"
	${CV} ${F95} -ext_names=plain -c src/slbmtestfort.f90 -L./../SLBM/lib -L./../SLBMshell/lib -o slbmtestfort.o
	${CV} echo ""

info :
	@ echo "========================================="
	@ echo "Building" $(PROG_NAM) "on" $(OS) 
	@ $(F95) $(VERSION_FLAG)
	@ echo ""

done :
	@echo "Done building" $(PROG_NAM)
	@ echo ""
