diff options
Diffstat (limited to 'BaseTools/BinWrappers/PosixLike/GenVtf')
-rwxr-xr-x | BaseTools/BinWrappers/PosixLike/GenVtf | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/BaseTools/BinWrappers/PosixLike/GenVtf b/BaseTools/BinWrappers/PosixLike/GenVtf index 4821d24fa7..0945d86d92 100755 --- a/BaseTools/BinWrappers/PosixLike/GenVtf +++ b/BaseTools/BinWrappers/PosixLike/GenVtf @@ -1,29 +1,29 @@ #!/usr/bin/env bash -#python `dirname $0`/RunToolFromSource.py `basename $0` $* -#exec `dirname $0`/../../../../C/bin/`basename $0` $* -TOOL_BASENAME=`basename $0` +full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here +dir=$(dirname "$full_cmd") +cmd=${full_cmd##*/} -if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ] +if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ] then - exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME -elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ] + exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd" +elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ] then - if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ] + if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ] then - echo BaseTools C Tool binary was not found \($TOOL_BASENAME\) - echo You may need to run: + echo "BaseTools C Tool binary was not found ($cmd)" + echo "You may need to run:" echo " make -C $EDK_TOOLS_PATH/Source/C" else - exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $* + exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@" fi -elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ] +elif [ -e "$dir/../../Source/C/bin/$cmd" ] then - exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $* + exec "$dir/../../Source/C/bin/$cmd" "$@" else - echo Unable to find the real \'$TOOL_BASENAME\' to run - echo This message was printed by + echo "Unable to find the real '$cmd' to run" + echo "This message was printed by" echo " $0" - exit -1 + exit 127 fi |