Overview Contents Previous Next Geant4 User's Guide
For Application Developers
Getting Started with Geant4


2.7 How to Make an Executable Program


2.7.1 Building ExampleN01 in a UNIX Environment

The code for the user examples in Geant4 is placed in the directory $G4INSTALL/examples, where $G4INSTALL is the environment variable set to the place where the Geant4 distribution is installed (set by default to $HOME/geant4). In the following sections, a quick overview on how the GNUmake mechanism works in Geant4 will be given, and we will show how to build a concrete example, "ExampleN01", which is part of the Geant4 distribution.

2.7.1.1 How GNUmake works in Geant4

The GNUmake process in Geant4 is mainly controlled by the following GNUmake script files
(*.gmk scripts are placed in $G4INSTALL/config):
architecture.gmk invoking and defining all the architecture specific settings and paths which are stored in $G4INSTALL/config/sys.
common.gmk defining all general GNUmake rules for building objects and libraries
globlib.gmk defining all general GNUmake rules for building compound libraries
binmake.gmk defining the general GNUmake rules for building executables
GNUmakefile placed inside each directory in the Geant4 distribution and defining directives specific to build a library, a set of sub-libraries, or an executable.

Kernel libraries are placed by default in $G4INSTALL/lib/$G4SYSTEM, where $G4SYSTEM specifies the system architecture and compiler in use. Executable binaries are placed in $G4WORKDIR/bin/$G4SYSTEM, and temporary files (object-files and data products of the compilation process) in $G4WORKDIR/tmp/$G4SYSTEM. $G4WORKDIR (set by default to $G4INSTALL) should be set by the user to specify the place his/her own workdir for Geant4 in the user area.

For more information on how to build Geant4 kernel libraries and set up the correct environment for Geant4, refer to the "Installation Guide".

2.7.1.2 Building the executable

The compilation process to build an executable, such as an example from $G4INSTALL/examples, is started by invoking the "gmake" command from the (sub)directory in which you are interested. To build, for instance, exampleN01 in your $G4WORKDIR area, you should copy the module $G4INSTALL/examples to your $G4WORKDIR and do the following actions:
  > cd $G4WORKDIR/examples/novice/N01
  > gmake
This will create, in $G4WORKDIR/bin/$G4SYSTEM, the "exampleN01" executable, which you can invoke and run. You should actually add $G4WORKDIR/bin/$G4SYSTEM to $PATH in your environment.


2.7.2 Building ExampleN01 in a Windows Environment

The procedure to build a Geant4 executable on a system based on a Windows system is similar to what should be done on a UNIX based system, assuming that your system is equipped with GNUmake, MS-Visual C++ compiler and the required software to run Geant4 (see "Installation Guide").

2.7.2.1 Building the executable

See paragraph 2.7.1.


About the authors