mirror of
https://github.com/OpenFOAM/OpenFOAM-6.git
synced 2025-12-08 06:57:46 +00:00
wclean: Added the target "empty", which removes empty directories
It will exit after removing the empty folders and it will not do the other standard "wclean" operations. This replaces the functionality provided by "wrmdepold". Patch provided by Bruno Santos
This commit is contained in:
45
wmake/wclean
45
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
|
||||
|
||||
Reference in New Issue
Block a user