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.