3 Makefile System
The makefile system of gamess-component-$VERSION is based on the makefile system of the CCA Toolkit template. We list most of makefiles and shell scripts, describe the purpose and our modification of those files for maintainance and upgrating.
- configure.in
autoconf processes ”configure.in” to produce a ”configure” script. ”configure” is a portable shell script which examines the build environment to determine which libraries are available, which features the platform has, where the libraries and headers are located, and so on [link]. If you need to add or delete an option, just edit ”configure.in” and use autoconf command to generate ”configure” shell script (you must have autoconf installed on your system).
- MakeIncl.user.in
”configure” shell script generates ”MakeIncl.user” from the input file ”MakeIncl.user.in”, where the path variables are specified with actuall locations. ”MakeIncl.user” is included by most of Makefile and shell scripts.
- Makefile
This makefile compiles the gamess-component package. The ”SUBDIRS” list decides which subdirectories the makefile will access and compile. Some customed rules can be added to this makefile. For example, we add ”.legacy” rule for compiling the GAMESS and DDI source codes.
- legacy/Makefile
legacy/gamess/Makefile
legacy/ddi/Makefile
Those makefiles are created for compiling GAMESS, GAMESS wrapper and DDI source code and linking the generated object files to static libraries.
- legacy/ddi/compddi
legacy/gamess/comp
legacy/gamess/compall
legacy/gamess/comp-wrapper
Those shell scripts are copied from GAMESS source with minor modification for compiling GAMESS, GAMESS wrapper and DDI source code.
- components/Makefile
This makefile compile the server-side implemenation files and generate shared libraries.
- components/MakeIncl_template.user
Some user defined variables could be here for generating MakeIncl.user under each server-side subdirectory, such as components/GAMESS/cxx and components/drivers/cxx.
- components/MakeIncl.component
Define component with appropriate implementation languages here.
- ports/Makefile
This makefile generates client-side files from the defined sidl interfaces.
- ports/MakeIncl_template.user
Some user defined variables could be here for generating MakeIncl.user under each client-side subdirectory, such as ports/gaussianbasis/cxx and ports/drivers/cxx.
- utils/Makefile_template.client
utils/Makefile_template.server
Templates for generating makefiles under client-side subdirectory, such as ports/gaussianbasis/cxx and server-side subdirectory, such as compnents/GAMESS/cxx.