$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.