main := main.F90
inc  := src_include.F90
exe  := $(main:%.F90=%.x)

remdir := /net/wavea/sc/5/lxz163530/REM_2.2
libdir := /net/wavea/sc/5/lxz163530/local/lib

#FC      := gfortran
#LD      := gfortran
#OPENMP  := -fopenmp
#FFLAGS  := -c -O3 -Wall -Wno-unused-dummy-argument -finit-local-zero $(OPENMP)\
           -I$(remdir)/obj
#LDFLAGS := -Wall -Wno-unused-dummy-argument $(OPENMP) -I$(remdir)/obj

FC      := ifort
LD      := ifort
OPENMP  := -qopenmp
FFLAGS  := -c -O3 -warn errors -zero $(OPENMP) -I$(remdir)/obj
LDFLAGS := -warn errors $(OPENMP) -I$(remdir)/obj

LIBS    := -L$(remdir) -lrem -L$(libdir) -ldcmt -llapack -lrefblas

mode =
ifeq ($(mode),debug)
#   FFLAGS += -fcheck=all -fbacktrace
   FFLAGS += -check bounds -traceback -debug all
endif

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

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

oclean:
	-rm -f *.o

clean: oclean
	-rm -f *.x

