SRC1	=	BPM2D.f90 module_BPM2D.f90 wrap_lj.f90
SRC2	=	BPM2D-stiff.f90 module_BPM2D.f90 wrap_lj.f90
SRC3	=	BPM3D_omp.f90 module_BPM3D_omp.f90 wrap_sj.f90
SRC4	=	DataConversion-sj.f90
OBJ1	=	BPM2D.o
OBJ2	=	BPM2D-stiff.o # module_BPM2D.f90 wrap_lj.f90
OBJ3	=	BPM3D_omp.o # module_BPM3D_omp.f90 wrap_sj.f90
OBJ4	=	DataConversion-sj.o
OBJS	=	$(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4)
PROGS	=	BPM2D BPM2D BPM2D-stiff BPM3D_omp DataConversion-sj
FC	=	gfortran
#FFLAGS	=	-O3
#FFLAGS	=	-O3 -I/usr/local/include
#FFLAGS	=	-g -I/usr/local/include
FFLAGS	=	-g -I/usr/local/gtool5-20101228-1/include -I/usr/local/netcdf-3.6.2/include -I/usr/local/include
LDFLAGS	=	-L/usr/local/gtool5-20101228-1/lib -lgtool5 -L/usr/local/netcdf-3.6.2/lib -lnetcdf -L/usr/local/lib -lisp096 -llapack
DSYM	= BPM2D-stiff.dSYM BPM2D.dSYM BPM3D_omp.dSYM DataConversion-sj.dSYM

.SUFFIXES: .f90 .o
.f90.o:
	$(FC) $(FFLAGS) -c $<

default: all
all: $(PROGS)

BPM2D: $(OBJ1)
	$(FC) $(FFLAGS) -o $@ $(OBJ1) $(LDFLAGS)

$(OBJ1): $(SRC1)

BPM2D-stiff: $(OBJ2)
	$(FC) $(FFLAGS) -o $@ $(OBJ2) $(LDFLAGS)

$(OBJ2): $(SRC2)

BPM3D_omp: $(OBJ3)
	$(FC) $(FFLAGS) -o $@ $(OBJ3) $(LDFLAGS)

$(OBJ3): $(SRC3)

DataConversion-sj: $(OBJ4)
	$(FC) $(FFLAGS) -o $@ $(OBJ4) $(LDFLAGS)

$(OBJ4): $(SRC4)

clean:
	rm -rf $(PROGS) $(OBJS)

vc:
	rm -rf $(PROGS) $(OBJS) $(DSYM) *.mod *.nc make.log
