Files
openfoam/src/Allwmake
Mark Olesen f3c97d41bd ENH: support wmake -all=FILE option
- allows specialized versions of ./Allwmake in the local directory
2025-08-21 20:36:20 +02:00

150 lines
4.0 KiB
Bash
Executable File

#!/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 ========================================
#------------------------------------------------------------------------------
# Base libraries
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
# Frequently needed, even for minimal programs
wmake $targetType fileFormats
wmake $targetType surfMesh
wmake $targetType meshTools
#------------------------------------------------------------------------------
wmake $targetType finiteArea
wmake $targetType finiteVolume
wmake $targetType fused/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
renumber/Allwmake $targetType $*
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 $*
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 ========================================
#------------------------------------------------------------------------------