CC            = pgcc

CFLAGS        = -fast

FC            = ifort

INCLUDE       = -I. -I/u1/guest/janna/open_MP/FSAIPACK/Online_Package/MODULES/

FFLAGS        = -O2 -mcmodel=medium -openmp $(INCLUDE)

DFLAGS        = -g -C -traceback -debug all -DDebug_Flag -mcmodel=medium -openmp $(INCLUDE)

DEST	      = .

EXTHDRS	      =

HDRS	      = rows_number_int.h

LDFLAGS	      = -O2 -openmp -mcmodel=medium -L. -L/usr/local/lib\
		-L/usr/local/intel/Compiler/11.1/059/mkl/lib/em64t

LDDFLAGS      = -g -C -traceback -debug all -openmp -mcmodel=medium -L. -L/usr/local/lib\
		-L/usr/local/intel/Compiler/11.1/059/mkl/lib/em64t

LIBS          = /u1/guest/janna/open_MP/FSAIPACK/Online_Package/libFSAIPACK.a\
		-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lpthread
#LIBS          = /u1/guest/janna/open_MP/FSAIPACK/Online_Package/libFSAIPACK.a\
		-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lpthread

LINKER	      = $(FC)

MAKEFILE      = Makefile

OBJS	      = A_strategy.o closeio.o driver_FSAI.o irow2iat.o openio.o\
		readmat.o rows_number.o

PRINT	      = pr

CAT	      = cat

PROGRAM	      = a.out

SRCS	      = A_strategy.f90 closeio.f90 driver_FSAI.f90 irow2iat.f90\
		openio.f90 readmat.f90 rows_number.f90

.SUFFIXES: .prj .f90

.f.prj:
	ftnchek -project -declare -noverbose $<

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

PRJS= $(SRCS:jo=.prj)

all:		$(PROGRAM)

$(PROGRAM):     $(OBJS) 
		$(LINKER) -o $(PROGRAM) $(LDFLAGS) $(OBJS) $(LIBS)

check: $(PRJS)
	ftnchek -noverbose -declare $(PRJS) -project -noextern -library > $(PROGRAM).ftn

profile:;       @make "FFLAGS=-pg" "CFLAGS=-pg" "LDFLAGS=-pg" $(PROGRAM)

debug:;         @make "FFLAGS=$(DFLAGS)" "LDFLAGS=$(LDDFLAGS)" $(PROGRAM)

clean:;		rm -f $(OBJS) $(PROGRAM).cat $(PROGRAM).ftn

depend:;	mkmf -f $(MAKEFILE) PROGRAM=$(PROGRAM) DEST=$(DEST)

index:;		ctags -wx $(HDRS) $(SRCS)

install:	$(PROGRAM)
		install -s $(PROGRAM) $(DEST)

print:;		$(PRINT) $(HDRS) $(SRCS)

cat:;		$(CAT) $(HDRS) $(SRCS) > $(PROGRAM).cat

program:        $(PROGRAM)

profile:        $(PROFILE)

tags:           $(HDRS) $(SRCS); ctags $(HDRS) $(SRCS)

update:		$(DEST)/$(PROGRAM)
