diff --git a/wmake/wclean b/wmake/wclean index 28e2621bc..373b76c70 100755 --- a/wmake/wclean +++ b/wmake/wclean @@ -3,7 +3,7 @@ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | -# \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation +# \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation # \\/ M anipulation | #------------------------------------------------------------------------------- # License @@ -40,17 +40,18 @@ Usage: $Script [OPTION] [dir] $Script [OPTION] target [dir [MakeDir]] options: - -s | -silent ignored - for compatibility with wmake - -help print the usage + -s | -silent Ignored - for compatibility with wmake + -help Print the usage Clean up the wmake control directory Make/\$WM_OPTIONS and remove the lnInclude directories generated for libraries. The targets correspond to a subset of the 'wmake' special targets: - all all subdirectories, uses any Allwclean or Allclean + all All subdirectories, uses any Allwclean or Allclean files if they exist exe | lib | libo | libso - clean Make, any *.dep files and lnInclude directories + Clean Make, any *.dep files and lnInclude directories + empty Remove empty sub-directories for the requested dir USAGE exit 1 @@ -67,7 +68,7 @@ do -h | -help) usage ;; - -s | -silent) # ignored - for compatibility with wmake + -s | -silent) # Ignored - for compatibility with wmake shift ;; -*) @@ -81,7 +82,7 @@ done #------------------------------------------------------------------------------ -# check arguments and change to the directory in which to run wclean +# Check arguments and change to the directory in which to run wclean #------------------------------------------------------------------------------ unset dir targetType @@ -97,10 +98,10 @@ then targetType=$1 fi - # specified directory name: + # Specified directory name: [ $# -ge 2 ] && dir=$2 - # specified alternative name for the Make sub-directory: + # Specified alternative name for the Make sub-directory: [ $# -ge 3 ] && MakeDir=$3 if [ "$dir" ] @@ -111,22 +112,40 @@ then } fi - # provide some feedback + # Provide some feedback echo "$Script ${dir:-./}" fi +#------------------------------------------------------------------------------ +# Remove empty sub-directories and exit +#------------------------------------------------------------------------------ + +if [ "$targetType" = empty ] +then + # Get sub-directories avoiding particular directories + for dir in $(find . -mindepth 1 -maxdepth 1 \ + -type d \( -name .git -prune -o -print \) ) + do + echo "check dir: $dir" + find $dir -depth -type d -empty -exec rmdir {} \; -print + done + + exit 0 +fi + + #------------------------------------------------------------------------------ # Recurse the directories tree #------------------------------------------------------------------------------ if [ "$targetType" = all ] then - if [ -e Allwclean ] # consistent with Allwmake + if [ -e Allwclean ] # Consistent with Allwmake then ./Allwclean exit $? - elif [ -e Allclean ] # often used for tutorial cases + elif [ -e Allclean ] # Often used for tutorial cases then ./Allclean exit $? @@ -135,7 +154,7 @@ then for dir in `find . \( -type d -a -name Make \)` do echo $dir - $0 ${dir%/Make} # parent directory - trim /Make from the end + $0 ${dir%/Make} # Parent directory - trim /Make from the end done fi fi diff --git a/wmake/wrmdepold b/wmake/wrmdepold deleted file mode 100755 index 61cdc92bc..000000000 --- a/wmake/wrmdepold +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/sh -#------------------------------------------------------------------------------ -# ========= | -# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox -# \\ / O peration | -# \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation -# \\/ M anipulation | -#------------------------------------------------------------------------------- -# 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 -# wrmdepold -# -# Description -# Usage: wrmdepold [dir1 .. dirN] -# -# Remove *.dep files that are without a corresponding .C or .L source file. -# This often occurs when a directory has been moved. -# - print questionable directory and the *.dep file -# - optionally remove empty directories -#------------------------------------------------------------------------------ -Script=${0##*/} - -# Source the wmake functions -. ${0%/*}/scripts/wmakeFunctions - -usage() { - exec 1>&2 - while [ "$#" -ge 1 ]; do echo "$1"; shift; done - cat</dev/null - fi - done - - # Remove empty dirs - if [ "$optRmdir" ] - then - # get subdirs ourselves so we can avoid particular directories - for dir in $(find $objectsDir -mindepth 1 -maxdepth 1 -type d \( -name .git -prune -o -print \) ) - do - echo "check dir: $dir" - find $dir -depth -type d -empty -exec rmdir {} \; -print - done - fi -done - - -# -----------------------------------------------------------------------------