# UBER user's makefile
# Liheng Zheng <zhengliheng@gmail.com>
# William B. Hanson Center for Space Sciences
# The University of Texas at Dallas
# Copyright (C) 2020

main := main.F90
user := user_input.F90
exe  := $(main:%.F90=%.x)

prjdir := /Users/zheng/REM/REM_3.0
objdir := $(prjdir)/obj
libdir := $(prjdir)/lib

FC     := gfortran
LD     := gfortran
OPENMP := -fopenmp
FFLAGS := -c -O3 -Wall -Wno-unused-dummy-argument -finit-local-zero $(OPENMP)\
          -I$(objdir)
LFLAGS := -Wall -Wno-unused-dummy-argument $(OPENMP) -I$(objdir)

#FC     := ifort
#LD     := ifort
#OPENMP := -qopenmp
#FFLAGS := -c -O3 -warn errors -zero $(OPENMP) -I$(objdir)
#LFLAGS := -warn errors $(OPENMP) -I$(objdir)

LIBS   := -L$(prjdir) -luber -L$(libdir) -ldcmt -llapack -lrefblas

# in command line, 'make mode=debug' compiles the executable using the debug flags
mode =
ifeq ($(mode),debug)
   FFLAGS += -fcheck=all -fbacktrace
#   FFLAGS += -check bounds -traceback -debug
endif

%.o: %.F90
	$(FC) $(FFLAGS) -o $@ $<

$(exe): $(main:%.F90=%.o) $(user:%.F90=%.o)
	$(LD) $(LFLAGS) -o $@ $^ $(LIBS)

oclean:
	-rm -f *.o

clean: oclean
	-rm -f *.smod *.x

