summaryrefslogtreecommitdiffstats
path: root/BaseTools/BinWrappers/PosixLike/FMMT
diff options
context:
space:
mode:
authorShenglei Zhang <shenglei.zhang@intel.com>2019-05-28 11:01:47 +0800
committerLiming Gao <liming.gao@intel.com>2019-07-04 11:34:57 +0800
commit080981d72dcbb782ad73716c439639324b0aa4dd (patch)
treefeea5c7a4658f428a48975b10be8d1ebcae86155 /BaseTools/BinWrappers/PosixLike/FMMT
parent3c59d94637adbfdd497b5a2c16073c7dc62b669c (diff)
downloadedk2-080981d72dcbb782ad73716c439639324b0aa4dd.tar.gz
edk2-080981d72dcbb782ad73716c439639324b0aa4dd.tar.bz2
edk2-080981d72dcbb782ad73716c439639324b0aa4dd.zip
BaseTools/FMMT: Add a tool FMMT
FMMT is a tool to enable removal, addition and replacement of FFS files in FD image binaries. https://bugzilla.tianocore.org/show_bug.cgi?id=1847 Cc: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com> Reviewed-by: Bob Feng <bob.c.feng@intel.com>
Diffstat (limited to 'BaseTools/BinWrappers/PosixLike/FMMT')
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/FMMT29
1 files changed, 29 insertions, 0 deletions
diff --git a/BaseTools/BinWrappers/PosixLike/FMMT b/BaseTools/BinWrappers/PosixLike/FMMT
new file mode 100755
index 0000000000..a244ecc095
--- /dev/null
+++ b/BaseTools/BinWrappers/PosixLike/FMMT
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+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" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
+then
+ exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
+elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
+then
+ if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
+ then
+ 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/$cmd" "$@"
+ fi
+elif [ -e "$dir/../../Source/C/bin/$cmd" ]
+then
+ exec "$dir/../../Source/C/bin/$cmd" "$@"
+else
+ echo "Unable to find the real '$cmd' to run"
+ echo "This message was printed by"
+ echo " $0"
+ exit 127
+fi
+