From 79886d653b29ba36e443ccc897fc1282a198a078 Mon Sep 17 00:00:00 2001
From: "Kurt A. O'Hearn" <ohearnku@cse.msu.edu>
Date: Tue, 6 Sep 2016 09:26:55 -0400
Subject: [PATCH] Update autotools config to distribute headers. Fix doc build
 target to be opt-in.

---
 Makefile.am            | 11 ++++++++++-
 PG-PuReMD/Makefile.am  | 17 +++++++++++++++++
 PuReMD-GPU/Makefile.am | 12 ++++++++++++
 PuReMD/Makefile.am     |  8 ++++++++
 configure.ac           | 14 ++++++++------
 sPuReMD/Makefile.am    |  8 ++++++++
 6 files changed, 63 insertions(+), 7 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 407d10df..f777f20c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,22 +1,31 @@
 ACLOCAL_AMFLAGS = -I m4
 
 SUBDIRS =
+DIST_SUBDIRS =
 
 if BUILD_S_OMP
 SUBDIRS += sPuReMD
+DIST_SUBDIRS += sPuReMD
 endif
 if BUILD_MPI
 SUBDIRS += PuReMD
+DIST_SUBDIRS += PuReMD
 endif
 if BUILD_GPU
 SUBDIRS += PuReMD-GPU
+DIST_SUBDIRS += PuReMD-GPU
 endif
 if BUILD_MPI_GPU
 SUBDIRS += PG-PuReMD
+DIST_SUBDIRS += PG-PuReMD
 endif
 
 if BUILD_DOC
 SUBDIRS += doc
+DIST_SUBDIRS += doc
 endif
 
-dist-hook: rm -rf `find $(distdir) -name .git`
+EXTRA_DIST = data environ tools
+
+dist-hook:
+	rm -rf `find $(distdir) -name .git`
diff --git a/PG-PuReMD/Makefile.am b/PG-PuReMD/Makefile.am
index 3d61101e..9c177cd8 100644
--- a/PG-PuReMD/Makefile.am
+++ b/PG-PuReMD/Makefile.am
@@ -28,6 +28,14 @@ bin_pg_puremd_SOURCES = src/allocate.c src/basic_comm.c src/ffield.c src/grid.c
 	src/qEq.c src/bond_orders.c src/multi_body.c src/bonds.c src/valence_angles.c \
 	src/hydrogen_bonds.c src/torsion_angles.c src/nonbonded.c src/forces.c \
 	src/integrate.c src/init_md.c src/parallelreax.c
+include_HEADERS = src/reax_defs.h src/reax_types.h \
+        src/allocate.h src/basic_comm.h src/ffield.h src/grid.h src/list.h \
+	src/lookup.h src/io_tools.h src/reset_tools.h src/restart.h src/random.h \
+	src/tool_box.h src/traj.h src/analyze.h src/box.h src/system_props.h \
+	src/control.h src/comm_tools.h src/geo_tools.h src/linear_solvers.h src/neighbors.h \
+	src/qEq.h src/bond_orders.h src/multi_body.h src/bonds.h src/valence_angles.h \
+	src/hydrogen_bonds.h src/torsion_angles.h src/nonbonded.h src/forces.h \
+	src/integrate.h src/init_md.h
 bin_pg_puremd_LDADD = src/vector.o
 
 if USE_CUDA
@@ -40,6 +48,15 @@ bin_pg_puremd_SOURCES += src/cuda_utils.cu src/dev_alloc.cu src/cuda_environment
       src/cuda_qEq.cu src/cuda_linear_solvers.cu src/matvec.cu src/dual_matvec.cu \
       src/cuda_nonbonded.cu src/cuda_integrate.cu src/cuda_post_evolve.cu \
       src/cuda_init_md.cu src/validation.cu src/cuda_lookup.cu
+include_HEADERS += src/cuda_utils.h src/dev_alloc.h src/cuda_environment.h \
+      src/dev_system_props.h src/reduction.h src/center_mass.h \
+      src/cuda_copy.h src/cuda_reset_tools.h src/dev_list.h \
+      src/cuda_neighbors.h src/cuda_bond_orders.h src/cuda_bonds.h \
+      src/cuda_multi_body.h src/cuda_valence_angles.h \
+      src/cuda_torsion_angles.h src/cuda_hydrogen_bonds.h src/cuda_forces.h \
+      src/cuda_qEq.h src/cuda_linear_solvers.h src/matvec.h src/dual_matvec.h \
+      src/cuda_nonbonded.h src/cuda_integrate.h src/cuda_post_evolve.h \
+      src/cuda_init_md.h src/validation.h src/cuda_lookup.h
 
 # dummy source to cause C linking
 nodist_EXTRA_bin_pg_puremd_SOURCES = src/dummy.c
diff --git a/PuReMD-GPU/Makefile.am b/PuReMD-GPU/Makefile.am
index cc3b6a94..e2d60f76 100644
--- a/PuReMD-GPU/Makefile.am
+++ b/PuReMD-GPU/Makefile.am
@@ -28,6 +28,18 @@ bin_puremd_gpu_SOURCES = src/analyze.c src/print_utils.c src/reset_utils.c src/p
 	src/cuda_utils.cu src/cuda_copy.cu src/cuda_init.cu src/reduction.cu \
 	src/center_mass.cu src/helpers.cu src/validation.cu src/matvec.cu
 
+include_HEADERS = src/mytypes.h src/analyze.h src/print_utils.h \
+        src/reset_utils.h src/param.h src/pdb_tools.h \
+	src/GMRES.h src/QEq.h src/allocate.h src/bond_orders.h \
+	src/box.h src/forces.h src/four_body_interactions.h \
+	src/grid.h src/init_md.h src/integrate.h src/list.h \
+	src/lookup.h src/neighbors.h \
+	src/restart.h src/single_body_interactions.h \
+	src/system_props.h src/three_body_interactions.h \
+	src/traj.h src/two_body_interactions.h src/vector.h \
+	src/cuda_utils.h src/cuda_copy.h src/cuda_init.h src/reduction.h \
+	src/center_mass.h src/helpers.h src/validation.h src/matvec.h
+
 # dummy source to cause C linking
 nodist_EXTRA_bin_puremd_gpu_SOURCES = src/dummy.c
 
diff --git a/PuReMD/Makefile.am b/PuReMD/Makefile.am
index 6c248d23..17643df1 100644
--- a/PuReMD/Makefile.am
+++ b/PuReMD/Makefile.am
@@ -8,5 +8,13 @@ bin_puremd_SOURCES = src/allocate.c src/basic_comm.c src/ffield.c src/grid.c src
       src/bonds.c src/valence_angles.c src/hydrogen_bonds.c src/torsion_angles.c src/nonbonded.c src/forces.c \
       src/integrate.c src/init_md.c src/parallelreax.c
 
+include_HEADERS = src/reax_defs.h src/reax_types.h \
+      src/allocate.h src/basic_comm.h src/ffield.h src/grid.h src/list.h src/lookup.h \
+      src/io_tools.h src/reset_tools.h src/restart.h src/random.h src/tool_box.h src/traj.h \
+      src/vector.h src/analyze.h src/box.h src/system_props.h src/control.h src/comm_tools.h \
+      src/geo_tools.h src/linear_solvers.h src/neighbors.h src/qEq.h src/bond_orders.h src/multi_body.h \
+      src/bonds.h src/valence_angles.h src/hydrogen_bonds.h src/torsion_angles.h src/nonbonded.h src/forces.h \
+      src/integrate.h src/init_md.h
+
 bin_puremd_CFLAGS = $(AM_CFLAGS) $(MPI_CFLAGS)
 bin_puremd_LDFLAGS = $(AM_LDFLAGS) $(MPI_LDFLAGS)
diff --git a/configure.ac b/configure.ac
index a7525684..11130d74 100644
--- a/configure.ac
+++ b/configure.ac
@@ -143,14 +143,16 @@ then
 	export BUILD_SUPERLU_MT="${package_superlu_mt}"
 fi
 
+AC_ARG_ENABLE([doc],
+	      [AS_HELP_STRING([--enable-doc],
+			      [enable documentation generation @<:@default: no@:>@])],
+	      [pack_doc_enabled=${enableval}], [pack_doc_enabled=no])
 AC_PROG_PDFLATEX
-AM_CONDITIONAL([BUILD_DOC], [test "x${PDFLATEX}" != "x"])
+AM_CONDITIONAL([BUILD_DOC], [test "x${pack_doc_enabled}" = "xyes" && test "x${PDFLATEX}" != "x"])
+if test "x${pack_doc_enabled}" = "xyes"; then
+	AC_CONFIG_SUBDIRS([doc])
+fi
 
 AC_CONFIG_FILES([Makefile])
 
-if test "x${PDFLATEX}" != "x"
-then
-	AC_CONFIG_FILES([doc/Makefile])
-fi
-
 AC_OUTPUT
diff --git a/sPuReMD/Makefile.am b/sPuReMD/Makefile.am
index 22bfb498..e4f0c7b9 100644
--- a/sPuReMD/Makefile.am
+++ b/sPuReMD/Makefile.am
@@ -8,3 +8,11 @@ bin_spuremd_SOURCES = src/ffield.c src/grid.c src/list.c src/lookup.c src/print_
 		  src/single_body_interactions.c src/two_body_interactions.c \
 		  src/three_body_interactions.c src/four_body_interactions.c src/forces.c \
 		  src/integrate.c src/init_md.c src/testmd.c 
+
+include_HEADERS = src/mytypes.h src/ffield.h src/grid.h src/list.h src/lookup.h src/print_utils.h \
+		  src/reset_utils.h src/restart.h src/random.h src/tool_box.h src/traj.h \
+		  src/vector.h src/allocate.h src/analyze.h src/box.h src/system_props.h src/control.h \
+		  src/geo_tools.h src/neighbors.h src/GMRES.h src/QEq.h src/bond_orders.h \
+		  src/single_body_interactions.h src/two_body_interactions.h \
+		  src/three_body_interactions.h src/four_body_interactions.h src/forces.h \
+		  src/integrate.h src/init_md.h
-- 
GitLab