#!/bin/sh #------------------------------------------------------------------------------ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | www.openfoam.com # \\/ M anipulation | #------------------------------------------------------------------------------ # Copyright (C) 2015 OpenFOAM Foundation # Copyright (C) 2017-2022 OpenCFD Ltd. #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM, distributed under GPL-3.0-or-later. # # Script # wrmo # # Usage # wrmo [-a | -all | all] [file1 [... fileN]] # # Description # Remove all .o files from the object directory tree corresponding to the # current source derectory or remove only the .o file corresponding to the # optionally specified [file]. With the -a/-all/all option the .o files # are removed for all platforms rather than just the current platform. # #------------------------------------------------------------------------------ Script=${0##*/} # Use 'Script' for error messages in wmakeFunctions . ${0%/*}/scripts/wmakeFunctions # Source wmake functions usage() { exec 1>&2 while [ "$#" -ge 1 ]; do echo "$1"; shift; done cat< USAGE exit 1 } #------------------------------------------------------------------------------ # Parse arguments and options #------------------------------------------------------------------------------ # Default to processing only the current platform unset platform while [ "$#" -gt 0 ] do case "$1" in ('') ;; (- | --) shift; break ;; # Stop option parsing -h | -help*) usage ;; -a | -all | all) # All platforms platform=all ;; -*) usage "unknown option: '$1'" ;; *) break ;; esac shift done # Check environment variables checkEnv #------------------------------------------------------------------------------ # Remove the selected .o files from the object tree #------------------------------------------------------------------------------ objectsDir=$(findObjectDir .) || exit 1 # Fatal # With -a/-all option: replace the current platform with a wildcard if [ "$platform" = all ] then objectsDir=$(echo "$objectsDir" | sed "s%$WM_OPTIONS%*%") fi if [ "$#" -eq 0 ] then echo "Removing all .o files ..." 1>&2 find "$objectsDir" -name '*.o' -type f -delete else echo "Removing .o files for: $*" 1>&2 for file do rm -f "$objectsDir/${file%%.*}.o" 2>/dev/null done fi exit 0 # clean exit #------------------------------------------------------------------------------