1
# $Id: Makefile,v 1.47 1999/05/18 17:17:33 ordejon Exp $
1
3
# Makefile for siesta
3
# J.M.Soler. November 1996, June 1997
4
# Alberto Garcia, December 1996
5
# Pablo Ordejon, December 1996
7
# Restructured by Alberto Garcia, July 1997
9
.SUFFIXES: .f .o .a .prj
5
.SUFFIXES: .f .o .a .prj .smb .log
11
7
default: what siesta
13
9
# System dependencies are dealt with by an include file. See Sys directory
14
# for examples and instructions. The variable ARCH should be in the
10
# for examples and instructions. The variable SIESTA_SYS should be in the
15
11
# shell environment.
19
include Sys/${ARCH}.make
15
include Sys/${SIESTA_SYS}.make
21
17
# Uncomment the following line for debugging support
38
34
# in a library. Note that only changed .o files need to be re-inserted
41
SUBS = atmass.f atomlwf.f bessph.f cgwf.f chkdim.f chkgmx.f \
42
coceri.f conjgr.f constr.f coxmol.f cross.f \
43
dfscf.f dismin.f dnaefs.f dot.f dynamics.f efield.f ener3.f \
44
extrapol.f fermid.f fixed.f four1.f gauleg.f hsparse.f \
45
idiag.f initatom.f initdm.f inver.f iodm.f iolwf.f iorder.f \
47
minvec.f mixing.f mulliken.f naefs.f neighb.f \
48
on_subs.f order.f ordix.f ordvec.f outcell.f outcoor.f overfsm.f \
49
parse.f prmem.f propor.f prversion.f recoor.f radfft.f ran3.f \
50
reclat.f redata.f remass.f reord.f rhoofd.f rhooda.f rlylm.f \
51
splin.f timer.f transp.f vmb.f vlist.f vmat.f volcel.f \
52
xc.f ylmexp.f ylmylm.f \
53
cdiag.f dipole.f iohs.f ioxv.f iorho.f kgrid.f nlefsm.f \
54
prdate.f shaper.f xijorb.f pulayx.f
37
SUBS = arw.f atmass.f atomlwf.f bessph.f cgwf.f chkdim.f chkgmx.f \
38
cgvc.f coceri.f conjgr.f constr.f coxmol.f cross.f \
39
dfscf.f diagg.f diagk.f diag2g.f diag2k.f digcel.f \
40
dipole.f dismin.f dnaefs.f dot.f dynamics.f \
41
efield.f ener3.f extrapol.f \
42
fermid.f fermispin.f fixed.f gauleg.f grdsam.f hsparse.f \
43
idiag.f initdm.f inver.f iocg.f iodm.f ioeig.f iofa.f iohs.f \
44
iokp.f iolwf.f iomd.f iorder.f iorho.f ioxv.f \
45
kgrid.f kinefsm.f listsc.f lofilm.f madelung.f\
46
minvec.f mulliken.f naefs.f neighb.f nlefsm.f \
47
ofc.f on_subs.f order.f ordvec.f outcell.f outcoor.f overfsm.f \
48
parse.f paste.f prdate.f prmem.f propor.f prversion.f pulayx.f \
49
pixmol.f radfft.f ran3.f recipes.f reclat.f recoor.f redata.f \
50
redcel.f remass.f reord.f rhoofd.f rhooda.f rlylm.f \
51
shaper.f superc.f superx.f timer.f transp.f typecell.f \
52
vmb.f vlist.f vmat.f volcel.f xc.f xijorb.f ylmexp.f ylmylm.f
56
54
LIBOBJS=$(SUBS:.f=.o)
57
55
libsiesta.a: $(LIBOBJS)
61
59
# These modules are dimensioned.
63
DIM_SRCS= atom.f atom_subs.f bands.f chcore.f epskb.f \
64
phiatm.f psover.f rcore.f rcut.f uion.f \
65
dhscf.f diagon.f ordern.f denmat.f \
66
egandd.f gradient.f ranger.f matel.f siesta.f
61
DIM_SRCS= atom.f atom_subs.f atom_functions.f bands.f \
62
dhscf.f diagon.f ordern.f chempot.f denmat.f \
63
egandd.f gradient.f initatom.f matel.f \
64
plcharge.f ranger.f redbasis.f redbasis_subs.f siesta.f
67
65
DIM_OBJS=$(DIM_SRCS:.f=.o)
69
atom.o : atom.f atom.h
70
atom_subs.o : atom_subs.f atom.h
71
chcore.o : chcore.f atom.h
72
epskb.o : epskb.f atom.h
73
phiatm.o : phiatm.f atom.h
74
psover.o : psover.f atom.h
75
rcore.o : rcore.f atom.h
76
rcut.o : rcut.f atom.h
77
uion.o : uion.f atom.h
78
dhscf.o : dhscf.f dhscf.h
79
diagon.o : diagon.f diagon.h
80
bands.o : bands.f diagon.h
81
ordern.o : ordern.f ordern.h
82
denmat.o : denmat.f ordern.h
83
egandd.o : egandd.f ordern.h
84
gradient.o : gradient.f ordern.h
85
ranger.o : ranger.f ranger.h
86
matel.o : matel.f matel.h
87
siesta.o : siesta.f siesta.h
67
atom.o : atom.f atom.h
68
plcharge.o : plcharge.f atom.h
69
atom_subs.o : atom_subs.f atom.h
70
atom_functions.o : atom_functions.f atom.h
71
initatom.o : initatom.f atom.h
72
redbasis.o : redbasis.f atom.h
73
redbasis_subs.o : redbasis_subs.f atom.h
74
dhscf.o : dhscf.f dhscf.h
75
diagon.o : diagon.f diagon.h
76
bands.o : bands.f diagon.h
77
ordern.o : ordern.f ordern.h
78
chempot.o : chempot.f ordern.h
79
denmat.o : denmat.f ordern.h
80
egandd.o : egandd.f ordern.h
81
gradient.o : gradient.f ordern.h
82
ranger.o : ranger.f ranger.h
83
matel.o : matel.f matel.h
84
siesta.o : siesta.f siesta.h
89
86
# Routines using fdf calls.
91
atom.o dhscf.o initdm.o iodm.o iohs.o iolwf.o iorho.o : fdf/fdfdefs.h
92
recoor.o redata.o remass.o outcoor.o ioxv.o kgrid.o siesta.o : fdf/fdfdefs.h
88
atom.o dhscf.o initdm.o iodm.o iohs.o iolwf.o iorho.o grdsam.o : fdf/fdfdefs.h
89
plcharge.o recoor.o redata.o remass.o outcoor.o ioeig.o kgrid.o : fdf/fdfdefs.h
90
siesta.o redbasis.o redbasis_subs.o iomd.o ioxv.o iokp.o iofa.o : fdf/fdfdefs.h
91
cgvc.o iocg.o ofc.o : fdf/fdfdefs.h
94
93
FDF= fdf/fdf.o fdf/io.o
115
114
@echo "==> Copying original .h files from Include/"
116
115
cp -fp Include/*.h .
117
116
cp -fp Include/constr.f .
118
@echo "==> Copying standard .h files from Include/"
121
# FTNCHEK and plusFORT section
121
123
FILES=$(SUBS) $(DIM_SRCS)
123
125
# set up macro PRJS containing project filenames
125
127
PRJS= $(FILES:.f=.prj)
128
SMBS= $(FILES:.f=.smb)
127
137
# tell make how to create a .prj file from a .f file