exciting-0.9.150
[exciting.git] / src / Makefile
blob28e29a32e848c48d2ed6b249661fe4a7da244280
2 MAKE = make
3 AR = ar
5 include ../make.inc
7 #-------------------------------------------------------------------------------
8 # Suffix rules
9 #-------------------------------------------------------------------------------
10 .SUFFIXES: .o .f90
11 .f90.o:
12 $(F90) $(F90_OPTS) -c $<
14 #-------------------------------------------------------------------------------
15 # Source files
16 #-------------------------------------------------------------------------------
17 SRC_modules = modmain.f90 modxcifc.f90
19 SRC_main = main.f90
21 SRC_routines = \
22 autoradmt.f90 findprim.f90 findsym.f90 findsymcrys.f90 genppts.f90 rfinp.f90 \
23 rvfcross.f90 seceqn.f90 symrf.f90 symrfir.f90 wavefmt.f90
25 SRC_routines_flux = \
26 elfplot.f90 rhonorm.f90 energy.f90 spinchar.f90 \
27 zpotclmt.f90 writegeom.f90 nfftifc.f90 zfftifc.f90 allatoms.f90 gridsize.f90 \
28 poteff.f90 genrmesh.f90 readfermi.f90 potcoul.f90 gensfacgp.f90 checkmt.f90 \
29 zfinp.f90 match.f90 force.f90 forcek.f90 writeefg.f90 packeff.f90 \
30 bandchar.f90 findsymlat.f90 \
31 genlofr.f90 atom.f90 writefermi.f90 writekpts.f90 fsmfield.f90 mossbauer.f90 \
32 occupy.f90 writelinen.f90 writeinfo.f90 readinput.f90 charge.f90 moment.f90 \
33 writesym.f90 genidxlo.f90 gencore.f90 addrhocr.f90 gengvec.f90 \
34 genshtmat.f90 plot1d.f90 plot2d.f90 plot3d.f90 updatpos.f90 writeiad.f90 \
35 symvect.f90 vecplot.f90 genylmg.f90 linengy.f90 init0.f90 init1.f90 \
36 gengpvec.f90 genpmat.f90 ggamt.f90 ggair.f90 genveffig.f90 gencfun.f90 \
37 genapwfr.f90 seceqnfv.f90 seceqnsv.f90 seceqnss.f90 getngkmax.f90 \
38 dos.f90 rhoinit.f90 potplot.f90 writestate.f90 \
39 potxc.f90 zpotcoul.f90 gndstate.f90 rhovalk.f90 readstate.f90 bandstr.f90 \
40 writeeval.f90 rhoplot.f90 gwf2val.f90 gwf2cr.f90 \
41 rfarray.f90 fermisurf.f90 symrvfir.f90 \
42 symrvf.f90 symrfmt.f90 wfplot.f90 hmlrad.f90 olprad.f90 olpistl.f90 olpaa.f90 \
43 olpalo.f90 olplolo.f90 hmlistl.f90 hmlaa.f90 hmlalo.f90 hmllolo.f90 init2.f90 \
44 writelsj.f90 wavefcr.f90 gdft.f90 gradrf.f90 dbxcplot.f90 effmass.f90 \
45 projsbf.f90 seceqnhf.f90 writelat.f90 energynn.f90 findigp0.f90 \
46 writeengy.f90 writechg.f90 writeforce.f90 genjlgpr.f90 findkpt.f90 \
47 putevalfv.f90 getevalfv.f90 putevalsv.f90 getevalsv.f90 putoccsv.f90 \
48 getoccsv.f90 putevecfv.f90 getevecfv.f90 putevecsv.f90 getevecsv.f90 \
49 delevec.f90 genvmatk.f90 genvmat.f90 genwfsv.f90 \
50 findsymsite.f90 geomplot.f90 hartfock.f90 genkinmat.f90 energykncr.f90 \
51 zfint.f90 rfpack.f90 rfint.f90 writefsm.f90 genbmatk.f90
53 SRC_phonon = \
54 phonon.f90 dyntask.f90 phcell.f90 phdisp.f90 readdyn.f90 dynqtor.f90 \
55 dynrtoq.f90 dynsymapp.f90 dynsym.f90 dyndiag.f90 phdos.f90 sumrule.f90 \
56 writephn.f90
58 SRC_optics = \
59 writepmat.f90 linopt.f90 linoptk.f90 moke.f90
61 SRC_advanced = \
62 vnlrho.f90 vnlrhomt.f90 genwiq2.f90 \
63 exxengy.f90 exxengyk.f90 oepmain.f90 oepresk.f90 oepvnl.f90 \
64 oepvnlk.f90 oepmagmt.f90 oepmag.f90 zrhoqint.f90
66 SRC_LDAU = \
67 gendmatlu.f90 symdmatlu.f90 genveelu.f90 genvmatlu.f90 writeldapu.f90
69 SRC_rdmft = \
70 rdmft.f90 rdmdkdc.f90 rdmminc.f90 rdmvaryc.f90 rdmdedc.f90 rdmdexcdc.f90 \
71 rdmenergy.f90 rdmengyxc.f90 rdmwritededn.f90 rdmwriteengy.f90 rdmminn.f90 \
72 rdmvaryn.f90 rdmdedn.f90 rdmdexcdn.f90 rdmvnln.f90 rdmvnlc.f90
74 SRC_lib = \
75 euler.f90 wigner3j.f90 gaunt.f90 gauntyry.f90 r3mm.f90 r3mtm.f90 r3mmt.f90 \
76 r3mv.f90 r3mtv.f90 r3cross.f90 r3dist.f90 r3taxi.f90 r3dot.f90 r3minv.f90 \
77 r3mdet.f90 r3frac.f90 i3mdet.f90 factnm.f90 factr.f90 hermite.f90 \
78 brzint.f90 sphcrd.f90 sphcover.f90 erf.f90 clebgor.f90 \
79 sbessel.f90 sbesseldm.f90 genylm.f90 genrlm.f90 zmatinp.f90 \
80 lopzflm.f90 sortidx.f90 gcd.f90 zfmtinp.f90 rfmtinp.f90 findband.f90 \
81 gradzfmt.f90 gradrfmt.f90 ztorflm.f90 rtozflm.f90 zflmconj.f90 rotzflm.f90 \
82 polynom.f90 sdelta.f90 stheta.f90 sdelta_mp.f90 stheta_mp.f90 sdelta_fd.f90 \
83 stheta_fd.f90 rdiracint.f90 rdiracdme.f90 rdirac.f90 rschrodint.f90 \
84 rschroddme.f90 rschrodapp.f90 reciplat.f90 \
85 connect.f90 \
86 flushifc.f90 spline.f90 writewiq2.f90 rfinterp.f90 rfmtctof.f90 fderiv.f90 \
87 mixer.f90 fsmooth.f90 rotaxang.f90 i3minv.f90 rotsu2.f90 z2mm.f90 z2mctm.f90 \
88 z2mmct.f90
90 SRC_lib_flux =
92 SRC_xc = \
93 xc_pzca.f90 xc_pwca.f90 xc_pbe.f90 xc_am05.f90 xc_xalpha.f90 xc_wc06.f90 \
94 x_wc06.f90 x_pbe.f90 c_pbe.f90 c_pbe_gcor.f90
96 SRC = $(SRC_modules) $(SRC_main) $(SRC_routines) $(SRC_routines_flux) \
97 $(SRC_lib) $(SRC_lib_flux) $(SRC_advanced) $(SRC_phonon) $(SRC_optics) \
98 $(SRC_xc) $(SRC_LDAU) $(SRC_rdmft)
100 OBJ = $(SRC:.f90=.o)
101 EXE = exciting
103 exciting: $(OBJ)
104 $(F90) $(F90_OPTS) -o $(EXE) $(OBJ) $(LIB_LPK) $(LIB_FFT) $(LIB_SYS)
106 blas:
107 cd BLAS; $(MAKE); cp blas.a ..
109 lapack:
110 cd LAPACK; $(MAKE); cp lapack.a ..
112 fft:
113 cd fftlib; $(MAKE); cp fftlib.a ..
116 cd xclib; $(MAKE); cp xclib.a ..
118 all: blas lapack fft exciting
120 clean:
121 rm -f *.o *.mod *~ fort.* ifc* *.gcno gmon.out *.aux *.dvi *.log *.pdf \
122 *.tex *.toc $(EXE)
124 cleanall:
125 cd BLAS; $(MAKE) clean
126 cd LAPACK; $(MAKE) clean
127 cd fftlib; $(MAKE) clean
128 $(MAKE) clean
130 doc:
131 ./protex -s $(SRC_main) $(SRC_modules) $(SRC_routines) \
132 $(SRC_routines_flux) $(SRC_lib) $(SRC_lib_flux) $(SRC_xc) \
133 $(SRC_advanced) $(SRC_phonon) > exciting.tex
134 latex exciting;bibtex exciting;latex exciting;latex exciting
135 dvipdf exciting.dvi
137 doctemp:
138 ./protex -s $(SRC_main) $(SRC_routines) $(SRC_advanced) > exciting.tex
139 latex exciting
141 backup:
142 tar -czf ex.tgz $(SRC) fftlib eos spacegroup species junk BLAS LAPACK \
143 Makefile notes.txt docs docedit examples protex COPYING README \
144 exciting.bib depend ../release
146 VERSION = $$(awk -F"/" '/data version/ {print $$2}' modmain.f90 | sed 's/ //g;s/,/./g')$
147 RELEASE = ../release/exciting
149 release:
150 rm -rf $(RELEASE)
151 mkdir $(RELEASE)
152 cd BLAS; $(MAKE) clean
153 cd LAPACK; $(MAKE) clean
154 cd fftlib; $(MAKE) clean
155 cd eos; $(MAKE) clean
156 cd spacegroup; $(MAKE) clean
157 cd species; $(MAKE) clean
158 mkdir $(RELEASE)/src
159 cp -r BLAS $(RELEASE)/src
160 cp -r LAPACK $(RELEASE)/src
161 cp -r fftlib $(RELEASE)/src
162 cp -r eos $(RELEASE)/src
163 cp -r spacegroup $(RELEASE)/src
164 cp -r species $(RELEASE)/src
165 rm -f $(RELEASE)/src/species/*.in
166 cp $(SRC) Makefile protex exciting.bib $(RELEASE)/src
167 cd examples; find . -type f -name *.OUT -exec rm -f {} \;
168 cd examples; find . -type f -name *~ -exec rm -f {} \;
169 cp -r examples $(RELEASE)
170 mkdir $(RELEASE)/species
171 cp species/*.in $(RELEASE)/species
172 cp COPYING $(RELEASE)
173 cp README $(RELEASE)
174 cp ../Makefile $(RELEASE)
175 cp ../setup $(RELEASE)
176 mkdir $(RELEASE)/utilities
177 cp -r NEdit $(RELEASE)/utilities
178 $(MAKE) doc
179 cp exciting.pdf docs/exciting
180 cd spacegroup;$(MAKE) doc;cp spacegroup.pdf ../docs/spacegroup;$(MAKE) clean
181 cp -r docs $(RELEASE)
182 tar -C ../release -czf ../release/exciting-$(VERSION).tgz exciting
183 cp docs/exciting/exciting.pdf ../release
184 cp docs/spacegroup/spacegroup.pdf ../release
186 lines:
187 cat $(SRC) | wc -l