Skip to content

Adding or removing source files

John Peterson edited this page Sep 11, 2017 · 7 revisions

When adding or removing .h or .C files in libMesh, use the following procedure.

Set up the GNU autotools

First, you must follow the instructions for setting up the libmesh-specific autotools.

If Adding New Directories

If new directories with source/header files were added, update the respective shell scripts that detect these files:

$LIBMESH_SRC/include/rebuild_libmesh_HEADERS.sh (new header directories)
$LIBMESH_SRC/src/rebuild_libmesh_SOURCES.sh (new source directories)

If Adding New Files

To update the list of source and header files, run these commands:

cd $LIBMESH_SRC
cd include && ./rebuild_include_HEADERS.sh
cd ..
cd src && ./rebuild_libmesh_SOURCES.sh
cd ..
cd include/libmesh && ./rebuild_makefile.sh
cd -
git commit -am"Update Makefile.am files."
./bootstrap
git commit -am"Run bootstrap."

Note that include/libmesh/rebuild_makefile.sh uses /bin/sh, which might produce undesirable artifacts on some systems (e.g., -n in place of newline characters). If that happens, you might notice a large diff in Makefile.am related to BUILT_SOURCES. In that case use

bash ./rebuild_makefile.sh

in the above.