Zoltan Developer's Guide  |  Next  |  Previous

Compilation and Makefiles

The Zoltan distribution includes a main (top-level) makefile with targets for the Zoltan library, the test driver programs, and some graphical tools. When the library is compiled for a specific target platform, A, the top-level makefile obtains platform-specific values for platform A from the configuration file Utilities/Config/Config.A.  This file should be edited to reflect the environment of the target platform A.  A subdirectory, Obj_A, is created, and makefile_sub is copied into that directory for use by gmake.

New source code files are added to the Zoltan makefiles in two ways. Files added to existing directories are added to the source files listed in the "<directory_name>_CSRC" and "<directory_name>_INC" variables in zoltan/src/makefile, where <directory_name> corresponds to the existing Zoltan directory name; the files will then be included in the compilation of Zoltan. For new source code files in new directories, new variables "<directory_name>_CSRC" and "<directory_name>_INC" should be added to zoltan/src/makefile. These variables should also be included in the "ZOLTAN_CSRC" variable and in the zscript target. The variables "ALL_CSRC" and "ALL_INC" can be used as examples.

New algorithms can be added as separate libraries with which Zoltan may link. The implementation of the ParMETIS interface in Zoltan can serve as an example. Within the Utilities/Config files, pathnames for the new libraries and their include files can be specified. Within zoltan/src/makefile, tests should be added for the definition of these paths. If they are defined, appropriate information should be added to the THIRD_PARTY_LIBS, THIRD_PARTY_LIBPATH, and THIRD_PARTY_INCPATH variables in zoltan/src/makefile.



[Table of Contents  |  Next:  Zoltan Interface and Data Structures  |  Previous:  Layout of Directories]