diff --git a/wmake/wcleanAll b/wmake/wcleanAll index e26504b7e..0a425b7e9 100755 --- a/wmake/wcleanAll +++ b/wmake/wcleanAll @@ -26,7 +26,9 @@ # wcleanAll # # Description -# search all the directories below the current for the object file +# Deprecated: replaced by wcleanPlatform -all +# +# Search all the directories below the current for the object file # directories of all machines and delete them. # #------------------------------------------------------------------------------ @@ -36,6 +38,8 @@ usage() { exec 1>&2 while [ "$#" -ge 1 ]; do echo "$1"; shift; done cat<&2 while [ "$#" -ge 1 ]; do echo "$1"; shift; done cat<. +# +# Script +# wcleanPlatform +# +# Description +# Deletes the specified platforms object files directories from the +# the project top-level platforms directory $WM_PROJECT_DIR. +# +# You need to be in the project top-level directory to run this script. +# +# If either -current or no platform is specified then the current platform +# $WM_OPTIONS is deleted. +# +# If the -all option is specified all platforms and lnInclude directories +# are deleted +# +# Usage: wcleanPlatform [ -current | -all ] +# wcleanPlatform [ ... ] +# +# -current: clean the current platform +# -all: clean all platforms +# +#------------------------------------------------------------------------------ +Script=${0##*/} + +usage() { + exec 1>&2 + while [ "$#" -ge 1 ]; do echo "$1"; shift; done + cat< [ ... ] + + Deletes the specified platforms object files directories from the + the project top-level platforms directory $WM_PROJECT_DIR. + + You need to be in the project top-level directory to run this script. + + If either -current or no platform is specified then the current platform + $WM_OPTIONS is deleted. + + If the -all option is specified all platforms and lnInclude directories + are deleted. + +USAGE + exit 1 +} + +# Print help message +if [ "$1" = "-h" -o "$1" = "-help" ]; then + usage +fi + +# Check the script is executed from the project top-level directory +[ "$PWD" = "$WM_PROJECT_DIR" ] || \ + usage "Not in the project top-level directory " $WM_PROJECT_DIR + +# Get the platforms from the arguments +platforms="$@" + +# If no arguments are provided select the current platform +if [ "$#" -lt 1 ]; then + platforms="-current" +fi + +if [ "$platforms" = "-all" ]; then + echo "Removing all platforms/sub-directories" + rm -rf platforms/* + + echo "Removing lnInclude directories" + find . -depth -type d \( -name lnInclude \) | xargs rm -rf + + tutorials/Allclean +else + # Loop over the platforms specified and delete the object directories + for platform in $platforms + do + if [ "$platform" = "-current" ] + then + platform="$WM_OPTIONS" + echo "Current platform $platform" + [ -n "$platform" ] || continue + fi + + if [ -d platforms/${platform} ] + then + echo "Cleaning platform $platform" + rm -rf platforms/${platform}* + else + echo "Platform $platform not built" + fi + done +fi + + +#------------------------------------------------------------------------------ +# Cleanup local variables and functions +#------------------------------------------------------------------------------ + +unset Script platforms + + +#------------------------------------------------------------------------------ diff --git a/wmake/wmake b/wmake/wmake index 9dfad12d9..2a3c9ed9c 100755 --- a/wmake/wmake +++ b/wmake/wmake @@ -49,8 +49,8 @@ # wdep -h # # See also -# wmakeLnInclude, wmakeLnIncludeAll, wdep, wrmdep, wrmo and wrmdepold, -# wclean, wcleanMachine, wcleanAll, wcleanLnIncludeAll +# wmakeLnInclude, wmakeLnIncludeAll, wdep, wrmdep, wrmo, +# wclean, wcleanPlatform, wcleanLnIncludeAll # #------------------------------------------------------------------------------ Script=${0##*/}