1# Makefile for library coupling interface
2include ../../make.inc
3
4# FLAGS for OpenMPI when QE was compiled with GNU Fortran 4.x
5MPICXX=mpicxx
6MPICXXFLAGS=-DOMPI_SKIP_MPICXX=1 -O2 -Wall -g
7MPILIBS=-lgfortran -lmpi_mpifh -lmpi
8
9# location of required libraries
10PWOBJS = ../src/libqecouple.a ../../PW/src/libpw.a
11CPOBJS = ../src/libqecouple.a ../../CPV/src/libcp.a
12QEMODS = ../../Modules/libqemod.a ../../KS_Solvers/Davidson/libdavid.a \
13	 ../../KS_Solvers/CG/libcg.a ../../FFTXlib/libqefft.a  \
14	 ../../LAXlib/libqela.a ../../UtilXlib/libutil.a \
15	 ../../dft-d3/libdftd3qe.a
16LIBOBJS	= ../../clib/clib.a ../../iotk/src/libiotk.a
17
18TLDEPS=couple
19
20
21all : tldeps c2pw.x f2pw.x c2cp.x f2cp.x
22
23f2pw.x : f2pw.o $(PWOBJS)
24	$(LD) $(LDFLAGS) -o $@ $^ $(QEMODS) $(LIBOBJS) $(LIBS)
25
26c2pw.x : c2pw.o $(PWOBJS)
27	$(MPICXX) $(LDFLAGS) -o $@ $^ $(MPILIBS) $(QEMODS) $(LIBOBJS) $(LIBS)
28
29f2cp.x : f2cp.o $(CPOBJS)
30	$(LD) $(LDFLAGS) -o $@ $^ $(QEMODS) $(LIBOBJS) $(LIBS)
31
32c2cp.x : c2cp.o $(CPOBJS)
33	$(MPICXX) $(LDFLAGS) -o $@ $^ $(MPILIBS) $(QEMODS) $(LIBOBJS) $(LIBS)
34
35%.o: %.cpp
36	$(MPICXX) -I../include -c $(MPICXXFLAGS) $< -o $@
37
38tldeps:
39	test -n "$(TLDEPS)" && ( cd ../.. ; $(MAKE) $(MFLAGS) $(TLDEPS) || exit 1) || :
40
41clean :
42	- /bin/rm -f *.x *.o *.a *~ *.F90 *.d *.mod *.i *.L
43
44# explicit dependencies
45
46f2pw.o: f2pw.f90
47
48c2pw.o: c2pw.cpp ../include/libqecouple.h
49
50f2cp.o: f2cp.f90
51
52c2cp.o: c2cp.cpp ../include/libqecouple.h
53
54# DO NOT DELETE
55