#!/bin/sh #------------------------------------------------------------------------------ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation # \\/ M anipulation | Copyright (C) 2016 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM. # # OpenFOAM is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # OpenFOAM is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # # You should have received a copy of the GNU General Public License # along with OpenFOAM. If not, see . # # Script # Allclean # # Description # Clean script for third-party applications and libraries # #------------------------------------------------------------------------------ # run from third-party directory only cd ${0%/*} || exit 1 wmakeCheckPwd "$WM_THIRD_PARTY_DIR" || { echo "Error: Current directory is not \$WM_THIRD_PARTY_DIR" echo " The environment variables are inconsistent with the installation." echo " Check the OpenFOAM entries in your dot-files and source them." exit 1 } # . etc/tools/ThirdPartyFunctions #------------------------------------------------------------------------------ Script=${0##*/} usage() { exec 1>&2 while [ "$#" -ge 1 ]; do echo "$1"; shift; done cat< [ ... ]] options: -all remove all platforms directories. -current clean the current platform ($WM_OPTIONS). -help print the usage Cleanup intermediate build directories. Optionally remove specified platform(s) from the ThirdParty platforms directory $WM_THIRD_PARTY_DIR/platforms USAGE exit 1 } # Print help message if [ "$1" = "-h" -o "$1" = "-help" ]; then usage fi #------------------------------------------------------------------------------ # Clean various packages via 'distclean' for i in openmpi-* ADIOS-* do [ -d "$i" ] && ( echo echo "${i%/*}" echo " make distclean" echo cd $i && make distclean ) done # Clean various packages via 'realclean' for i in scotch*/src do [ -d "$i" ] && ( echo echo "${i%/*}" echo " make realclean" echo cd $i && make realclean ) done # Clean out-of-source build directories if [ -d build ] then echo echo "Clean build/ directory" rm -rf build/* fi # ----------------------------------------------------------------------------- # # Clean platforms directories # if [ "$#" -ge 1 ] then echo echo "Clean platforms/sub-directories" fi removePlatform() { local platform="$1" if [ -n "$platform" -a -d "platforms/$platform" ] then echo echo "Cleaning platform '$platform'" \rm -rf "platforms/$platform" else echo echo "Platform '$platform' not built" fi } # Optionally cleanup platforms specified from the arguments while [ "$#" -ge 1 ] do case "$1" in -all) echo echo "Removing all platforms/sub-directories" echo \rm -rf platforms/* break ;; -current) echo "Current platform '$WM_OPTIONS'" removePlatform "$WM_OPTIONS" ;; *) removePlatform "$1" ;; esac shift done #------------------------------------------------------------------------------