# 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 depth.o diagnose.o \
	dypgrin.o modesplit.o fieldinit.o horviscuv.o\
	horviscuv2d.o  internal.o laxwuv.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=f90

# IRIX:      (  bsub -q parallell -n 8 -o <outputfile> <program> )
#F90FLAGS= -O3 -pfa -mips4 -OPT:roundoff=0
#LFLAGS=   -O3 -pfa -mips4 -OPT:roundoff=0

# SGI:      
F90FLAGS= -O3  -C -mips4 -OPT:roundoff=0
LFLAGS=   -O3  -C -mips4 -OPT:roundoff=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
#%.o : %.f90
#	$(COMPILER) -c $(F90FLAGS) $< -o $@

# Generic
#F90FLAGS= -O
#LFLAGS=   -O


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


# lag senere:   targets for plotting
# make pg      : PGPLOT (SUN)

cdf:	$(OBJS)	putcdf.o
	f90 -o $(PROG) $(LFLAGS) $(OBJS) putcdf.o -L$(HOME)/lib -lnetcdf
