diff --git a/include/config.h.in b/include/config.h.in index 577aca2..40cb6c4 100644 --- a/include/config.h.in +++ b/include/config.h.in @@ -235,3 +235,4 @@ /* Define as `fork' if `vfork' does not work. */ #undef vfork + diff --git a/src/Makefile.generated.in b/src/Makefile.generated.in index 3ba9e42..5925119 100644 --- a/src/Makefile.generated.in +++ b/src/Makefile.generated.in @@ -1,14 +1,18 @@ .POSIX: .SUFFIXES: -package = @PACKAGE_TARNAME@ -version = @PACKAGE_VERSION@ +package = @PACKAGE_TARNAME@ +version = @PACKAGE_VERSION@ + +# VPATH-related substitution variables +srcdir = @srcdir@ +VPATH = @srcdir@ prefix = @prefix@ CC = @CC@ DEFS = @DEFS@ -CFLAGS = @CFLAGS@ -I../munit/ -I../include -I. -I$(srcdir) +CFLAGS = @CFLAGS@ -I$(top_srcdir)/munit/ -I$(top_srcdir)/include -I. CPPFLAGS = @CPPFLAGS@ LIBS = @LIBS@ @@ -23,12 +27,12 @@ TESTS_F = test_qmckl_ao_f.o test_qmckl_distance_f.o LIBS = @LIBS@ FCLIBS = @FCLIBS@ -QMCKL_ROOT=.. -shared_lib=$(QMCKL_ROOT)/lib/libqmckl.so -static_lib=$(QMCKL_ROOT)/lib/libqmckl.a -qmckl_h=$(QMCKL_ROOT)/include/qmckl.h -qmckl_f=$(QMCKL_ROOT)/share/qmckl/fortran/qmckl_f.f90 -munit=$(QMCKL_ROOT)/munit/munit.c +top_srcdir=$(srcdir)/.. +shared_lib=$(top_srcdir)/lib/libqmckl.so +static_lib=$(top_srcdir)/lib/libqmckl.a +qmckl_h=$(top_srcdir)/include/qmckl.h +qmckl_f=$(top_srcdir)/share/qmckl/fortran/qmckl_f.f90 +munit=$(top_srcdir)/munit/munit.c datarootdir=$(prefix)/share datadir=$(datarootdir) @@ -63,7 +67,7 @@ test_qmckl: test_qmckl.c $(qmckl_h) $(static_lib) $(TESTS) $(TESTS_F) test_qmckl_shared: test_qmckl.c $(qmckl_h) $(shared_lib) $(TESTS) $(TESTS_F) $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) \ - -Wl,-rpath,$(QMCKL_ROOT)/lib -L$(QMCKL_ROOT)/lib $(munit) $(TESTS) \ + -Wl,-rpath,$(top_srcdir)/lib -L$(top_srcdir)/lib $(munit) $(TESTS) \ $(TESTS_F) -lqmckl $(LIBS) $(FCLIBS) test_qmckl.c -o $@ check: test_qmckl test_qmckl_shared @@ -85,9 +89,9 @@ install: install $(static_lib) $(DESTDIR)$(libdir)/ install $(qmckl_h) $(DESTDIR)$(includedir) install $(qmckl_f) $(DESTDIR)$(fortrandir) - install $(QMCKL_ROOT)/share/doc/qmckl/html/*.html $(DESTDIR)$(docdir)/html/ - install $(QMCKL_ROOT)/share/doc/qmckl/html/*.css $(DESTDIR)$(docdir)/html/ - install $(QMCKL_ROOT)/share/doc/qmckl/text/*.txt $(DESTDIR)$(docdir)/text/ + install $(top_srcdir)/share/doc/qmckl/html/*.html $(DESTDIR)$(docdir)/html/ + install $(top_srcdir)/share/doc/qmckl/html/*.css $(DESTDIR)$(docdir)/html/ + install $(top_srcdir)/share/doc/qmckl/text/*.txt $(DESTDIR)$(docdir)/text/ uninstall: rm $(DESTDIR)$(libdir)/libqmckl.so diff --git a/src/Makefile.in b/src/Makefile.in index 59805cc..8f9849a 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -29,17 +29,17 @@ HAS_CPPCHECK = @HAS_CPPCHECK@ srcdir = @srcdir@ VPATH = @srcdir@ -QMCKL_ROOT=$(srcdir)/.. -shared_lib=$(QMCKL_ROOT)/lib/libqmckl.so -static_lib=$(QMCKL_ROOT)/lib/libqmckl.a -qmckl_h=$(QMCKL_ROOT)/include/qmckl.h -qmckl_f=$(QMCKL_ROOT)/share/qmckl/fortran/qmckl_f.f90 +top_srcdir=$(srcdir)/.. +shared_lib=$(top_srcdir)/lib/libqmckl.so +static_lib=$(top_srcdir)/lib/libqmckl.a +qmckl_h=$(top_srcdir)/include/qmckl.h +qmckl_f=$(top_srcdir)/share/qmckl/fortran/qmckl_f.f90 -export CC CFLAGS DEFS FC FCFLAGS LIBS QMCKL_ROOT +export CC CFLAGS DEFS FC FCFLAGS LIBS top_srcdir -ORG_SOURCE_FILES=$(wildcard $(QMCKL_ROOT)/*.org) +ORG_SOURCE_FILES=$(wildcard $(srcdir)/*.org) C_SOURCE_FILES=$(patsubst %.org,%.c,$(ORG_SOURCE_FILES)) -INCLUDE=-I$(QMCKL_ROOT)/include/ +INCLUDE=-I$(top_srcdir)/include/ # Rules @@ -57,7 +57,7 @@ install uninstall: Makefile.generated $(MAKE) -f Makefile.generated $@ $(qmckl_f) $(qmckl_h): Makefile.generated - $(QMCKL_ROOT)/tools/build_qmckl_h.sh + $(top_srcdir)/tools/build_qmckl_h.sh shared: $(shared_lib) static: $(static_lib) @@ -75,7 +75,7 @@ cppcheck: endif doc: $(ORG_SOURCE_FILES) - $(QMCKL_ROOT)/tools/build_doc.sh + $(top_srcdir)/tools/build_doc.sh clean: - $(MAKE) -f Makefile.generated clean @@ -85,11 +85,11 @@ clean: Makefile.generated *.html *.txt veryclean: clean FORCE - - $(RM) $(QMCKL_ROOT)/share/doc/qmckl/html/*.html \ - $(QMCKL_ROOT)/share/doc/qmckl/text/*.txt + - $(RM) $(top_srcdir)/share/doc/qmckl/html/*.html \ + $(top_srcdir)/share/doc/qmckl/text/*.txt -Makefile.generated.in: Makefile $(QMCKL_ROOT)/tools/create_makefile.sh $(ORG_SOURCE_FILES) ../tools/Building.org - $(QMCKL_ROOT)/tools/create_makefile.sh +Makefile.generated.in: Makefile $(top_srcdir)/tools/create_makefile.sh $(ORG_SOURCE_FILES) $(top_srcdir)/tools/Building.org + $(top_srcdir)/tools/create_makefile.sh Makefile.generated: Makefile.generated.in cd .. ; ./config.status @@ -97,4 +97,4 @@ Makefile.generated: Makefile.generated.in .SUFFIXES: .org .c .org.c: - $(QMCKL_ROOT)/tools/tangle.sh $< + $(top_srcdir)/tools/tangle.sh $< diff --git a/src/qmckl_ao.org b/src/qmckl_ao.org index 98e0de2..f0ae3f9 100644 --- a/src/qmckl_ao.org +++ b/src/qmckl_ao.org @@ -49,7 +49,7 @@ gradients and Laplacian of the atomic basis functions. #+begin_src c :tangle (eval c_test) :noweb yes #include "qmckl.h" #include "munit.h" -#if HAVE_CONFIG_H +#ifdef HAVE_CONFIG_H #include #endif @@ -59,11 +59,16 @@ MunitResult test_<>() { #+end_src #+begin_src c :tangle (eval c) -#if HAVE_CONFIG_H +#ifdef HAVE_CONFIG_H #include #endif +#ifdef HAVE_STDINT_H #include +#elif HAVE_INTTYPES_H +#include +#endif + #include #include #include diff --git a/src/qmckl_context.org b/src/qmckl_context.org index 05e0bc2..c915c31 100644 --- a/src/qmckl_context.org +++ b/src/qmckl_context.org @@ -7,7 +7,7 @@ #+begin_src c :tangle (eval c_test) :noweb yes #include "qmckl.h" #include "munit.h" -#if HAVE_CONFIG_H +#ifdef HAVE_CONFIG_H #include #endif MunitResult test_<>() { @@ -17,7 +17,12 @@ MunitResult test_<>() { #ifndef QMCKL_CONTEXT_HPT #define QMCKL_CONTEXT_HPT +#ifdef HAVE_STDINT_H #include +#elif HAVE_INTTYPES_H +#include +#endif + #include #include "qmckl_error_private_type.h" @@ -28,10 +33,16 @@ MunitResult test_<>() { #+end_src #+begin_src c :tangle (eval c) -#if HAVE_CONFIG_H +#ifdef HAVE_CONFIG_H #include #endif + +#ifdef HAVE_STDINT_H #include +#elif HAVE_INTTYPES_H +#include +#endif + #include #include #include diff --git a/src/qmckl_distance.org b/src/qmckl_distance.org index 0715978..8b7a6f4 100644 --- a/src/qmckl_distance.org +++ b/src/qmckl_distance.org @@ -12,7 +12,7 @@ Functions for the computation of distances between particles. #+begin_src c :comments link :tangle (eval c_test) :noweb yes #include "qmckl.h" #include "munit.h" -#if HAVE_CONFIG_H +#ifdef HAVE_CONFIG_H #include #endif MunitResult test_<>() { diff --git a/src/qmckl_electron.org b/src/qmckl_electron.org index 40d1468..96cf6ac 100644 --- a/src/qmckl_electron.org +++ b/src/qmckl_electron.org @@ -21,7 +21,7 @@ up-spin and down-spin electrons, and the electron coordinates. #+begin_src c :tangle (eval c_test) :noweb yes #include "qmckl.h" #include "munit.h" -#if HAVE_CONFIG_H +#ifdef HAVE_CONFIG_H #include #endif MunitResult test_<>() { @@ -30,10 +30,16 @@ MunitResult test_<>() { #+end_src #+begin_src c :tangle (eval c) -#if HAVE_CONFIG_H +#ifdef HAVE_CONFIG_H #include #endif + +#ifdef HAVE_STDINT_H #include +#elif HAVE_INTTYPES_H +#include +#endif + #include #include #include diff --git a/src/qmckl_error.org b/src/qmckl_error.org index 629772c..aa7caf1 100644 --- a/src/qmckl_error.org +++ b/src/qmckl_error.org @@ -10,10 +10,16 @@ #+end_src #+begin_src c :tangle (eval c) -#if HAVE_CONFIG_H +#ifdef HAVE_CONFIG_H #include #endif + +#ifdef HAVE_STDINT_H #include +#elif HAVE_INTTYPES_H +#include +#endif + #include #include #include @@ -30,7 +36,7 @@ #+begin_src c :tangle (eval c_test) :noweb yes #include "qmckl.h" #include "munit.h" -#if HAVE_CONFIG_H +#ifdef HAVE_CONFIG_H #include #endif MunitResult test_<>() { diff --git a/src/qmckl_memory.org b/src/qmckl_memory.org index c47a757..ae0311c 100644 --- a/src/qmckl_memory.org +++ b/src/qmckl_memory.org @@ -9,10 +9,16 @@ optimized libraries to fine-tune the memory allocation. * Headers :noexport: #+begin_src c :tangle (eval c) -#if HAVE_CONFIG_H +#ifdef HAVE_CONFIG_H #include #endif + +#ifdef HAVE_STDINT_H #include +#elif HAVE_INTTYPES_H +#include +#endif + #include #include #include @@ -31,7 +37,7 @@ optimized libraries to fine-tune the memory allocation. #+begin_src c :tangle (eval c_test) :noweb yes #include "qmckl.h" #include "munit.h" -#if HAVE_CONFIG_H +#ifdef HAVE_CONFIG_H #include #endif #include "qmckl_context_private_type.h" diff --git a/src/qmckl_numprec.org b/src/qmckl_numprec.org index 57872b3..2e83917 100644 --- a/src/qmckl_numprec.org +++ b/src/qmckl_numprec.org @@ -7,7 +7,7 @@ #+begin_src c :tangle (eval c_test) :noweb yes #include "qmckl.h" #include "munit.h" -#if HAVE_CONFIG_H +#ifdef HAVE_CONFIG_H #include #endif MunitResult test_<>() { @@ -17,14 +17,24 @@ MunitResult test_<>() { #ifndef QMCKL_NUMPREC_HPT #define QMCKL_NUMPREC_HPT +#ifdef HAVE_STDINT_H #include +#elif HAVE_INTTYPES_H +#include +#endif #+end_src #+begin_src c :tangle (eval c) -#if HAVE_CONFIG_H +#ifdef HAVE_CONFIG_H #include #endif + +#ifdef HAVE_STDINT_H #include +#elif HAVE_INTTYPES_H +#include +#endif + #include #include #include diff --git a/src/test_qmckl.org b/src/test_qmckl.org index 7936d12..52f8fec 100644 --- a/src/test_qmckl.org +++ b/src/test_qmckl.org @@ -82,7 +82,7 @@ echo "#+end_src" #include "qmckl.h" #include "munit.h" #include "mcheck.h" -#if HAVE_CONFIG_H +#ifdef HAVE_CONFIG_H #include #endif <> diff --git a/tools/Building.org b/tools/Building.org index d07b452..2cfa91c 100644 --- a/tools/Building.org +++ b/tools/Building.org @@ -104,17 +104,17 @@ HAS_CPPCHECK = @HAS_CPPCHECK@ srcdir = @srcdir@ VPATH = @srcdir@ -QMCKL_ROOT=$(srcdir)/.. -shared_lib=$(QMCKL_ROOT)/lib/libqmckl.so -static_lib=$(QMCKL_ROOT)/lib/libqmckl.a -qmckl_h=$(QMCKL_ROOT)/include/qmckl.h -qmckl_f=$(QMCKL_ROOT)/share/qmckl/fortran/qmckl_f.f90 +top_srcdir=$(srcdir)/.. +shared_lib=$(top_srcdir)/lib/libqmckl.so +static_lib=$(top_srcdir)/lib/libqmckl.a +qmckl_h=$(top_srcdir)/include/qmckl.h +qmckl_f=$(top_srcdir)/share/qmckl/fortran/qmckl_f.f90 -export CC CFLAGS DEFS FC FCFLAGS LIBS QMCKL_ROOT +export CC CFLAGS DEFS FC FCFLAGS LIBS top_srcdir -ORG_SOURCE_FILES=$(wildcard $(QMCKL_ROOT)/*.org) +ORG_SOURCE_FILES=$(wildcard $(srcdir)/*.org) C_SOURCE_FILES=$(patsubst %.org,%.c,$(ORG_SOURCE_FILES)) -INCLUDE=-I$(QMCKL_ROOT)/include/ +INCLUDE=-I$(top_srcdir)/include/ #+end_src *** Rules @@ -133,7 +133,7 @@ install uninstall: Makefile.generated $(MAKE) -f Makefile.generated $@ $(qmckl_f) $(qmckl_h): Makefile.generated - $(QMCKL_ROOT)/tools/build_qmckl_h.sh + $(top_srcdir)/tools/build_qmckl_h.sh shared: $(shared_lib) static: $(static_lib) @@ -151,7 +151,7 @@ cppcheck: endif doc: $(ORG_SOURCE_FILES) - $(QMCKL_ROOT)/tools/build_doc.sh + $(top_srcdir)/tools/build_doc.sh clean: - $(MAKE) -f Makefile.generated clean @@ -161,11 +161,11 @@ clean: Makefile.generated *.html *.txt veryclean: clean FORCE - - $(RM) $(QMCKL_ROOT)/share/doc/qmckl/html/*.html \ - $(QMCKL_ROOT)/share/doc/qmckl/text/*.txt + - $(RM) $(top_srcdir)/share/doc/qmckl/html/*.html \ + $(top_srcdir)/share/doc/qmckl/text/*.txt -Makefile.generated.in: Makefile $(QMCKL_ROOT)/tools/create_makefile.sh $(ORG_SOURCE_FILES) ../tools/Building.org - $(QMCKL_ROOT)/tools/create_makefile.sh +Makefile.generated.in: Makefile $(top_srcdir)/tools/create_makefile.sh $(ORG_SOURCE_FILES) $(top_srcdir)/tools/Building.org + $(top_srcdir)/tools/create_makefile.sh Makefile.generated: Makefile.generated.in cd .. ; ./config.status @@ -173,7 +173,7 @@ Makefile.generated: Makefile.generated.in .SUFFIXES: .org .c .org.c: - $(QMCKL_ROOT)/tools/tangle.sh $< + $(top_srcdir)/tools/tangle.sh $< #+end_src @@ -197,8 +197,8 @@ OUTPUT=Makefile.generated.in We start by tangling all the org-mode files. #+begin_src bash -${QMCKL_ROOT}/tools/tangle.sh *.org -${QMCKL_ROOT}/tools/build_qmckl_h.sh +${top_srcdir}/tools/tangle.sh *.org +${top_srcdir}/tools/build_qmckl_h.sh #+end_src Then we create the list of ~*.o~ files to be created, for library @@ -239,14 +239,18 @@ cat << EOF > ${OUTPUT} .POSIX: .SUFFIXES: -package = @PACKAGE_TARNAME@ -version = @PACKAGE_VERSION@ +package = @PACKAGE_TARNAME@ +version = @PACKAGE_VERSION@ + +# VPATH-related substitution variables +srcdir = @srcdir@ +VPATH = @srcdir@ prefix = @prefix@ CC = @CC@ DEFS = @DEFS@ -CFLAGS = @CFLAGS@ -I../munit/ -I../include -I. -I\$(srcdir) +CFLAGS = @CFLAGS@ -I\$(top_srcdir)/munit/ -I\$(top_srcdir)/include -I. CPPFLAGS = @CPPFLAGS@ LIBS = @LIBS@ @@ -262,6 +266,7 @@ LIBS = @LIBS@ FCLIBS = @FCLIBS@ EOF +export echo ' <> ' >> ${OUTPUT} @@ -272,12 +277,12 @@ and the rules: #+NAME: rules #+begin_src makefile :tangle no -QMCKL_ROOT=.. -shared_lib=$(QMCKL_ROOT)/lib/libqmckl.so -static_lib=$(QMCKL_ROOT)/lib/libqmckl.a -qmckl_h=$(QMCKL_ROOT)/include/qmckl.h -qmckl_f=$(QMCKL_ROOT)/share/qmckl/fortran/qmckl_f.f90 -munit=$(QMCKL_ROOT)/munit/munit.c +top_srcdir=$(srcdir)/.. +shared_lib=$(top_srcdir)/lib/libqmckl.so +static_lib=$(top_srcdir)/lib/libqmckl.a +qmckl_h=$(top_srcdir)/include/qmckl.h +qmckl_f=$(top_srcdir)/share/qmckl/fortran/qmckl_f.f90 +munit=$(top_srcdir)/munit/munit.c datarootdir=$(prefix)/share datadir=$(datarootdir) @@ -312,7 +317,7 @@ test_qmckl: test_qmckl.c $(qmckl_h) $(static_lib) $(TESTS) $(TESTS_F) test_qmckl_shared: test_qmckl.c $(qmckl_h) $(shared_lib) $(TESTS) $(TESTS_F) $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) \ - -Wl,-rpath,$(QMCKL_ROOT)/lib -L$(QMCKL_ROOT)/lib $(munit) $(TESTS) \ + -Wl,-rpath,$(top_srcdir)/lib -L$(top_srcdir)/lib $(munit) $(TESTS) \ $(TESTS_F) -lqmckl $(LIBS) $(FCLIBS) test_qmckl.c -o $@ check: test_qmckl test_qmckl_shared @@ -334,9 +339,9 @@ install: install $(static_lib) $(DESTDIR)$(libdir)/ install $(qmckl_h) $(DESTDIR)$(includedir) install $(qmckl_f) $(DESTDIR)$(fortrandir) - install $(QMCKL_ROOT)/share/doc/qmckl/html/*.html $(DESTDIR)$(docdir)/html/ - install $(QMCKL_ROOT)/share/doc/qmckl/html/*.css $(DESTDIR)$(docdir)/html/ - install $(QMCKL_ROOT)/share/doc/qmckl/text/*.txt $(DESTDIR)$(docdir)/text/ + install $(top_srcdir)/share/doc/qmckl/html/*.html $(DESTDIR)$(docdir)/html/ + install $(top_srcdir)/share/doc/qmckl/html/*.css $(DESTDIR)$(docdir)/html/ + install $(top_srcdir)/share/doc/qmckl/text/*.txt $(DESTDIR)$(docdir)/text/ uninstall: rm $(DESTDIR)$(libdir)/libqmckl.so @@ -389,7 +394,7 @@ function tangle() elif [[ ${org_file} -ot ${f_file} ]] ; then return fi - emacs --batch ${org_file} --load=../tools/config_tangle.el -f org-babel-tangle + emacs --batch ${org_file} --load=${top_srcdir}/tools/config_tangle.el -f org-babel-tangle } for i in $@ @@ -445,7 +450,7 @@ done Generate C header file #+begin_src bash -OUTPUT="../include/qmckl.h" +OUTPUT="${top_srcdir}/include/qmckl.h" cat << EOF > ${OUTPUT} /* @@ -478,7 +483,7 @@ EOF HEADERS_TYPE="qmckl_*_fh_type.f90" HEADERS="qmckl_*_fh_func.f90" -OUTPUT="../share/qmckl/fortran/qmckl_f.f90" +OUTPUT="${top_srcdir}/share/qmckl/fortran/qmckl_f.f90" cat << EOF > ${OUTPUT} ! ! <> @@ -510,11 +515,11 @@ EOF First define readonly global variables. #+begin_src bash :noweb yes -readonly DOCS=${QMCKL_ROOT}/share/doc/qmckl/ -readonly SRC=${QMCKL_ROOT}/src/ +readonly DOCS=${top_srcdir}/share/doc/qmckl/ +readonly SRC=${top_srcdir}/src/ readonly HTMLIZE=${DOCS}/html/htmlize.el -readonly CONFIG_DOC=${QMCKL_ROOT}/tools/config_doc.el -readonly CONFIG_TANGLE=${QMCKL_ROOT}/tools/config_tangle.el +readonly CONFIG_DOC=${top_srcdir}/tools/config_doc.el +readonly CONFIG_TANGLE=${top_srcdir}/tools/config_tangle.el #+end_src Check that all the defined global variables correspond to files. @@ -522,9 +527,9 @@ readonly CONFIG_TANGLE=${QMCKL_ROOT}/tools/config_tangle.el #+begin_src bash :noweb yes function check_preconditions() { - if [[ -z ${QMCKL_ROOT} ]] + if [[ -z ${top_srcdir} ]] then - print "QMCKL_ROOT is not defined" + print "top_srcdir is not defined" exit 1 fi diff --git a/tools/build_doc.sh b/tools/build_doc.sh index ceef3e8..53e2bb8 100755 --- a/tools/build_doc.sh +++ b/tools/build_doc.sh @@ -7,11 +7,11 @@ # First define readonly global variables. -readonly DOCS=${QMCKL_ROOT}/share/doc/qmckl/ -readonly SRC=${QMCKL_ROOT}/src/ +readonly DOCS=${top_srcdir}/share/doc/qmckl/ +readonly SRC=${top_srcdir}/src/ readonly HTMLIZE=${DOCS}/html/htmlize.el -readonly CONFIG_DOC=${QMCKL_ROOT}/tools/config_doc.el -readonly CONFIG_TANGLE=${QMCKL_ROOT}/tools/config_tangle.el +readonly CONFIG_DOC=${top_srcdir}/tools/config_doc.el +readonly CONFIG_TANGLE=${top_srcdir}/tools/config_tangle.el @@ -20,9 +20,9 @@ readonly CONFIG_TANGLE=${QMCKL_ROOT}/tools/config_tangle.el function check_preconditions() { - if [[ -z ${QMCKL_ROOT} ]] + if [[ -z ${top_srcdir} ]] then - print "QMCKL_ROOT is not defined" + print "top_srcdir is not defined" exit 1 fi diff --git a/tools/build_qmckl_h.sh b/tools/build_qmckl_h.sh index ef0458e..0df8b4d 100755 --- a/tools/build_qmckl_h.sh +++ b/tools/build_qmckl_h.sh @@ -32,7 +32,7 @@ done # Generate C header file -OUTPUT="../include/qmckl.h" +OUTPUT="${top_srcdir}/include/qmckl.h" cat << EOF > ${OUTPUT} /* @@ -105,7 +105,7 @@ EOF HEADERS_TYPE="qmckl_*_fh_type.f90" HEADERS="qmckl_*_fh_func.f90" -OUTPUT="../share/qmckl/fortran/qmckl_f.f90" +OUTPUT="${top_srcdir}/share/qmckl/fortran/qmckl_f.f90" cat << EOF > ${OUTPUT} ! ! ------------------------------------------ diff --git a/tools/create_makefile.sh b/tools/create_makefile.sh index 7496818..721d801 100755 --- a/tools/create_makefile.sh +++ b/tools/create_makefile.sh @@ -20,8 +20,8 @@ OUTPUT=Makefile.generated.in # We start by tangling all the org-mode files. -${QMCKL_ROOT}/tools/tangle.sh *.org -${QMCKL_ROOT}/tools/build_qmckl_h.sh +${top_srcdir}/tools/tangle.sh *.org +${top_srcdir}/tools/build_qmckl_h.sh @@ -66,14 +66,18 @@ cat << EOF > ${OUTPUT} .POSIX: .SUFFIXES: -package = @PACKAGE_TARNAME@ -version = @PACKAGE_VERSION@ +package = @PACKAGE_TARNAME@ +version = @PACKAGE_VERSION@ + +# VPATH-related substitution variables +srcdir = @srcdir@ +VPATH = @srcdir@ prefix = @prefix@ CC = @CC@ DEFS = @DEFS@ -CFLAGS = @CFLAGS@ -I../munit/ -I../include -I. -I\$(srcdir) +CFLAGS = @CFLAGS@ -I\$(top_srcdir)/munit/ -I\$(top_srcdir)/include -I. CPPFLAGS = @CPPFLAGS@ LIBS = @LIBS@ @@ -89,13 +93,14 @@ LIBS = @LIBS@ FCLIBS = @FCLIBS@ EOF +export echo ' -QMCKL_ROOT=.. -shared_lib=$(QMCKL_ROOT)/lib/libqmckl.so -static_lib=$(QMCKL_ROOT)/lib/libqmckl.a -qmckl_h=$(QMCKL_ROOT)/include/qmckl.h -qmckl_f=$(QMCKL_ROOT)/share/qmckl/fortran/qmckl_f.f90 -munit=$(QMCKL_ROOT)/munit/munit.c +top_srcdir=$(srcdir)/.. +shared_lib=$(top_srcdir)/lib/libqmckl.so +static_lib=$(top_srcdir)/lib/libqmckl.a +qmckl_h=$(top_srcdir)/include/qmckl.h +qmckl_f=$(top_srcdir)/share/qmckl/fortran/qmckl_f.f90 +munit=$(top_srcdir)/munit/munit.c datarootdir=$(prefix)/share datadir=$(datarootdir) @@ -130,7 +135,7 @@ test_qmckl: test_qmckl.c $(qmckl_h) $(static_lib) $(TESTS) $(TESTS_F) test_qmckl_shared: test_qmckl.c $(qmckl_h) $(shared_lib) $(TESTS) $(TESTS_F) $(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) \ - -Wl,-rpath,$(QMCKL_ROOT)/lib -L$(QMCKL_ROOT)/lib $(munit) $(TESTS) \ + -Wl,-rpath,$(top_srcdir)/lib -L$(top_srcdir)/lib $(munit) $(TESTS) \ $(TESTS_F) -lqmckl $(LIBS) $(FCLIBS) test_qmckl.c -o $@ check: test_qmckl test_qmckl_shared @@ -152,9 +157,9 @@ install: install $(static_lib) $(DESTDIR)$(libdir)/ install $(qmckl_h) $(DESTDIR)$(includedir) install $(qmckl_f) $(DESTDIR)$(fortrandir) - install $(QMCKL_ROOT)/share/doc/qmckl/html/*.html $(DESTDIR)$(docdir)/html/ - install $(QMCKL_ROOT)/share/doc/qmckl/html/*.css $(DESTDIR)$(docdir)/html/ - install $(QMCKL_ROOT)/share/doc/qmckl/text/*.txt $(DESTDIR)$(docdir)/text/ + install $(top_srcdir)/share/doc/qmckl/html/*.html $(DESTDIR)$(docdir)/html/ + install $(top_srcdir)/share/doc/qmckl/html/*.css $(DESTDIR)$(docdir)/html/ + install $(top_srcdir)/share/doc/qmckl/text/*.txt $(DESTDIR)$(docdir)/text/ uninstall: rm $(DESTDIR)$(libdir)/libqmckl.so diff --git a/tools/tangle.sh b/tools/tangle.sh index 1615465..17eb484 100755 --- a/tools/tangle.sh +++ b/tools/tangle.sh @@ -31,7 +31,7 @@ function tangle() elif [[ ${org_file} -ot ${f_file} ]] ; then return fi - emacs --batch ${org_file} --load=../tools/config_tangle.el -f org-babel-tangle + emacs --batch ${org_file} --load=${top_srcdir}/tools/config_tangle.el -f org-babel-tangle } for i in $@