diff --git a/wmake/wcleanAllButLibBinLnInclude b/wmake/wcleanAllButLibBinLnInclude new file mode 100755 index 000000000..c9f46223a --- /dev/null +++ b/wmake/wcleanAllButLibBinLnInclude @@ -0,0 +1,73 @@ +#!/bin/sh +#------------------------------------------------------------------------------ +# ========= | +# \\ / F ield | foam-extend: Open Source CFD +# \\ / O peration | +# \\ / A nd | For copyright notice see file Copyright +# \\/ M anipulation | +#------------------------------------------------------------------------------ +# License +# This file is part of foam-extend. +# +# foam-extend 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. +# +# foam-extend 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 foam-extend. If not, see . +# +# Script +# wcleanAllButLibBinLnInclude +# +# Description +# search all the directories below the current for the object file +# directories of all machines and *.dep files, and delete them. +# This scripts is the same as wcleanAll, except that it leaves +# the lib, applications/bin, and lnInclude directories untouched. +# The purpose is to minimize an installation, while keeping it fully +# operational and keeping the possibility to compile user code. +# +#------------------------------------------------------------------------------ +if [ "$1" = "-h" -o "$1" = "-help" ] +then + echo "Usage: ${0##*/}" + echo + echo " Remove all object files and *.dep files" + echo " Leaves lib, applications/bin and lnInclude untouched" + exit 1 +fi + +[ -d bin -a -d src ] || { + echo "${0##*/}: not in the project top level directory" + exit 1 +} + +#Removed, compared to wcleanAll: +#for dir in lib applications/bin +#do +# echo "Removing $dir/" +# [ -d $dir ] && rm -rf $dir/* +#done + +echo "Removing *.dep files" +find . -name '*.dep' -exec rm {} \; + +echo "Cleaning Make subdirectories" +find `find . -depth \( -name "Make.[A-Za-z]*" -o -name Make \) -type d -print` -depth \( -type d ! -name "*Make.[A-Za-z]*" ! -name "*Make" \( ! -path '*.svn*' \) \) -exec rm -rf {} \; + +#Removed, compared to wcleanAll: +#echo "Removing lnInclude and intermediate directories" +#find . -depth -type d \( -name lnInclude -o -name ii_files -o -name Templates.DB \) -exec rm -rf {} \; + +echo "Removing misc files" +find . \( -name exe -o -name log -o -name so_locations \) -exec rm {} \; + +( cd tutorials && ./Allclean ) + +#------------------------------------------------------------------------------