- When building OpenFOAM for different platform combinations
(single/double, int32/int64) the build information that is compiled
into the OpenFOAM lib can become out of sync.
This is because the update trigger (wmakeBuildInfo -check) is
independent of the targetted platform. The added file
'src/OpenFOAM/Alltouch' provides a direct means of forcing a rebuild
of the version information. Eg,
src/OpenFOAM/Alltouch
wmake src/OpenFOAM
Also provide an additional 'wmakeBuildInfo -remove' to forcibly
remove META-INFO/build-info, if that is desired.
119 lines
3.3 KiB
Bash
Executable File
119 lines
3.3 KiB
Bash
Executable File
#!/bin/sh
|
|
# Run from OPENFOAM src/ directory only
|
|
cd ${0%/*} && wmakeCheckPwd "$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
|
|
}
|
|
[ -d "$WM_PROJECT_DIR" -a -f "$WM_PROJECT_DIR/etc/bashrc" ] || {
|
|
echo "Error (${0##*/}) : WM_PROJECT_DIR appears to be incorrect"
|
|
echo " Check your OpenFOAM environment and installation"
|
|
exit 1
|
|
}
|
|
|
|
. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments
|
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
wmakeLnInclude -u OpenFOAM
|
|
wmakeLnInclude -u OSspecific/"${WM_OSTYPE:-POSIX}"
|
|
|
|
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 against libOpenFOAM.dll
|
|
Pstream/Allwmake $targetType $*
|
|
|
|
# Force relink libOpenFOAM.dll against libPstream.dll
|
|
OpenFOAM/Alltouch 2>/dev/null
|
|
;;
|
|
*)
|
|
Pstream/Allwmake $targetType $*
|
|
|
|
# Update version info (as required)
|
|
OpenFOAM/Alltouch -check 2>/dev/null
|
|
;;
|
|
esac
|
|
|
|
wmake $targetType OpenFOAM
|
|
|
|
wmake $targetType fileFormats
|
|
wmake $targetType surfMesh
|
|
wmake $targetType meshTools
|
|
|
|
wmake $targetType finiteArea
|
|
wmake $targetType finiteVolume
|
|
wmake $targetType genericPatchFields
|
|
wmake $targetType mesh/extrudeModel
|
|
wmake $targetType dynamicMesh
|
|
|
|
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
|
|
randomProcesses/Allwmake $targetType $*
|
|
|
|
wmake $targetType ODE
|
|
|
|
transportModels/Allwmake $targetType $*
|
|
thermophysicalModels/Allwmake $targetType $*
|
|
TurbulenceModels/Allwmake $targetType $*
|
|
wmake $targetType combustionModels
|
|
regionModels/Allwmake $targetType $*
|
|
lagrangian/Allwmake $targetType $*
|
|
|
|
wmake $targetType fvOptions
|
|
wmake $targetType fvMotionSolver
|
|
|
|
# Ensure we have block.H accessible before building overset
|
|
wmake $targetType mesh/blockMesh
|
|
wmake $targetType overset
|
|
|
|
# snappyHexMesh uses overset voxelMesh
|
|
mesh/Allwmake $targetType $*
|
|
renumber/Allwmake $targetType $*
|
|
fvAgglomerationMethods/Allwmake $targetType $*
|
|
wmake $targetType waveModels
|
|
|
|
wmake $targetType engine
|
|
wmake $targetType regionCoupled
|
|
|
|
conversion/Allwmake $targetType $*
|
|
functionObjects/Allwmake $targetType $*
|
|
|
|
wmake $targetType lumpedPointMotion
|
|
wmake $targetType sixDoFRigidBodyMotion
|
|
wmake $targetType sixDoFRigidBodyState
|
|
wmake $targetType rigidBodyDynamics
|
|
wmake $targetType rigidBodyMeshMotion
|
|
wmake $targetType semiPermeableBaffle
|
|
wmake $targetType atmosphericModels
|
|
wmake $targetType optimisation/adjointOptimisation/adjoint
|
|
|
|
phaseSystemModels/Allwmake $targetType $*
|
|
|
|
# Needs access to Turbulence
|
|
|
|
wmake $targetType thermophysicalModels/thermophysicalPropertiesFvPatchFields/liquidProperties
|
|
|
|
#------------------------------------------------------------------------------
|