Once again, a problem with modules in Makefiles. In order to simplify things,

after the proliferarion of modules and libraries, I have collected into a
single variable BASEMOD_FLAGS, defined in make.inc, the list of directories
for modules, to be included by all codes. IMPORTANT NOTICE: re-run "configure",
the new Makefiles work in conjunction with the new make.inc
This commit is contained in:
Paolo Giannozzi 2018-01-08 22:28:48 +01:00
parent f36f848678
commit 9af0317f8d
22 changed files with 80 additions and 61 deletions

View File

@ -2,7 +2,9 @@
include ../../make.inc
# location of required modules and include files
MODFLAGS= $(MOD_FLAG)../../iotk/src $(MOD_FLAG)../../Modules $(MOD_FLAG)../../FFTXlib $(MOD_FLAG)../../UtilXlib $(MOD_FLAG)../../CPV/src
MODFLAGS= $(BASEMOD_FLAGS) \
$(MOD_FLAG)../../CPV/src
IFLAGS=#-DDEBUG_QECOUPLE
TLDEPS=pw cp

View File

@ -3,8 +3,11 @@
include ../../make.inc
# location of needed modules and included files (if any)
MODFLAGS= $(MOD_FLAG)../../iotk/src $(MOD_FLAG)../../FFTXlib $(MOD_FLAG)../../LAXlib $(MOD_FLAG)../../UtilXlib \
$(MOD_FLAG)../../KS_Solvers/CG $(MOD_FLAG)../../KS_Solvers/Davidson $(MOD_FLAG)../../Modules $(MOD_FLAG).
MODFLAGS= $(BASEMOD_FLAGS) \
$(MOD_FLAG)../../PW/src \
$(MOD_FLAG)../../KS_Solvers/CG \
$(MOD_FLAG)../../KS_Solvers/Davidson
#IFLAGS=
FOBJS = \

View File

@ -2,9 +2,6 @@
include ../make.inc
# location of needed modules
#MODFLAGS= $(MOD_FLAG)../iotk/src $(MOD_FLAG).
FFTX = \
scatter_mod.o \
fft_ggen.o \

View File

@ -3,7 +3,7 @@
include ../make.inc
# location of needed modules and included files (if any)
MODFLAGS=$(MOD_FLAG)../FFTXlib $(MOD_FLAG)../UtilXlib $(MOD_FLAG)../Modules $(MOD_FLAG)../LAXlib $(MOD_FLAG)../PW/src $(MOD_FLAG).
MODFLAGS=$(BASEMOD_FLAGS) $(MOD_FLAG)$(TOPDIR)/PW/src
IFLAGS=

View File

@ -3,8 +3,8 @@
include ../make.inc
# location of needed modules
MODFLAGS= $(MOD_FLAG)../iotk/src $(MOD_FLAG)../ELPA/src $(MOD_FLAG)../FFTXlib $(MOD_FLAG)../LAXlib $(MOD_FLAG)../UtilXlib \
$(MOD_FLAG)../KS_Solvers/CG $(IFLAGS) $(MOD_FLAG).
MODFLAGS=$(BASEMOD_FLAGS) \
$(MOD_FLAG)../ELPA/src
# list of modules

View File

@ -3,12 +3,12 @@
include ../../make.inc
# location of needed modules and included files (if any)
MODFLAGS= $(MOD_FLAG)../../iotk/src \
$(MOD_FLAG)../../FFTXlib \
$(MOD_FLAG)../../LAXlib \
$(MOD_FLAG)../../UtilXlib \
$(MOD_FLAG)../../Modules \
$(MOD_FLAG)../../PW/src $(MOD_FLAG)../../dft-d3 $(MOD_FLAG).
MODFLAGS= $(BASEMOD_FLAGS) \
$(MOD_FLAG)../../PW/src \
$(MOD_FLAG)../../KS_Solvers/Davidson \
$(MOD_FLAG)../../KS_Solvers/CG \
$(MOD_FLAG)../../dft-d3/
IFLAGS=
NEBOBJS = \

View File

@ -6,11 +6,11 @@ include ../../make.inc
#IFLAGS=-I../../../include
# location of needed modules
MODFLAGS= $(MOD_FLAG)../../iotk/src $(MOD_FLAG)../../Modules \
$(MOD_FLAG)../../LAXlib $(MOD_FLAG)../../UtilXlib $(MOD_FLAG)../../FFTXlib \
$(MOD_FLAG)../../PW/src $(MOD_FLAG)../../KS_Solvers/CG $(MOD_FLAG) ../../KS_Solvers/Davidson \
$(MOD_FLAG)../../dft-d3 $(MOD_FLAG).
MODFLAGS= $(BASEMOD_FLAGS) \
$(MOD_FLAG)../../PW/src \
$(MOD_FLAG)../../dft-d3 \
$(MOD_FLAG)../../KS_Solvers/CG \
$(MOD_FLAG) ../../KS_Solvers/Davidson
FDOBJS = \
stop_pp.o

View File

@ -3,9 +3,10 @@
include ../../make.inc
# location of needed modules and included files (if any)
MODFLAGS= $(MOD_FLAG)../../iotk/src $(MOD_FLAG)../../Modules \
$(MOD_FLAG)../../LAXlib $(MOD_FLAG)../../FFTXlib $(MOD_FLAG)../../UtilXlib \
$(MOD_FLAG)../../PW/src $(MOD_FLAG)../../dft-d3 $(MOD_FLAG).
MODFLAGS= $(BASEMOD_FLAGS) \
$(MOD_FLAG)../../PW/src \
$(MOD_FLAG)../../dft-d3 \
$(MOD_FLAG)../../LR_Modules
IFLAGS=
CGOBJS = \

View File

@ -3,11 +3,11 @@
include ../../make.inc
# location of needed modules and included files (if any)
MODFLAGS= $(MOD_FLAG)../../iotk/src $(MOD_FLAG)../../Modules $(MOD_FLAG)../../LAXlib $(MOD_FLAG)../../UtilXlib \
$(MOD_FLAG)../../FFTXlib $(MOD_FLAG)../../PW/src $(MOD_FLAG)../../LR_Modules $(MOD_FLAG) \
$(MOD_FLAGS)../../dft-d3 $(MOD_FLAG).
MODFLAGS= $(BASEMOD_FLAGS) \
$(MOD_FLAG)../../PW/src \
$(MOD_FLAG)../../dft-d3 \
$(MOD_FLAG)../../LR_Modules
IFLAGS=
PHOBJS = \
acfdtest.o \
add_dkmds.o \

View File

@ -3,8 +3,11 @@
include ../../make.inc
# location of needed modules and included files (if any)
MODFLAGS= $(MOD_FLAG)../../iotk/src $(MOD_FLAG)../../FoX/finclude $(MOD_FLAG)../../Modules \
$(MOD_FLAG)../../FFTXlib $(MOD_FLAG)../../LAXlib $(MOD_FLAG)../../UtilXlib $(MOD_FLAG)../../PW/src $(MOD_FLAG).
MODFLAGS= $(BASEMOD_FLAGS) \
$(MOD_FLAG)../../PW/src \
$(MOD_FLAG)../../KS_Solvers/Davidson \
$(MOD_FLAG)../../KS_Solvers/CG \
$(MOD_FLAG)../../dft-d3/
IFLAGS=
PPOBJS = \

View File

@ -3,11 +3,10 @@
include ../../make.inc
# location of needed modules and included files (if any)
MODFLAGS= $(MOD_FLAG)../../iotk/src $(MOD_FLAG)../../Modules \
$(MOD_FLAG)../../FFTXlib $(MOD_FLAG)../../LAXlib $(MOD_FLAG)../../UtilXlib \
$(MOD_FLAG)../../KS_Solvers/Davidson $(MOD_FLAG)../../KS_Solvers/CG \
MODFLAGS= $(BASEMOD_FLAGS) \
$(MOD_FLAG)../../KS_Solvers/Davidson \
$(MOD_FLAG)../../KS_Solvers/CG \
$(MOD_FLAG)../../dft-d3/
PWOBJS = \
pwscf.o

View File

@ -3,12 +3,13 @@
include ../../make.inc
# location of needed modules
MODFLAGS= $(MOD_FLAG)../../iotk/src $(MOD_FLAG)../../Modules $(MOD_FLAG)../../KS_Solvers/CG $(MOD_FLAG)../../KS_Solvers/Davidson \
$(MOD_FLAG)../../FFTXlib $(MOD_FLAG)../../LAXlib $(MOD_FLAG)../../UtilXlib $(MOD_FLAG)../src $(MOD_FLAG).
PWOBJS = ../src/libpw.a
MODFLAGS= $(BASEMOD_FLAGS) \
$(MOD_FLAG)../../KS_Solvers/Davidson \
$(MOD_FLAG)../../KS_Solvers/CG \
$(MOD_FLAG)../src
QEMODS = ../../Modules/libqemod.a ../../FFTXlib/libqefft.a ../../KS_Solvers/CG/libcg.a ../../KS_Solvers/Davidson/libdavid.a \
../../LAXlib/libqela.a ../../UtilXlib/libutil.a
PWOBJS = ../src/libpw.a
TLDEPS= bindir mods libs pw libfft libla libutil

View File

@ -3,9 +3,10 @@
include ../../make.inc
# location of needed modules and included files (if any)
MODFLAGS= $(MOD_FLAG)../../iotk/src $(MOD_FLAG)../../UtilXlib $(MOD_FLAG)../../Modules \
$(MOD_FLAG)../../KS_Solvers/CG $(MOD_FLAG) ../../KS_Solvers/Davidson $(MOD_FLAG)../../LAXlib \
$(MOD_FLAG)../../FFTXlib $(MOD_FLAG)../../PW/src $(MOD_FLAG).
MODFLAGS= $(BASEMOD_FLAGS) \
$(MOD_FLAG) ../../KS_Solvers/Davidson \
$(MOD_FLAG)../../KS_Solvers/CG \
$(MOD_FLAG)../../PW/src
IFLAGS=
PWCONDOBJS = \

View File

@ -5,8 +5,12 @@ include ../../make.inc
IFLAGS = -I../../include
# location of needed modules
MODFLAGS= $(MOD_FLAG)../../iotk/src $(MOD_FLAG)../../Modules $(MOD_FLAG)../../FFTXlib $(MOD_FLAG)../../LAXlib $(MOD_FLAG)../../UtilXlib \
$(MOD_FLAG) . $(MOD_FLAG)../../PW/src $(MOD_FLAG)../../LR_Modules $(MOD_FLAG)../../KS_Solvers/CG $(MOD_FLAG)../../KS_Solvers/Davidson
MODFLAGS= $(BASEMOD_FLAGS) \
$(MOD_FLAG)../../PW/src \
$(MOD_FLAG)../../KS_Solvers/CG \
$(MOD_FLAG)../../KS_Solvers/Davidson \
$(MOD_FLAG)../../dft-d3 \
$(MOD_FLAG)../../LR_Modules
QEMODS = ../../Modules/libqemod.a ../../FFTXlib/libqefft.a ../../KS_Solvers/Davidson/libdavid.a ../../KS_Solvers/CG/libcg.a \
../../LAXlib/libqela.a ../../UtilXlib/libutil.a

View File

@ -4,9 +4,10 @@ include ../../make.inc
IFLAGS = -I../../include
# location of needed modules
MODFLAGS= $(MOD_FLAG)../../iotk/src $(MOD_FLAG)../../Modules \
$(MOD_FLAG)../../KS_Solvers/CG $(MOD_FLAG)../../KS_Solvers/Davidson \
$(MOD_FLAG)../../FFTXlib $(MOD_FLAG)../../LAXlib $(MOD_FLAG)../../UtilXlib $(MOD_FLAG).
MODFLAGS= $(BASEMOD_FLAGS) \
$(MOD_FLAG)../../KS_Solvers/CG \
$(MOD_FLAG)../../KS_Solvers/Davidson \
$(MOD_FLAG)../../LR_Modules
QEMODS = ../../Modules/libqemod.a ../../KS_Solvers/CG/libcg.a ../../KS_Solvers/Davidson/libdavid.a \
../../FFTXlib/libqefft.a ../../LAXlib/libqela.a ../../UtilXlib/libutil.a

View File

@ -3,9 +3,10 @@
include ../../make.inc
# location of needed modules and included files (if any)
MODFLAGS= $(MOD_FLAG)../../iotk/src $(MOD_FLAG)../../Modules \
$(MOD_FLAG)../../KS_Solvers/CG $(MOD_FLAG)../../KS_Solvers/Davidson \
$(MOD_FLAG)../../LAXlib $(MOD_FLAG)../../FFTXlib $(MOD_FLAG)../../UtilXlib $(MOD_FLAG)../../PW/src $(MOD_FLAG).
MODFLAGS= $(BASEMOD_FLAGS) \
$(MOD_FLAG)../../PW/src \
$(MOD_FLAG)../../KS_Solvers/CG \
$(MOD_FLAG)../../KS_Solvers/Davidson
IFLAGS=
XOBJS = \

View File

@ -5,9 +5,7 @@
include ../../make.inc
# location of needed modules and included files (if any)
MODFLAGS= $(MOD_FLAG)../../iotk/src $(MOD_FLAG)../../Modules \
$(MOD_FLAG)../../KS_Solvers/CG $(MOD_FLAG)../../KS_Solvers/Davidson \
$(MOD_FLAG)../../FFTXlib $(MOD_FLAG)../../LAXlib $(MOD_FLAG)../../UtilXlib $(MOD_FLAG).
MODFLAGS= $(BASEMOD_FLAGS)
IFLAGS=
LD1OBJS = \

View File

@ -3,10 +3,9 @@
include ../make.inc
# location of needed modules
MODFLAGS= $(MOD_FLAG)../iotk/src $(MOD_FLAG)../ELPA/src $(MOD_FLAG)../FFTXlib $(MOD_FLAG)../LAXlib $(MOD_FLAG)../UtilXlib \
$(MOD_FLAG)../KS_Solvers/CG $(IFLAGS) $(MOD_FLAG)../Modules $(MOD_FLAG).
# list of modules
MODFLAGS= $(BASEMOD_FLAGS)
# list of modules
TESTOBJ = \
test_code.o
@ -38,7 +37,6 @@ libdftd3qe.a: $(DFTD3OBJ)
test.x : $(TESTOBJ) $(TESTMODS) $(QEMODS)
$(LD) $(LDFLAGS) $(MODFLAGS) -o $@ \
$(TESTOBJ) $(TESTMODS) $(QEMODS) $(LIBS)
tldeps :
if test -n "$(TLDEPS)" ; then \

2
install/configure vendored
View File

@ -2439,7 +2439,7 @@ $as_echo "${arch}" >&6; }
try_dflags=""
# "-I../include" is required by IOTK ...
try_iflags="-I\$(TOPDIR)/include -I\$(TOPDIR)/FoX/finclude -I../include/"
try_iflags="-I\$(TOPDIR)/include -I\$(TOPDIR)/FoX/finclude -I\$(TOPDIR)/S3DE/iotk/include/"
# Checking archiver...

View File

@ -28,7 +28,7 @@ X_AC_QE_ARCH()
try_dflags=""
# "-I../include" is required by IOTK ...
try_iflags="-I\$(TOPDIR)/include -I\$(TOPDIR)/FoX/finclude -I../include/"
try_iflags="-I\$(TOPDIR)/include -I\$(TOPDIR)/FoX/finclude -I\$(TOPDIR)/S3
# Checking archiver...
X_AC_QE_AR()

View File

@ -46,17 +46,27 @@ DFLAGS = @dflags@
FDFLAGS = @fdflags@
# IFLAGS = how to locate directories with *.h or *.f90 file to be included
# typically -I../include -I/some/other/directory/
# typically -I$(TOPDIR)/include -I/some/other/directory/
# the latter contains .e.g. files needed by FFT libraries
# for libxc add -I/path/to/libxc/include/
IFLAGS = @iflags@
# MOD_FLAGS = flag used by f90 compiler to locate modules
# Each Makefile defines the list of needed modules in MODFLAGS
# MOD_FLAG = flag used by f90 compiler to locate modules
MOD_FLAG = @imod@
# BASEMOD_FLAGS points to directories containing basic modules,
# while BASEMODS points to the corresponding module libraries
# Each Makefile can add directories to MODFLAGS and libraries to QEMODS
BASEMOD_FLAGS= $(MOD_FLAG)/$(TOPDIR)/iotk/src \
$(MOD_FLAG)/$(TOPDIR)/Modules \
$(MOD_FLAG)/$(TOPDIR)/FFTXlib \
$(MOD_FLAG)/$(TOPDIR)/LAXlib \
$(MOD_FLAG)/$(TOPDIR)/UtilXlib \
$(MOD_FLAG)/$(TOPDIR)/FoX/finclude
# Compilers: fortran-90, fortran-77, C
# If a parallel compilation is desired, MPIF90 should be a fortran-90
# compiler that produces executables for parallel execution using MPI

View File

@ -3,7 +3,7 @@
include ../make.inc
# location of needed modules
MODFLAGS= $(MOD_FLAG)../iotk/src $(MOD_FLAG)../Modules $(MOD_FLAG)../FFTXlib $(MOD_FLAG)../LAXlib $(MOD_FLAG)../UtilXlib $(MOD_FLAG).
MODFLAGS= $(BASEMOD_FLAGS)
OBJS = write_upf.o read_upf.o
QEMODS = ../Modules/libqemod.a ../FFTXlib/libqefft.a ../UtilXlib/libutil.a