# Copyright (C) 2001-2016 Quantum ESPRESSO group # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License. See the file `License' in the root directory # of the present distribution. # # Makefile for plugins sinclude ../make.inc include plugins_list include install_utils # MAIN target EXTLIBS=liblapack libiotk ########################################################### # D3Q ########################################################### d3q: uncompress-d3q if test -d ../D3Q; then \ cd ../D3Q; $(MAKE) || exit 1; \ fi touch make-d3q uncompress-d3q: touch-dummy $(call download_and_unpack,$(D3Q),$(D3Q_URL),D3Q,d3q) touch uncompress-d3q d3q_clean: if test -d ../D3Q; then (cd ../D3Q; $(MAKE) clean); fi rm -f ../bin/d3q.x rm -f ../bin/d3_*.x d3q_veryclean: d3q_distclean # delete unpacked directory and its links, keep the archive (cd ..; \ i=D3Q; \ while j=$$(readlink $$i);do rm -rf $$i; i=$$j;done;\ rm -rf $$i\ ); \ d3q_distclean: d3q_distclean # also delete the tgz archive rm -f ../archive/$(D3Q); \ rm -f make-d3q uncompress-d3q ########################################################### # test-suite ########################################################### test-suite: uncompress-test-suite if test -d ../test-suite ; then \ ( cd ../test-suite ; $(MAKE) TLDEPS= run-tests || exit 1) ; fi uncompress-test-suite: touch-dummy $(call download_and_unpack,$(TESTSUITE),$(TESTSUITE_URL),test-suite,test-suite) touch uncompress-test-suite ########################################################### # Examples ########################################################### examples: uncompress-examples uncompress-examples: touch-dummy $(call download_and_unpack,$(EXAMPLES),$(EXAMPLES_URL),Examples,Examples) touch uncompress-examples ########################################################## # GIPAW ########################################################### gipaw: uncompress-gipaw configure-gipaw if test -d ../GIPAW; then \ cd ../GIPAW; $(MAKE) all || exit 1; cd ../bin; ln -fs ../GIPAW/src/gipaw.x . ; fi touch make-gipaw uncompress-gipaw: touch-dummy $(call download_and_unpack,$(GIPAW),$(GIPAW_URL),GIPAW,qe-gipaw) touch uncompress-gipaw configure-gipaw: touch-dummy cd ../GIPAW ; \ ./configure --with-qe-source=${TOPDIR} touch ./configure-gipaw ########################################################### # wannier90 ########################################################### w90: uncompress-w90 configure-w90 if test -d ../W90; then \ cd ../W90; $(MAKE) || exit 1; cd ../bin; ln -fs ../W90/wannier90.x . ; fi -(cd ../bin; ln -fs ../W90/wannier90.x .) touch make-w90 uncompress-w90: touch-dummy $(call download_and_unpack,$(W90),$(W90_URL),W90,wannier90) touch uncompress-w90 configure-w90: touch-dummy cd ../W90 ; \ if (test -e ../install/make_wannier90.sys) || (test -d ../W90); then \ (cp ../install/make_wannier90.inc ../W90/make.inc); fi touch ./configure-w90 ########################################################### # WANT ########################################################### want: extlibs uncompress-want configure-want if test -d ../WANT; then \ cd ../WANT; $(MAKE) all || exit 1; fi # - ( cd ../bin ; ln -sf ../WANT/bin/* . ) touch ./make-want uncompress-want: touch-dummy $(call download_and_unpack,$(WANT),$(WANT_URL),WANT,want) touch uncompress-want configure-want: touch-dummy cd ../WANT ; \ ./configure \ --with-external-iotk \ IOTK_LIBS="-L../../../S3DE/iotk/src -liotk" \ IOTK_INCLUDE="$(MOD_FLAG)../../../S3DE/iotk/src" \ CC="$(CC)" \ F90="$(F90)" \ MPIF90="$(MPIF90)" \ F90FLAGS="$(F90FLAGS) $($PRE_FDFLAGS) $(FDFLAGS) $(IFLAGS) $(MODFLAGS)" \ F77="$(F77)" \ FFLAGS="$(FFLAGS)" \ FFLAGS_NOOPT="$(FFLAGS_NOOPT)" \ LD="$(LD)" \ LDFLAGS="$(LDFLAGS)" \ AR="$(AR)" \ ARFLAGS="$(ARFLAGS)" \ RANLIB="$(RANLIB)" \ DFLAGS="$(DFLAGS)" \ FDFLAGS="$(DFLAGS)" \ LAPACK_LIBS="$(LAPACK_LIBS)" \ BLAS_LIBS="$(BLAS_LIBS)" \ FFT_LIBS="$(FFT_LIBS)" touch ./configure-want ########################################################### # YAMBO ########################################################### yambo: extlibs uncompress-yambo configure-yambo if test -d ../YAMBO; then \ cd ../YAMBO; $(MAKE) yambo interfaces ypp || exit 1; fi touch ./make-yambo uncompress-yambo: touch-dummy $(call download_and_unpack,$(YAMBO),$(YAMBO_URL),YAMBO,yambo) touch uncompress-yambo configure-yambo: touch-dummy @(if test -z "$(F90)" ; then \ echo "*** F90 is not defined; please define F90 or edit make.inc" ; exit 1 ; fi) cd ../YAMBO ; \ ./configure \ --with-blas-libs="$(BLAS_LIBS)" \ --with-lapack-libs="$(LAPACK_LIBS) $(BLAS_LIBS)" \ --with-iotk-path="$(TOPDIR)/iotk" \ --with-fft-libs="$(FFT_LIBS)" \ --with-scalapack-libs="$(SCALAPACK_LIBS)" \ --with-blacs-libs="$(SCALAPACK_LIBS)" \ PFC="$(MPIF90)" \ FC="$(F90)" \ F77="$(F77)" touch ./configure-yambo yambo-devel: extlibs uncompress-yambo-devel configure-yambo-devel if test -d ../YAMBO_DEVEL; then \ cd ../YAMBO_DEVEL; $(MAKE) yambo interfaces ypp || exit 1; fi touch ./make-yambo-devel uncompress-yambo-devel: touch-dummy $(call download_and_unpack,$(YAMBO_DEVEL),$(YAMBO_DEVEL_URL),YAMBO_DEVEL,yambo-devel) touch uncompress-yambo-devel configure-yambo-devel: touch-dummy @(if test -z "$(F90)" ; then \ echo "*** F90 is not defined; please define F90 or edit make.inc" ; exit 1 ; fi) cd ../YAMBO_DEVEL ; \ ./configure \ --with-blas-libs="$(BLAS_LIBS)" \ --with-lapack-libs="$(LAPACK_LIBS) $(BLAS_LIBS)" \ --with-iotk-path="$(TOPDIR)/iotk" \ --with-fft-libs="$(FFT_LIBS)" \ --with-scalapack-libs="$(SCALAPACK_LIBS)" \ --with-blacs-libs="$(SCALAPACK_LIBS)" \ PFC="$(MPIF90)" \ FC="$(F90)" \ F77="$(F77)" touch ./configure-yambo-devel touch-dummy: $(dummy-variable) ########################################################### # plumed ########################################################### plumed: test-plumed uncompress-plumed patch-plumed if test -d ../PLUMED; then \ cd ../; $(MAKE) pw; $(MAKE) cp; fi touch make-plumed test-plumed: touch-dummy @(if test ! -s ../archive/$(PLUMED).tar.gz && test ! -d ../PLUMED; then \ echo "The release contains no PLUMED package. Trying to download it from qe-forge."; fi) touch ./test-plumed uncompress-plumed: touch-dummy $(call download_and_unpack,$(PLUMED),$(PLUMED_URL),PLUMED,plumed) touch uncompress-plumed patch-plumed: touch-dummy if test -d ../PLUMED; then \ (cd ../PLUMED ; export plumedir="`pwd`" ; \ cp patches/plumedpatch_qespresso_5.2.sh ../ ; \ cd ../ ; ./plumedpatch_qespresso_5.2.sh -patch) ; fi touch ./patch-plumed ########################################################### # SaX ########################################################### sax: extlibs uncompress-sax configure-sax if test -d ../SaX; then \ cd ../SaX; $(MAKE) sax_all; fi # - ( cd ../bin ; ln -sf ../SaX/sax/bin/* . ) touch ./make-sax uncompress-sax: touch-dummy $(call download_and_unpack,$(SAX),$(SAX_URL),SaX,$(SAX)) touch uncompress-sax configure-sax: touch-dummy cd ../SaX ; \ ./configure \ --with-external-iotk \ IOTK_LIBS="-L../../S3DE/iotk/src -liotk" \ IOTK_INCLUDE="$(MOD_FLAG)../../S3DE/iotk/src" \ CC="$(CC)" \ F90="$(F90)" \ MPIF90="$(MPIF90)" \ F90FLAGS="$(F90FLAGS) $($PRE_FDFLAGS) $(FDFLAGS) $(IFLAGS) $(MODFLAGS)" \ F77="$(F77)" \ FFLAGS="$(FFLAGS)" \ FFLAGS_NOOPT="$(FFLAGS_NOOPT)" \ LD="$(LD)" \ LDFLAGS="$(LDFLAGS)" \ AR="$(AR)" \ ARFLAGS="$(ARFLAGS)" \ RANLIB="$(RANLIB)" \ LIB_LAPACK="$(LAPACK_LIBS)" \ LIB_BLAS="$(BLAS_LIBS)" touch ./configure-sax ########################################################### # WEST ########################################################### west: extlibs uncompress-west if test -d ../West; then \ cd ../West; $(MAKE) -j1 all || exit 1; fi touch ./make-west uncompress-west: touch-dummy $(call download_and_unpack,$(WEST),$(WEST_URL),West,WEST) touch uncompress-west ########################################################### # extlibs ########################################################### extlibs: test -n "$(EXTLIBS)" && ( cd .. ; $(MAKE) $(EXTLIBS) || exit 1) || : ########################################################### # cleaning ########################################################### gipaw_clean: if test -d ../GIPAW; then (cd ../GIPAW; $(MAKE) clean); fi rm -f ../bin/gipaw.x rm -rf ./make-gipaw gipaw_veryclean: gipaw_clean if test -d ../GIPAW; then (cd ../GIPAW; \ rm -f config.log config.status ); fi rm -rf ./configure-gipaw gipaw_distclean: #if test -d ../GIPAW; then (rm -R -f ../GIPAW ); fi #if test -d ../$(GIPAW); then (rm -R -f ../$(GIPAW) ); fi rm -f ../archive/$(GIPAW).tar.gz w90_clean: if test -d ../W90; then (cd ../W90; \ $(MAKE) veryclean); fi rm -f ../bin/wannier90.x rm -rf ./make-w90 ./configure-w90 w90_veryclean: w90_clean if test -d ../W90; then (rm -R -f ../W90); fi if test -d ../$(W90); then (rm -R -f ../$(W90)); fi rm -f ../bin/wannier90.x rm -rf ./uncompress-w90 w90_distclean: rm -f ../archive/$(W90).tar.gz want_clean: if test -d ../WANT; then (cd ../WANT; \ $(MAKE) clean); fi - rm -rf ./make-want ./configure-want want_veryclean: want_clean if test -d ../WANT; then (rm -R -f ../WANT); fi if test -d ../$(WANT); then (rm -R -f ../$(WANT)); fi if test -e ../archive/$(WANT).tar.gz ; then (rm -f ../archive/$(WANT).tar.gz); fi - rm -rf ./uncompress-want ./configure.h want_distclean: rm -f ../archive/$(WANT).tar.gz yambo_clean: if test -d ../YAMBO; then (cd ../YAMBO; \ $(MAKE) clean); fi - rm -rf ./make-yambo ./configure-yambo yambo_veryclean: yambo_clean if test -d ../YAMBO; then (rm -R -f ../YAMBO); fi if test -d ../$(YAMBO); then (rm -R -f ../$(YAMBO)); fi - rm -rf ./uncompress-yambo yambo_distclean: if test -e ../archive/$(YAMBO).tar.gz ; then \ rm -f ../archive/$(YAMBO).tar.gz; fi yambo-devel_clean: if test -d ../YAMBO_DEVEL; then (cd ../YAMBO_DEVEL; \ $(MAKE) clean); fi - rm -rf ./make-yambo-devel ./configure-yambo-devel yambo-devel_veryclean: yambo-devel_clean if test -d ../YAMBO_DEVEL; then (rm -R -f ../YAMBO_DEVEL); fi if test -d ../$(YAMBO_DEVEL); then (rm -R -f ../$(YAMBO_DEVEL)); fi - rm -rf ./uncompress-yambo-devel yambo-devel_distclean: if test -e ../archive/$(YAMBO_DEVEL).tar.gz ; then \ rm -f ../archive/$(YAMBO_DEVEL).tar.gz; fi plumed_clean: if test -d ../PLUMED; then (cd ../PLUMED; \ export plumedir="`pwd`" ; \ cd ../ ; ./plumedpatch_qespresso_5.2.sh -revert); fi cd ../PW ; $(MAKE) clean; cd ../CPV ; $(MAKE) clean rm -rf ./make-plumed ./patch-plumed plumed_veryclean: plumed_clean if test -d ../PLUMED; then (rm -R -f ../PLUMED); fi if test -d ../$(PLUMED); then (rm -R -f ../$(PLUMED)); fi rm -rf ./uncompress-plumed ../plumedpatch_qespresso_5.2.sh plumed_distclean: # Nothing to do here sax_clean: if test -d ../SaX; then (cd ../SaX; \ $(MAKE) clean); fi - rm -rf ./make-sax ./configure-sax sax_veryclean: sax_clean if test -d ../SaX; then (rm -R -f ../SaX); fi if test -d ../$(SAX); then (rm -R -f ../$(SAX)); fi - rm -rf ./uncompress-sax sax_distclean: rm -f ../archive/$(SAX).tar.gz west_clean: if test -d ../West; then (cd ../West; \ $(MAKE) clean); fi - rm -rf ./make-west ./configure-west west_veryclean: west_clean # dir is not deleted for compatibility with the repository west_distclean: rm -f ../archive/$(WEST).tar.gz test-suite_clean: if test -d ../test-suite; then (cd ../test-suite; \ $(MAKE) clean); fi test-suite_veryclean: test-suite_clean test-suite_distclean: rm -f ../archive/$(TESTSUITE).tar.gz examples_clean: examples_veryclean: examples_clean ########################################################## # general cleaning ########################################################## clean: w90_clean want_clean yambo_clean yambo-devel_clean plumed_clean \ gipaw_clean west_clean test-suite_clean \ sax_clean d3q_clean #examples_clean veryclean: w90_veryclean want_veryclean yambo_veryclean yambo-devel_veryclean \ plumed_veryclean gipaw_veryclean west_veryclean \ test-suite_veryclean sax_veryclean d3q_veryclean examples_veryclean #distclean : veryclean distclean: w90_distclean want_distclean yambo_distclean yambo-devel_distclean \ test-suite_distclean gipaw_distclean west_distclean \ sax_distclean d3q_distclean