Build Configuration

The source-code configure script, $JSOCROOT/configure, sets environment variables, make variables, and creates on-the-fly make rules that allow users to localize and/or customize the way the JSOC-SDP code is built. Depending on how the make system is configured with these variables and rules, the user can build NetDRMS or the DRMS used at the JSOC-SDP. And for both builds, the user can customize various details.

There are several files that control configuration. Some files are not to edited by users:

* $JSOC/configureBR

* $JSOC/gen_init.cshBR

This script writes the compiler-configuration make variables to $JSOC/localization/custom.mk.

It also parses the configsdp.txt file's LIBS section, which contains make variables which contain paths to third-party libraries used by the JSOC-SDP DRMS. It writes the make variables into the custom.mk file, which is then included into make_basic.mk, which then override the

This script writes to $JSOC/localization/custom.mk

This script also parses the contents of the MAKE section of config.local. This section contains make variables used for customizing the build. In general, the variables in this section specify the paths to third-party libraries, but it could contain any desired make variable. customizemake.pl writes these variable assignments to custom.mk, which is then included into make_basic.mk, where it can have impact.

This is analogous to the way that moreconfigure.pl parses the contents of the LIBS section of the configsdp.txt file.

Other files are available for the user to edit. These files allow the user to control configuration:

Once the user has modified these configuration files as desired, configuration proceeds when the user runs the $JSOCROOT/configure script. This script first determines if the build to be performed is a JSOC-SDP DRMS build, or a NetDRMS build. If $JSOCROOT/configsdp.txt is present, then it will assume the former, otherwise it will assume the latter. If performing a NetDRMS build, then the script requires that config.local be present. For a JSOC-SDP DRMS build, the presence of this file is NOT required. If it is present, then the contents of that file will customize the JSOC-SDP DRMS build, but if it is absent, then a default build will be performed.

If building NetDRMS, configure first runs gen_init.csh. This will parse the config.local file to produce a NetDRMS-site-specific localization.h file, which then contains parameters, specified by the user, that override the parameters used by the JSOC-SDP. The script then runs moreconfigure.pl,