Wmake

From OpenFOAMWiki
Revision as of 13:03, 19 April 2007 by Mattijs (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Valid versions: OF version 14.png

wmake tips:

- all invocations can have an optional directory:

 wmake $FOAM_UTILITIES/mesh/manipulation/checkMesh
 wmake libso $FOAM_SRC/finiteVolume

- wmake all

 wmake all <dir>

will recursively build all applications in current or specified directory.

- wmake <target>, e.g.

  wmake Make/linux64Gcc4DPOpt/meshBb.o

will build just that taget

- distributed building: wmake comes with a simple scheduler, wmakeScheduler, which spawns a job on a free machine. It is currently set up to distribute only compilation of c,c++. Dependency building and linking gets done on the local machine.

It is set up with three environment variables: WM_SCHEDULER : the name of the scheduler to use WM_HOSTS  : the list of cores to use WM_NCOMPROCS : the number of parallel builds (usually the size of WM_HOSTS

Example: export WM_SCHEDULER=wmakeScheduler export WM_HOSTS="(dm:0 noisy:1 noisy:2 noisy:3 noisy:4)" eval "hosts=$WM_HOSTS" export WM_NCOMPPROCS=${#hosts[@]}

This will build on 1 processor of dm and 4 processors of noisy.