#
SHELL=/bin/sh
#
#
#
#
#PGI compiler, Linux:
#
C_COMPILER=gcc
FORTRAN_COMPILER=/usr/pgi/linux86/bin/pgf77
FORTRAN_FLAGS= -tp p6 -pc 64 -Mnoframe -Munroll -Mvect=cachesize:524288 -O2
#
#
#
#
#ecgs g77/gcc:
#
#C_COMPILER=gcc
#FORTRAN_COMPILER=g77
#FORTRAN_FLAGS= -w -O3 -malign-double
#
#
#
#
#cray j90:
#
#C_COMPILER=cc
#FORTRAN_COMPILER=f90
#FORTRAN_FLAGS= -Ovector3,scalar3,task0
#
#
#
#
#IBM SP2:
#
#C_COMPILER=mpcc
#FORTRAN_COMPILER=mpxlf
#FORTRAN_FLAGS= -O3 -qstrict -qmaxmem=-1
#
#
#
#
OBJS=	addvecs.o \
	ang.o \
	ang110.o \
	ang12.o \
	ang194.o \
	ang26.o \
	ang50.o \
	augg.o \
	auggnew.o \
	auggv.o \
	baker.o \
	becke_p.o \
	bfgs_r.o \
	bofill.o \
	boys_dd.o \
	boys_dp.o \
	boys_ds.o \
	boys_mm.o \
	boys_pp.o \
	boys_pr.o \
	boys_ps.o \
	boys_ss.o \
	boysloc.o \
	buildks.o \
	carbo.o \
	cdftdd.o \
	cdftdd1.o \
	cdftdd2.o \
	cdftdp.o \
	cdftds.o \
	cdftpp.o \
	cdftps.o \
	cdftss.o \
	cdpops.o \
	cdtran.o \
	chrgdd.o \
	chrgdd1.o \
	chrgdp.o \
	chrgds.o \
	chrgpp.o \
	chrgps.o \
	chrgss.o \
	collid.o \
	compg0.o \
	compg1.o \
	compg2.o \
	connol.o \
	coredd.o \
	coredp.o \
	coreds.o \
	corepp.o \
	coreps.o \
	coress.o \
	crossprd.o \
	dang.o \
	ddihed.o \
	ddiis.o \
	delphi.o \
	delphidr.o \
	dglapack.o \
	diffuse1.o \
	diffuse2.o \
	dihed.o \
	dimp.o \
	dipoledd.o \
	dipoledp.o \
	dipoleds.o \
	dipolemm.o \
	dipolepp.o \
	dipoleps.o \
	dipoless.o \
	dist.o \
	dmagvec.o \
	dmaxvec.o \
	docdfit.o \
	dot.o \
	efidd.o \
	efidp.o \
	efids.o \
	efipp.o \
	efips.o \
	efiss.o \
	element.o \
	expinit.o \
	fardd.o \
	fardp.o \
	fards.o \
	farpp.o \
	farps.o \
	farss.o \
	fastrd.o \
	fastwr.o \
	findints.o \
	frac_occ.o \
	genrho.o \
	genun.o \
	genwf.o \
	genxyz.o \
	get_bmat.o \
	getks.o \
	getvalue.o \
	ginverse.o \
	gradcddd.o \
	gradcddp.o \
	gradcdds.o \
	gradcdpp.o \
	gradcdps.o \
	gradcdss.o \
	gradnadd.o \
	gradnadp.o \
	gradnads.o \
	gradnapp.o \
	gradnaps.o \
	gradnass.o \
	gradovdd.o \
	gradovdp.o \
	gradovds.o \
	gradovpp.o \
	gradovps.o \
	gradovss.o \
	gradxdd.o \
	gradxdd1.o \
	gradxdd2.o \
	gradxdd3.o \
	gradxdd4.o \
	gradxdp.o \
	gradxdp1.o \
	gradxdp2.o \
	gradxdp3.o \
	gradxds.o \
	gradxpp.o \
	gradxps.o \
	gradxss.o \
	gridgrad.o \
	gridsort.o \
	header.o \
	hguess.o \
	ifastrd.o \
	ifastwr.o \
	igftable.o \
	inpbases.o \
	input.o \
	inputmm.o \
	irspect.o \
	mespgen.o \
	mespmm.o \
	mklower.o \
	mulliken.o \
	multpole.o \
	mxmy.o \
	mxmz.o \
	normd.o \
	openfl.o \
	parser.o \
	perdew_p.o \
	points.o \
	public.o \
	readt.o \
	real64.o \
	redund.o \
	rijmat.o \
	savet.o \
	setupddd.o \
	setupddp.o \
	setupdds.o \
	setupdpp.o \
	setupdps.o \
	setupdss.o \
	sinvmt.o \
	solveks.o \
	start.o \
	stringcp.o \
	sumsum.o \
	surfac.o \
	totale.o \
	tstate.o \
	unitvec.o \
	utility1.o \
	utility2.o \
	utility3.o \
	utility4.o \
	utility5.o \
	utility6.o \
	utility7.o \
	utility8.o \
	utility9.o \
	utilitya.o \
	utilityb.o \
	utilityc.o \
	utilityd.o \
	utilitye.o \
	utilityf.o \
	utilityg.o \
	utilityh.o \
	utilityi.o \
	utilityj.o \
	utilityk.o \
	vibs.o \
	vwnf1.o \
	vwnf2.o \
	writet.o \
	xc_p.o \
	xcfunc.o \
	zmatrix.o

OBJS_MPI=	canon.o \
		cdcalls.o \
		cdftmm.o \
		cdgrmm.o \
		cdgrss.o \
		cdgrxs.o \
		cdgrxx.o \
		cdovss.o \
		cdovxs.o \
		cdovxx.o \
		coremm.o \
		deft.o \
		gengrid.o \
		gradmm.o \
		gradxc.o \
		gridcall.o \
		gridgen.o \
		gridwork.o \
		main.o \
		move.o \
		mpi.o \
		pulayfrc.o \
		scfcntrl.o \
		scfcycle.o \
		scfrun.o \
		setupcdd.o \
		setupcdp.o \
		setupcds.o \
		setupcpp.o \
		setupcps.o \
		setupcss.o \
		setupgdd.o \
		setupgdp.o \
		setupgds.o \
		setupgpp.o \
		setupgps.o \
		setupgss.o \
		setuppdd.o \
		setuppdp.o \
		setuppds.o \
		setupppp.o \
		setuppps.o \
		setuppss.o \
		startscf.o \
		startup.o \
		twoemm.o \
		xcgrad.o

OBJS_C=	deftcc.o

all:	DeFT

.f.o:
	$(FORTRAN_COMPILER) $(FORTRAN_FLAGS) -c $*.f

.c.o:
	$(C_COMPILER) -c $*.c

DeFT:	$(OBJS) $(OBJS_MPI) $(OBJS_C)
	$(FORTRAN_COMPILER) -o DeFT $(FORTRAN_FLAGS) $(OBJS) $(OBJS_MPI) $(OBJS_C)

main.o:	params.h
mpi.o:	params.h

clean:
	/bin/rm $(OBJS) $(OBJS_MPI) $(OBJS_C)
