/ Installation / Fundamentals / Production / Tutorials / Software / Home
1.5.2 Compilation: Make
Section 1.5.2: Make
One important feature of our software is that it has built in diagnostics. Verifying an installation is as simple as typing make test. Once you have completed the configuration process described in the previous section, follow the steps shown below to compile it.
  1. First change to the directory that you created when you initialized your repository:

      cd isip

       
  2. Then execute the following commands (the results of each command can be viewed by clicking on the link to the right of the command): Note that GNU make is generally run with the utility "gmake" but it may be "make" on your machine.

  3. Optionally, you can run a test suite to verify your installation by typing:

Note that these scripts do not work with gmake v3.77 (for Solaris 2.6 or higher) which has a known bug related to long filename extensions. We require gmake v3.78 or greater. Use "make --version" to test if you have the proper version of GNU make.
Section 1.5.2: Make

GNU make supports a very nice implementation of parallel processing through the use of a command line flag:

    gmake -jN
The "-j" option instructs make to split the make job across N processors. This can significantly speed up the make process, especially on a multiprocessor machine. For reasons that are beyond the scope of this tutorial, we find that setting N equal to twice the number of processors is a good way to optimize performance (e.g., "gmake -j4" for a machine with two processors).

Building the software with a parallel make is best done as follows:

    cd isip;
    make depend;
    cd class;
    gmake -j4;
    gmake install;
    cd ../util; gmake -j4;
    gmake install;
    cd ../;
    gmake install;
assuming a two processor machine. Parallel makes run into some concurrency problems since the same library can be accessed by multiple threads of the make. The above steps avoid such problems.
   
Table of Contents   Section Contents   Previous Page Up Next Page
      Glossary / Help / Support / Site Map / Contact Us / ISIP Home