next up previous
Next: 3 An Example Up: How to Use PRIMEX_MY Previous: 1 Introduction

2 Environment Variables

The PrimEx make scheme depends on a number of environment variables to do its work. These are set up (at JLab) by /group/primex/scripts/primex_jlab (see the usage example in the next section). For this discussion, three of them are especially important:

PRIMEX_BUILD

This variable chooses the public build that will be used to build against, i. e., the place from where most of the code will come. This variable is special in that its value affects others set by primex_jlab. If this variable is changed, primex_jlab must be re-source'd to reset the variables which depend on PRIMEX_BUILD. The default value at JLab is /group/primex/builds/prod, the ``production build''. This default will only be used by primex_jlab if there is no other pre-existing definition. In other words, the pre-existing definition will be respected.

PRIMEX_MY

This variable chooses where the privately built object libraries and binaries will be placed. Libraries are placed in $PRIMEX_MY/$OSNAME/lib and binaries are placed in $PRIMEX_MY/$OSNAME/bin. OSNAME is assumed to be set by the shell. The default value for PRIMEX_MY is

/work/hallb/primex/pdisk/$USER
If a value of PRIMEX_MY is set before sourcing primex_jlab, that pre-existing value will be respected.

PRIMEX_INCLUDE

This variable indicates the directory to use in the include path for compilation. By default, it points to $PRIMEX_BUILD/src/libraries/include. The user can set this to any directory if that default is not desired. primex_jlab resets the value of this variable to the default. Private definitions must be made after sourcing primex_jlab. When using a private definition of PRIMEX_INCLUDE the user must exercise care that all libraries being used were compiled with compatible versions of the include files.


next up previous
Next: 3 An Example Up: How to Use PRIMEX_MY Previous: 1 Introduction
Mark M. Ito 2004-01-22