$Id: INSTALL,v 1.10 2009-03-28 17:25:48 mucci Exp $ Building monitor --------------- > make [optional args] install Where args are: (defaults in parenthesis) CC=C compiler (gcc) CFLAGS=C compiler flags (-g -O -Wall) PREFIX= (/usr) EXECPREFIX= (PREFIX) BINDIR= (PREFIX/bin) INCDIR= (PREFIX/lib) LIBDIR= (PREFIX/include) MANDIR= (PREFIX/share/man) DOCDIR= (PREFIX/share/monitor-VERSION/doc) These arguments mirror GNU configure standards. Monitor also honors the DESTDIR environment variable, for moving an installation to a temporary holding area. This is useful for preparing distributions. i.e. to stage a root FS build (/usr/bin) into (/tmp/root) > make DESTDIR=/tmp/root PREFIX=/usr > make DESTDIR=/tmp/root PREFIX=/usr install Build options ------------- These are set at the top of the top level Makefile in the DEFINES line. HAVE_MPI Monitor can intercept MPI initialization and finalization, which is very useful. If you don't have MPI, please remove this. If you do have MPI, but your include files are not in the standard search path, please use: > make CC=mpicc or > make CC="compiler -I/path/to/mpi/includes" USE_PTHREAD_CLEANUP_PUSH_POP Currently monitor makes use of pthread_cleanup_push/pop. These functions are actually macros which call functions in the pthread library. As a result, any exe linked with libmonitor needs to be linked with some sort of pthreads library. To get rid of this behavior, remove the USE_PTHREAD_CLEANUP_PUSH_POP from Rules.gmake. The consequences? You will not currently be able to catch the completion of threads that call pthread_exit. Testing monitor --------------- Quickly: > make quicktest Slowly: > make test Bug report: > make test.output Mail that file and any *.out files from the test directory to the developers. If any of the tests fail, please see the runtests-debug.out file in the architecture specific/tests directory.