| #!/bin/sh |
| # clean script |
| # |
| # This file was developed by Reid Spencer and is distributed under the |
| # University of Illinois Open Source License. See LICENSE.TXT for details. |
| # |
| #===------------------------------------------------------------------------===# |
| |
| # This script allows easier cleaning of LLVM modules. Just specify the names |
| # of the modules on the command line and they and their dependencies will be |
| # cleaned. See the README.txt file. |
| |
| # Get the shell function library |
| if test ! -z "$LLVM_TOP" ; then |
| if test -f "$LLVM_TOP/library.sh" ; then |
| . "$LLVM_TOP/library.sh" |
| else |
| echo "Your LLVM_TOP variable is not set to an llvm-top directory" |
| exit 1 |
| fi |
| elif test -f ./library.sh ; then |
| . ./library.sh |
| elif test -f ../library.sh ; then |
| . ../library.sh |
| else |
| echo Please run $0 from the llvm-top directory or a module directory. |
| exit 1 |
| fi |
| |
| # Get the list of modules. |
| process_arguments "$@" |
| |
| # Get the |
| get_module_dependencies $MODULES |
| |
| for mod in $MODULE_DEPENDENCIES ; do |
| get_module_info $mod CleanCmd |
| if test ! -z "$MODULE_INFO_VALUE" ; then |
| msg 1 Cleaning module $mod |
| cd $LLVM_TOP/$mod |
| $MODULE_INFO_VALUE || die $? "Clean of module $mod failed." |
| else |
| msg 2 Module $mod has no CleanCmd in the ModuleInfo.txt |
| fi |
| done |
| |
| # Report what happened. |
| msg 1 Modules cleaned: "$MODULE_DEPENDENCIES". |