1# Makefile for pw4gww (PW4GWW)
2# Author G. Stenuit and L. Martin-Samos
3
4include ../../make.inc
5
6# location of needed modules
7MODFLAGS= $(BASEMOD_FLAGS) \
8          $(MOD_FLAG)../../PW/src
9
10PW4GWWOBJS = \
11allocate_wannier.o \
12produce_wannier_gamma.o \
13start_pw4gww.o \
14stop_pp.o \
15openfil_pw4gww.o \
16dft_exchange.o  \
17wfc_real.o \
18full.o \
19energies_xc.o  \
20wannier.o  \
21write_wannier_matrix.o  \
22rotate_wannier.o  \
23self_lanczos.o \
24pola_lanczos.o \
25matrix_wannier_gamma.o \
26calculate_wing.o  \
27fake_conduction.o \
28o_1psi.o  \
29o_bands.o  \
30optimal.o \
31pola_partial.o \
32semicore.o \
33semicore_read.o \
34v_basis.o  \
35wannier_uterms.o \
36write_vpot_matrix.o  \
37diago_cg.o  \
38o_rinitcgg.o \
39diago_cg_g.o \
40contour_terms.o \
41fft_custom.o  \
42exchange_custom.o \
43mp_wave_parallel.o \
44wannier_bse.o\
45hpsi_pw4gww.o \
46cgsolve_all_gamma.o \
47realus.o
48
49QEMODS = ../../Modules/libqemod.a ../../upflib/libupf.a \
50         ../../KS_Solvers/libks_solvers.a \
51         ../../FFTXlib/libqefft.a ../../LAXlib/libqela.a \
52         ../../UtilXlib/libutil.a ../../dft-d3/libdftd3qe.a
53# dft-d3 required by xlf for obscure reasons
54PWOBJS = ../../PW/src/libpw.a
55
56LIBMIN=
57
58TLDEPS= phlibs
59
60all : tldeps pw4gww.x
61
62pw4gww.x : pw4gww.o libpw4gww.a  $(PW4GWWOBJS) $(PWOBJS) $(QEMODS) $(LIBOBJS) $(LIBMIN)
63	$(LD) $(LDFLAGS) -o $@ \
64	pw4gww.o libpw4gww.a $(PWOBJS) $(QEMODS) $(LIBOBJS) $(LIBMIN) $(QELIBS)
65	- ( cd ../../bin ; ln -fs ../GWW/pw4gww/$@ . )
66
67tldeps :
68	if test -n "$(TLDEPS)" ; then \
69	( cd ../.. ; $(MAKE) $(TLDEPS) || exit 1 ) ; fi
70
71libpw4gww.a : $(PW4GWWOBJS)
72	$(AR) $(ARFLAGS) $@ $?
73	$(RANLIB) $@
74
75clean :
76	- /bin/rm -fv *.x *.o *~ *_tmp.f90 *.d *.mod *.i *.L libpw4gww.a
77
78include make.depend
79# DO NOT DELETE
80