#!/bin/sh # Run from OPENFOAM src/ directory only cd "${0%/*}" || exit wmake -check-dir "$WM_PROJECT_DIR/src" 2>/dev/null || { echo "Error (${0##*/}) : not located in \$WM_PROJECT_DIR/src" echo " Check your OpenFOAM environment and installation" exit 1 } if [ -f "$WM_PROJECT_DIR"/wmake/scripts/AllwmakeParseArguments ] then . "$WM_PROJECT_DIR"/wmake/scripts/AllwmakeParseArguments || \ echo "Argument parse error" else echo "Error (${0##*/}) : WM_PROJECT_DIR appears to be incorrect" echo " Check your OpenFOAM environment and installation" exit 1 fi echo ======================================== echo Compile OpenFOAM libraries echo ======================================== #------------------------------------------------------------------------------ wmakeLnInclude -u OpenFOAM wmakeLnInclude -u OSspecific/"${WM_OSTYPE:-POSIX}" # Update version info (as required) OpenFOAM/Alltouch -check 2>/dev/null OSspecific/"${WM_OSTYPE:-POSIX}"/Allwmake $targetType $* case "$WM_COMPILER" in (Mingw*) # Pstream/OpenFOAM cyclic dependency # 1st pass: link as Pstream as single .o object WM_MPLIB=dummy Pstream/Allwmake libo FOAM_LINK_DUMMY_PSTREAM=libo wmake $targetType OpenFOAM # 2nd pass: link Pstream.{dll,so} against libOpenFOAM.{dll,so} Pstream/Allwmake $targetType $* # Force relink libOpenFOAM.{dll,so} against libPstream.{dll,so} OpenFOAM/Alltouch 2>/dev/null ;; (*) Pstream/Allwmake $targetType $* ;; esac wmake $targetType OpenFOAM wmake $targetType fileFormats wmake $targetType surfMesh wmake $targetType meshTools wmake $targetType finiteArea wmake $targetType finiteVolume wmake $targetType mesh/blockMesh wmake $targetType mesh/extrudeModel # Requires: blockMesh wmake $targetType dynamicMesh # Requires: extrudeModel wmake $targetType genericPatchFields wmake $targetType parallel/decompose/decompositionMethods # Make dummy decomposition methods (dummyThirdParty) parallel/decompose/AllwmakeLnInclude dummyThirdParty/Allwmake $targetType $* wmakeLnInclude -u fvOptions wmake $targetType lagrangian/basic wmake $targetType lagrangian/distributionModels parallel/Allwmake $targetType $* wmake $targetType dynamicFvMesh wmake $targetType topoChangerFvMesh wmake $targetType sampling transportModels/Allwmake $targetType $* randomProcesses/Allwmake $targetType $* wmake $targetType ODE thermophysicalModels/Allwmake $targetType $* TurbulenceModels/Allwmake $targetType $* wmake $targetType combustionModels wmakeLnInclude -u regionFaModels wmakeLnInclude -u faOptions wmakeLnInclude -u overset wmake $targetType overset wmake $targetType fvOptions wmake $targetType fvMotionSolver # snappyHexMesh uses overset voxelMesh mesh/Allwmake $targetType $* renumber/Allwmake $targetType $* fvAgglomerationMethods/Allwmake $targetType $* wmake $targetType waveModels wmake $targetType engine conversion/Allwmake $targetType $* phaseSystemModels/Allwmake $targetType $* functionObjects/Allwmake $targetType $* wmake $targetType thermoTools regionModels/Allwmake $targetType $* wmake $targetType faOptions wmake $targetType regionFaModels lagrangian/Allwmake $targetType $* wmake $targetType functionObjects/lagrangian wmake $targetType lumpedPointMotion wmake $targetType sixDoFRigidBodyMotion wmake $targetType sixDoFRigidBodyState wmake $targetType rigidBodyDynamics wmake $targetType rigidBodyMeshMotion wmake $targetType atmosphericModels wmake $targetType optimisation/adjointOptimisation/adjoint # interfaceTracking libs dynamicFaMesh/Allwmake $targetType $* #------------------------------------------------------------------------------ echo ======================================== echo Done OpenFOAM libraries echo ======================================== #------------------------------------------------------------------------------