- no use having wmkdepend on the target architecture when it will only be needed on the host architecture.
86 lines
2.7 KiB
Bash
Executable File
86 lines
2.7 KiB
Bash
Executable File
#!/bin/sh
|
|
# Run from OPENFOAM top-level directory only
|
|
cd ${0%/*} && wmakeCheckPwd "$WM_PROJECT_DIR" 2>/dev/null || {
|
|
echo "Error (${0##*/}) : not located in \$WM_PROJECT_DIR"
|
|
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
|
|
|
|
#------------------------------------------------------------------------------
|
|
# Preamble. Report compiler version
|
|
case "$WM_COMPILER" in
|
|
Gcc*) gcc --version 2>/dev/null | sed -ne '1p' ;;
|
|
Clang*) clang --version 2>/dev/null | sed -ne '1p' ;;
|
|
esac
|
|
# Preamble. Report mpirun location
|
|
command -v mpirun 2>/dev/null || true
|
|
|
|
echo "========================================"
|
|
date "+%Y-%m-%d %H:%M:%S %z" 2>/dev/null || echo "date is unknown"
|
|
echo "Starting compile ${WM_PROJECT_DIR##*/} ${0##*/}"
|
|
echo " $WM_COMPILER $WM_COMPILER_TYPE compiler"
|
|
echo " ${WM_OPTIONS}, with ${WM_MPLIB} ${FOAM_MPI}"
|
|
echo "========================================"
|
|
echo
|
|
|
|
# Compile tools for wmake
|
|
"${WM_DIR:-wmake}"/src/Allmake
|
|
|
|
# Compile ThirdParty libraries and applications
|
|
if [ -d "$WM_THIRD_PARTY_DIR" ]
|
|
then
|
|
$WM_THIRD_PARTY_DIR/Allwmake
|
|
else
|
|
echo "No ThirdParty directory found - skipping"
|
|
fi
|
|
|
|
echo "========================================"
|
|
echo "Compile OpenFOAM libraries"
|
|
echo
|
|
src/Allwmake $targetType $*
|
|
|
|
echo "========================================"
|
|
echo "Compile OpenFOAM applications"
|
|
echo
|
|
applications/Allwmake $targetType $*
|
|
|
|
# Additional components/modules
|
|
if [ -d "$WM_PROJECT_DIR/modules" ]
|
|
then
|
|
echo "========================================"
|
|
echo "Compile OpenFOAM modules"
|
|
echo
|
|
(cd $WM_PROJECT_DIR/modules 2>/dev/null && wmake -all)
|
|
fi
|
|
|
|
# Count files in given directory. Ignore "Test-*" binaries.
|
|
_foamCountDirEntries()
|
|
{
|
|
(cd "$1" 2>/dev/null && find -mindepth 1 -maxdepth 1 -type f 2>/dev/null) |\
|
|
sed -e '\@/Test-@d' | wc -l
|
|
}
|
|
|
|
# Some summary information
|
|
echo
|
|
date "+%Y-%m-%d %H:%M:%S %z" 2>/dev/null || echo "date is unknown"
|
|
echo "========================================"
|
|
echo " ${WM_PROJECT_DIR##*/}"
|
|
echo " $WM_COMPILER $WM_COMPILER_TYPE compiler"
|
|
echo " ${WM_OPTIONS}, with ${WM_MPLIB} ${FOAM_MPI}"
|
|
echo
|
|
echo " api = $(wmakeBuildInfo -show-api 2>/dev/null)"
|
|
echo " patch = $(wmakeBuildInfo -show-patch 2>/dev/null)"
|
|
echo " bin = $(_foamCountDirEntries $FOAM_APPBIN) entries"
|
|
echo " lib = $(_foamCountDirEntries $FOAM_LIBBIN) entries"
|
|
echo
|
|
echo "========================================"
|
|
|
|
#------------------------------------------------------------------------------
|