# 
# ------ MAKEFILE FILE FOR Linux FREALIGN -----------pgi
# 
# Using: Portland compiler
#
# Thanks to: Shixin Yang & Dr Edward Egelman at University of Virginia
#    for providing this file
#
# Notes:  To create executable: make -f Makefile_linux_amd64_pgi
#

SHELL  = /bin/sh

FFLAGS = -tp=amd64 -O3 -mcmodel=medium -Mpreprocess -mp -D_OPENMP -c

CFLAGS = -tp=amd64 -O3 -mcmodel=medium -Mpreprocess -mp -D_OPENMP -c

COMP   = pgf90

CC     = pgcc

LF     = -Bstatic_pgi -mcmodel=medium -mp

PGM    = frealign_v9

LIB    = $(PGM)_mp.a

.PRECIOUS :  $(PGM) $(LIB) 

include Makefile.inc

$(PGM) : $(PGM).o $(LIB)
	@echo linking $(PGM)
	$(COMP) $(LF) $(PGM).o $(LIB) -o ../bin/$(PGM)_mp.exe
	$(COMP) $(FFLAGS) -o merge_3d.o  merge_3d.f
	$(COMP) $(LF) merge_3d.o $(LIB) -o ../bin/merge_3d_mp.exe
	$(COMP) $(FFLAGS) -o calc_occ.o  calc_occ.f
	$(COMP) $(LF) calc_occ.o -o ../bin/calc_occ.exe
	$(COMP) $(FFLAGS) -o set_polarity.o  set_polarity.f
	$(COMP) $(LF) set_polarity.o -o ../bin/set_polarity.exe
	$(COMP) $(FFLAGS) -o rsample.o  rsample.f
	$(COMP) $(LF) rsample.o -o ../bin/rsample.exe
	@\rm $(PGM).o
	@\rm merge_3d.o
	@\rm calc_occ.o
	@\rm set_polarity.o
	@\rm rsample.o

$(PGM).o  : $(PGM).f
	$(COMP) $(FFLAGS) -o $(PGM).o  $(PGM).f

ioc.o : ioc.c
	$(CC) $(CFLAGS) -o ioc.o ioc.c
	$(AR) r $(LIB) ioc.o
	@\rm ioc.o

$(LIB) : ioc.o $(ELEMENTS)
	@echo all object files placed in library

.f.a:
	$(COMP) $(FFLAGS) $<
	$(AR) r $(LIB) $*.o
	@\rm $*.o
