# make clean   : remove .o .mod .M -files and PROG
# make mod     : build the modules
# make         : build BOM
# make db      : compile files in $(DEBUG) with -g flag

PROG = bom
MODULES= state.f90  mod_bound.f90 mod_main.f90 
DEBUG=
OBJS =  Main.o bound.o dens.o densunesco.o depth.o diagnose.o		\
	dypgrin.o condition.o modesplit.o fieldinit.o horviscuv.o	\
	horviscuv2d.o horviscuvpom.o horviscuv2dpom.o internal.o	\
	superbeeuv.o my2halv.o upstreamq.o				\
	ncalfa.o nrg3d.o postid4.o pzlevel.o rivers.o			\
	smagor.o smagor2d.o superbeef.o wreal.o				\
	updatedd.o vertdiff.o  vertviscuvb.o				\
	files.o output.o stepu2d.o stepv2d.o stepu3d.o stepv3d.o	\
        setup.o relax.o tideinit.o tidefrs.o windforcing.o atmosp.o	\
        outbottomfem.o add1.o outsections.o sectiout.o			\
        outetafem.o addeta.o 

COMPILER=pgf90
#COMPILER=f90

#( LSF: bsub -q parallell -n 8 -o <outputfile> <program> )

# SGI(IRIX):      
#F90FLAGS= -O3 -apo -TARG:platform=ip27 -OPT:roundoff=0 -OPT:Olimit=0
#LFLAGS=   -O3 -apo -TARG:platform=ip27 -OPT:roundoff=0 -OPT:Olimit=0

# Solaris
#F90FLAGS= -O3 -stackvar -native -parallel
#LFLAGS=   -O3 -stackvar -native -parallel

# Linux     flags for g77 og F90 (PSR installed in /usr/local/f90)
#F90FLAGS= -O2 -fno-f2c -m486 -fno-backslash
#LFLAGS= $(F90FLAGS) -L/usr/local/f90
#DFLAGS= -g -keep -fno-backslash

# Generic
F90FLAGS= -O
LFLAGS=   -O


bom: $(OBJS)
	pgf90 -o $(PROG) $(LFLAGS) $(OBJS)

%.o : %.f90
	$(COMPILER) -c $(F90FLAGS) $< -o $@

clean:
	rm *.o *.M *.mod *~ $(PROG) 
db:
	pgf90 -c -g $(DEBUG)
mod: 
	pgf90 -c $(F90FLAGS) $(MODULES)

