Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. GNU Make is the de facto standard build tool for software projects developed on and for Linux environments. It relies on a makefile, by default named Makefile, which contains the rules (including the sequence of commands, environment variables, options) that tell Make how to generate an executable from a source code.
  2. The configure script is often used to automate the retrieval of system and user information before the compilation and linking steps are performed. It generates a tailored Makefile starting from a general template and the collected information.
  3. CMake, not to be confused with GNU Make, is a meta-build tool that uses system-independent and compiler-independent configuration files to generate specific build scripts for a range of system-specific build tools, including GNU Make.

Steps

Info
titleRecommended location for manual software builds

To keep your software organised, we recommend the following locations for your manual software installations:

  • Software: /software/projects/<project-id>/<user-name>/manual/software/
  • Modulefiles: /software/projects/<project-id>/<user-name>/manual/modules/

The process of building software starts with obtaining and unpacking its source code into a directory, which from now on is referred to as $ROOT_DIR.

...

The software you have built is now located at the installation path. See the Next Steps section for what to do next in order to use it.

Example

...

titleRecommended location for manual software builds

To keep your software organised, we recommend the following locations for your manual software installations:

...

This example shows how to build gromacs/2021.4 on Setonix using CMake. Although the application is available through Spack, sometimes users need a custom build with particular patches or flags.

...