This topic first describes the high-level sequence of operations for a CBM build. The topic next briefly describes the function of each script in the CBM suite, with each script name a link to a more detailed description of the script and its arguments.
The illustration below shows the high-level sequence of a CBM build.
A library build proceeds as follows:
rwsetup
checks whether operating system and compiler information has been previously generated and, if not, exercises the compiler to determine its capabilities and limitations. Then one or more suitable makefiles is generated based on product-specific requirements, the build configuration, and user-specified options. During this phase, a workspace is created if necessary, and a buildloc/<part>
directory within the workspace, to receive the makefiles and various configuration files created in this phase.
rw
directory in the workspace. If the -l
flag is set, the implementation source files are exported to the buildloc/<part>
directory.
<workspace>/buildloc/<part>
directory.
This section briefly describes the scripts used in the configuration and build process, all of which can be found in <spm_root>/scripts
. Knowledge of these scripts is unnecessary for normal rwspm
-directed builds. We advise you not to modify these scripts without first talking with Rogue Wave Technical Support.
rwsetup
config.dat
to the build-specific workspace associated with the build. Future builds with the same build configuration can use the existing config.dat
rather than rerunning the compiler exercises. rwsetup
also creates the files rwsetup.spm
, compiler.h
, and stdcomp.h
as required. Rogue Wave strongly advises against altering these files. Problems with builds performed through the SPM GUI interface are the likely result.genmake
makefile
template and modifying it as needed for the requirements of the specific build.rwinstal
<rw_root>/<workspace>/examples/<part>
.rwbuild
genmake
. The build takes place in <rw_root>/<workspace>/buildloc/<part>
for a library build, or in <rw_root>/<workspace>/examples/<part>
for an executable build.rwclean
make clean
command, thus guaranteeing that the library truly gets rebuilt.