#!/bin/sh -f

# -------------------------------------------
# Machine-dependent variables
# User may (un)comment following lines

#====== PC + Linux + IFC8/9 =================
FC = ifort
FFLAGS = -O3 -tpp7
FFLAGS_LIBS =

#========= PC + Linux + g95 =================
#FC = g95
#FFLAGS = -O3 -fforce-mem -fforce-addr -fno-second-underscore
#FFLAGS_LIBS =

#====== PC + Linux + IFC8/9 + MKL ===========
#FC = ifort
#FFLAGS = -O3 -tpp7
#LIBDIR = /opt/Intel/mkl80/lib/32
#FFLAGS_LIBS = $(LIBDIR)/libmkl_lapack.a $(LIBDIR)/libmkl_ia32.a $(LIBDIR)/libguide.a -lpthread -lm -Vaxlib

#====== PC + Linux + g95 + MKL ==============
#FC = g95
#FFLAGS = -O3 -fforce-mem -fforce-addr -fno-second-underscore
#LIBDIR = /opt/Intel/mkl80/lib/32
#FFLAGS_LIBS= $(LIBDIR)/libmkl_lapack.a $(LIBDIR)/libmkl_ia32.a $(LIBDIR)/libguide.a -lpthread -lm

#====== Compaq alpha EV67 ===================
#FC = f90
#FFLAGS = -O4 -fast -tune host
#FFLAGS_LIBS = -lcxml

#====== Sun OS ==============================
#FC = f90
#FFLAGS = -O4
#FFLAGS_LIBS = -xlib=sunperf

#====== IBM RS6000 ==========================
#FC = xlf90
#FFLAGS = -O3 -qautodbl=dbl4 -qstrict
#FFLAGS_LIBS =

#==== PC + Linux + LaheyFujitsu95 ===========
#FC = lf95
#FFLAGS = --o2
#FFLAGS_LIBS =

# -----------------------------------------------------
# User does not normally modify below here
# -----------------------------------------------------

# -------------------------------------------
PROG = atompaw2abinit

# -------------------------------------------
SRCS = atompaw2abinit.f90 calc_dij0.f90 calc_rhoij0.f90 calc_shapef.f90 \
       calc_valden.f90 csimp.f90 deducer0.f90 gauleg.f90 initmesh.f90 initpawps.f90 \
       jbessel.f90 nderiv.f90 opt_proj.f90 poisson.f90 rdfromline.f90 \
       rdpawps1.f90 rdpawps1xml.f90 rdpawps2.f90 rdpawps2xml.f90 shapebes.f90 solvbes.f90 \
       splinefit.f90 wrpawps.f90
OBJS = atompaw2abinit.o calc_dij0.o calc_rhoij0.o calc_shapef.o \
       calc_valden.o csimp.o deducer0.o gauleg.o initmesh.o initpawps.o \
       jbessel.o nderiv.o opt_proj.o poisson.o rdfromline.o \
       rdpawps1.o rdpawps1xml.o rdpawps2.o rdpawps2xml.o shapebes.o solvbes.o \
       splinefit.o wrpawps.o

SRCS_DEFS = defs_basis.f90 defs_pawps.f90
OBJS_DEFS = defs_basis.o defs_pawps.o

LAPACKDIR = ./lapack
SRCS_LAPACK = dgemm.f dgetf2.f dgetrs.f dscal.f dtrsm.f ieeeck.f lsame.f \
              dger.f dgetrf.f dlaswp.f dswap.f idamax.f ilaenv.f xerbla.f
OBJS_LAPACK = dgemm.o dgetf2.o dgetrs.o dscal.o dtrsm.o ieeeck.o lsame.o \
              dger.o dgetrf.o dlaswp.o dswap.o idamax.o ilaenv.o xerbla.o

# -------------------------------------------
all: $(PROG)

$(PROG): $(OBJS_DEFS) $(OBJS) libs
	$(FC) $(FFLAGS) -o $@ $(OBJS_DEFS) $(OBJS) $(LAPACKDIR)/*.o $(FFLAGS_LIBS)

clean:
	rm -f $(PROG) $(OBJS_DEFS) $(OBJS) $(LAPACKDIR)/*.o *.mod

libs:
	-@if [ "$(FFLAGS_LIBS)" = "" ];cd $(LAPACKDIR);then echo "Building Lapack libs...";$(FC) $(FFLAGS) -c $(SRCS_LAPACK);fi

# -------------------------------------------
.SUFFIXES: .o .f .f90

.f.o:
	$(FC) $(FFLAGS) -c $*.f
.f90.o:
	$(FC) $(FFLAGS) -c $*.f90
