The setup script, found in the FLASH root directory, provides the primary command-line interface to configuring the FLASH source code. It is important to remember that the FLASH code is not a single application, but a set of independent code units which can be put together in various combinations to create a multitude of different simulations. It is through the setup script that the user controls how the various units are assembled.
The primary job of the setup script is to
More description of how setup and the FLASH4 architecture interact may be found in Chp:Architecture. Here we describe its usage.
The setup script determines site-dependent configuration information
by looking for a directory
sites/<hostname> where <hostname>
is the hostname of the machine on which FLASH is running.5.1 Failing this, it looks in
sites/Prototypes/ for a directory with the same name as the output
of the uname command. The site and operating system type can be
overridden with the -site and -ostype command-line options to
the setup command.
Only one of these options can be used at one time.
The directory for each site and operating system type contains a makefile
fragment Makefile.h that sets command names, compiler flags,
library paths, and any replacement or additional source files needed
to compile FLASH for that specific machine and machine type.
The setup script uses the contents of the problem directory and the site/OS type, together with a Units file, to generate the object/ directory, which contains links to the appropriate source files and makefile fragments. The Units file lists the names of all units which need to be included while building the FLASH application. This file is automatically generated when the user commonly provides the command-line -auto option, although it may be assembled by hand. When -auto option is used, the setup script starts with the Config file of the problem specified, finds its REQUIRED units and then works its way through their Config files. This process continues until all the dependencies are met and a self-consistent set of units has been found. At the end of this automatic generation, the Units file is created and placed in the object/ directory, where it can be edited if necessary. setup also creates the master makefile (object/Makefile) and several FORTRAN include files that are needed by the code in order to parse the runtime parameters. After running setup, the user can create the FLASH executable by running make in the object directory. Note that the FLASH build system assumes that the command make invokes GNU Make and is unlikely to work properly with other implementations of the make command. On some systems it may be necessary to invoke GNU Make under the name gmake.
./setup -auto <problem-name>
one can just say
./setup -a <problem-name>
since there is only one setup
option starting with a.
./setup -a Isen -unit=sou<TAB>rce/IO/IOM<TAB>ain/hd<TAB>f5