aboutsummaryrefslogtreecommitdiffstats
path: root/roms/edk2/BaseTools/BinWrappers
diff options
context:
space:
mode:
Diffstat (limited to 'roms/edk2/BaseTools/BinWrappers')
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/AmlToC14
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/BPDG14
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/Brotli29
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/BrotliCompress34
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/DevicePath29
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/Ecc14
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/EfiRom29
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/GenCrc3229
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/GenDepex14
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/GenFds14
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/GenFfs29
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/GenFv29
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/GenFw29
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/GenPatchPcdTable14
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/GenSec29
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/GenerateCapsule14
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/LzmaCompress29
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/LzmaF86Compress19
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/PatchPcdValue14
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/Pkcs7Sign14
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256GenerateKeys14
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256Sign14
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/Split29
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/TargetTool14
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/TianoCompress29
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/Trim14
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/UPT14
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/VfrCompile29
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/VolInfo29
-rwxr-xr-xroms/edk2/BaseTools/BinWrappers/PosixLike/build14
-rw-r--r--roms/edk2/BaseTools/BinWrappers/PosixLike/posix_path_env.yaml10
-rw-r--r--roms/edk2/BaseTools/BinWrappers/WindowsLike/AmlToC.bat3
-rw-r--r--roms/edk2/BaseTools/BinWrappers/WindowsLike/BPDG.bat4
-rw-r--r--roms/edk2/BaseTools/BinWrappers/WindowsLike/BrotliCompress.bat55
-rw-r--r--roms/edk2/BaseTools/BinWrappers/WindowsLike/Ecc.bat4
-rw-r--r--roms/edk2/BaseTools/BinWrappers/WindowsLike/GenDepex.bat3
-rw-r--r--roms/edk2/BaseTools/BinWrappers/WindowsLike/GenFds.bat4
-rw-r--r--roms/edk2/BaseTools/BinWrappers/WindowsLike/GenPatchPcdTable.bat3
-rw-r--r--roms/edk2/BaseTools/BinWrappers/WindowsLike/GenerateCapsule.bat1
-rw-r--r--roms/edk2/BaseTools/BinWrappers/WindowsLike/PatchPcdValue.bat3
-rw-r--r--roms/edk2/BaseTools/BinWrappers/WindowsLike/Pkcs7Sign.bat3
-rw-r--r--roms/edk2/BaseTools/BinWrappers/WindowsLike/Rsa2048Sha256GenerateKeys.bat1
-rw-r--r--roms/edk2/BaseTools/BinWrappers/WindowsLike/Rsa2048Sha256Sign.bat3
-rw-r--r--roms/edk2/BaseTools/BinWrappers/WindowsLike/TargetTool.bat3
-rw-r--r--roms/edk2/BaseTools/BinWrappers/WindowsLike/Trim.bat3
-rw-r--r--roms/edk2/BaseTools/BinWrappers/WindowsLike/UPT.bat3
-rw-r--r--roms/edk2/BaseTools/BinWrappers/WindowsLike/build.bat3
-rw-r--r--roms/edk2/BaseTools/BinWrappers/WindowsLike/win_build_tools_path_env.yaml10
48 files changed, 759 insertions, 0 deletions
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/AmlToC b/roms/edk2/BaseTools/BinWrappers/PosixLike/AmlToC
new file mode 100755
index 000000000..1dd28e966
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/AmlToC
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+#python `dirname $0`/RunToolFromSource.py `basename $0` $*
+
+# If a ${PYTHON_COMMAND} command is available, use it in preference to python
+if command -v ${PYTHON_COMMAND} >/dev/null 2>&1; then
+ python_exe=${PYTHON_COMMAND}
+fi
+
+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")
+exe=$(basename "$full_cmd")
+
+export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}"
+exec "${python_exe:-python}" "$dir/../../Source/Python/$exe/$exe.py" "$@"
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/BPDG b/roms/edk2/BaseTools/BinWrappers/PosixLike/BPDG
new file mode 100755
index 000000000..c89438490
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/BPDG
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+#python `dirname $0`/RunToolFromSource.py `basename $0` $*
+
+# If a ${PYTHON_COMMAND} command is available, use it in preference to python
+if command -v ${PYTHON_COMMAND} >/dev/null 2>&1; then
+ python_exe=${PYTHON_COMMAND}
+fi
+
+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##*/}
+
+export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}"
+exec "${python_exe:-python}" -m $cmd.$cmd "$@"
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/Brotli b/roms/edk2/BaseTools/BinWrappers/PosixLike/Brotli
new file mode 100755
index 000000000..0945d86d9
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/Brotli
@@ -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
+
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/BrotliCompress b/roms/edk2/BaseTools/BinWrappers/PosixLike/BrotliCompress
new file mode 100755
index 000000000..663860bb3
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/BrotliCompress
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+#
+# This script will exec Brotli tool with -e/-d options.
+#
+# Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.<BR>
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+QLT="-q 9 -w 22"
+ARGS=
+
+while test $# -gt 0
+do
+ case $1 in
+ -e)
+ ;;
+ -d)
+ ARGS+="$1 "
+ ;;
+ -o|-g)
+ ARGS+="$1 $2 "
+ shift
+ ;;
+ -q)
+ QLT="$1 $2 "
+ shift
+ ;;
+ *)
+ ARGS+="$1 "
+ ;;
+ esac
+ shift
+done
+
+exec Brotli $QLT $ARGS
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/DevicePath b/roms/edk2/BaseTools/BinWrappers/PosixLike/DevicePath
new file mode 100755
index 000000000..0945d86d9
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/DevicePath
@@ -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
+
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/Ecc b/roms/edk2/BaseTools/BinWrappers/PosixLike/Ecc
new file mode 100755
index 000000000..15edf5210
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/Ecc
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+#python `dirname $0`/RunToolFromSource.py `basename $0` $*
+
+# If a ${PYTHON_COMMAND} command is available, use it in preference to python
+if command -v ${PYTHON_COMMAND} >/dev/null 2>&1; then
+ python_exe=${PYTHON_COMMAND}
+fi
+
+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##*/}
+
+export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}"
+exec "${python_exe:-python}" -m $cmd.EccMain "$@"
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/EfiRom b/roms/edk2/BaseTools/BinWrappers/PosixLike/EfiRom
new file mode 100755
index 000000000..0945d86d9
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/EfiRom
@@ -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
+
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/GenCrc32 b/roms/edk2/BaseTools/BinWrappers/PosixLike/GenCrc32
new file mode 100755
index 000000000..0945d86d9
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/GenCrc32
@@ -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
+
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/GenDepex b/roms/edk2/BaseTools/BinWrappers/PosixLike/GenDepex
new file mode 100755
index 000000000..183cf5822
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/GenDepex
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+#python `dirname $0`/RunToolFromSource.py `basename $0` $*
+
+# If a ${PYTHON_COMMAND} command is available, use it in preference to python
+if command -v ${PYTHON_COMMAND} >/dev/null 2>&1; then
+ python_exe=${PYTHON_COMMAND}
+fi
+
+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##*/}
+
+export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}"
+exec "${python_exe:-python}" "$dir/../../Source/Python/AutoGen/$cmd.py" "$@"
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/GenFds b/roms/edk2/BaseTools/BinWrappers/PosixLike/GenFds
new file mode 100755
index 000000000..c89438490
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/GenFds
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+#python `dirname $0`/RunToolFromSource.py `basename $0` $*
+
+# If a ${PYTHON_COMMAND} command is available, use it in preference to python
+if command -v ${PYTHON_COMMAND} >/dev/null 2>&1; then
+ python_exe=${PYTHON_COMMAND}
+fi
+
+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##*/}
+
+export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}"
+exec "${python_exe:-python}" -m $cmd.$cmd "$@"
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/GenFfs b/roms/edk2/BaseTools/BinWrappers/PosixLike/GenFfs
new file mode 100755
index 000000000..0945d86d9
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/GenFfs
@@ -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
+
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/GenFv b/roms/edk2/BaseTools/BinWrappers/PosixLike/GenFv
new file mode 100755
index 000000000..0945d86d9
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/GenFv
@@ -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
+
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/GenFw b/roms/edk2/BaseTools/BinWrappers/PosixLike/GenFw
new file mode 100755
index 000000000..0945d86d9
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/GenFw
@@ -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
+
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/GenPatchPcdTable b/roms/edk2/BaseTools/BinWrappers/PosixLike/GenPatchPcdTable
new file mode 100755
index 000000000..f3770eed4
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/GenPatchPcdTable
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+#python `dirname $0`/RunToolFromSource.py `basename $0` $*
+
+# If a ${PYTHON_COMMAND} command is available, use it in preference to python
+if command -v ${PYTHON_COMMAND} >/dev/null 2>&1; then
+ python_exe=${PYTHON_COMMAND}
+fi
+
+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##*/}
+
+export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}"
+exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/GenSec b/roms/edk2/BaseTools/BinWrappers/PosixLike/GenSec
new file mode 100755
index 000000000..0945d86d9
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/GenSec
@@ -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
+
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/GenerateCapsule b/roms/edk2/BaseTools/BinWrappers/PosixLike/GenerateCapsule
new file mode 100755
index 000000000..023048c61
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/GenerateCapsule
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+#python `dirname $0`/RunToolFromSource.py `basename $0` $*
+
+# If a ${PYTHON_COMMAND} command is available, use it in preference to python
+if command -v ${PYTHON_COMMAND} >/dev/null 2>&1; then
+ python_exe=${PYTHON_COMMAND}
+fi
+
+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##*/}
+
+export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}"
+exec "${python_exe:-python}" "$dir/../../Source/Python/Capsule/$cmd.py" "$@"
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/LzmaCompress b/roms/edk2/BaseTools/BinWrappers/PosixLike/LzmaCompress
new file mode 100755
index 000000000..0945d86d9
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/LzmaCompress
@@ -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
+
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/LzmaF86Compress b/roms/edk2/BaseTools/BinWrappers/PosixLike/LzmaF86Compress
new file mode 100755
index 000000000..b55352ae4
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/LzmaF86Compress
@@ -0,0 +1,19 @@
+#!/usr/bin/env bash
+#
+# This script will exec LzmaCompress tool with --f86 option that enables converter for x86 code.
+#
+# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
+# Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+#
+
+for arg; do
+ case $arg in
+ -e|-d)
+ set -- "$@" --f86
+ break
+ ;;
+ esac
+done
+
+exec LzmaCompress "$@"
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/PatchPcdValue b/roms/edk2/BaseTools/BinWrappers/PosixLike/PatchPcdValue
new file mode 100755
index 000000000..f3770eed4
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/PatchPcdValue
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+#python `dirname $0`/RunToolFromSource.py `basename $0` $*
+
+# If a ${PYTHON_COMMAND} command is available, use it in preference to python
+if command -v ${PYTHON_COMMAND} >/dev/null 2>&1; then
+ python_exe=${PYTHON_COMMAND}
+fi
+
+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##*/}
+
+export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}"
+exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/Pkcs7Sign b/roms/edk2/BaseTools/BinWrappers/PosixLike/Pkcs7Sign
new file mode 100755
index 000000000..f3770eed4
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/Pkcs7Sign
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+#python `dirname $0`/RunToolFromSource.py `basename $0` $*
+
+# If a ${PYTHON_COMMAND} command is available, use it in preference to python
+if command -v ${PYTHON_COMMAND} >/dev/null 2>&1; then
+ python_exe=${PYTHON_COMMAND}
+fi
+
+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##*/}
+
+export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}"
+exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256GenerateKeys b/roms/edk2/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256GenerateKeys
new file mode 100755
index 000000000..ea71c7c61
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256GenerateKeys
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+#python `dirname $0`/RunToolFromSource.py `basename $0` $*
+
+# If a ${PYTHON_COMMAND} command is available, use it in preference to python
+if command -v ${PYTHON_COMMAND} >/dev/null 2>&1; then
+ python_exe=${PYTHON_COMMAND}
+fi
+
+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##*/}
+
+export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}"
+exec "${python_exe:-python}" "$dir/../../Source/Python/Rsa2048Sha256Sign/$cmd.py" "$@"
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256Sign b/roms/edk2/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256Sign
new file mode 100755
index 000000000..f3770eed4
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256Sign
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+#python `dirname $0`/RunToolFromSource.py `basename $0` $*
+
+# If a ${PYTHON_COMMAND} command is available, use it in preference to python
+if command -v ${PYTHON_COMMAND} >/dev/null 2>&1; then
+ python_exe=${PYTHON_COMMAND}
+fi
+
+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##*/}
+
+export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}"
+exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/Split b/roms/edk2/BaseTools/BinWrappers/PosixLike/Split
new file mode 100755
index 000000000..0945d86d9
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/Split
@@ -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
+
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/TargetTool b/roms/edk2/BaseTools/BinWrappers/PosixLike/TargetTool
new file mode 100755
index 000000000..f3770eed4
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/TargetTool
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+#python `dirname $0`/RunToolFromSource.py `basename $0` $*
+
+# If a ${PYTHON_COMMAND} command is available, use it in preference to python
+if command -v ${PYTHON_COMMAND} >/dev/null 2>&1; then
+ python_exe=${PYTHON_COMMAND}
+fi
+
+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##*/}
+
+export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}"
+exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/TianoCompress b/roms/edk2/BaseTools/BinWrappers/PosixLike/TianoCompress
new file mode 100755
index 000000000..0945d86d9
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/TianoCompress
@@ -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
+
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/Trim b/roms/edk2/BaseTools/BinWrappers/PosixLike/Trim
new file mode 100755
index 000000000..1dd28e966
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/Trim
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+#python `dirname $0`/RunToolFromSource.py `basename $0` $*
+
+# If a ${PYTHON_COMMAND} command is available, use it in preference to python
+if command -v ${PYTHON_COMMAND} >/dev/null 2>&1; then
+ python_exe=${PYTHON_COMMAND}
+fi
+
+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")
+exe=$(basename "$full_cmd")
+
+export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}"
+exec "${python_exe:-python}" "$dir/../../Source/Python/$exe/$exe.py" "$@"
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/UPT b/roms/edk2/BaseTools/BinWrappers/PosixLike/UPT
new file mode 100755
index 000000000..f3770eed4
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/UPT
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+#python `dirname $0`/RunToolFromSource.py `basename $0` $*
+
+# If a ${PYTHON_COMMAND} command is available, use it in preference to python
+if command -v ${PYTHON_COMMAND} >/dev/null 2>&1; then
+ python_exe=${PYTHON_COMMAND}
+fi
+
+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##*/}
+
+export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}"
+exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/VfrCompile b/roms/edk2/BaseTools/BinWrappers/PosixLike/VfrCompile
new file mode 100755
index 000000000..0945d86d9
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/VfrCompile
@@ -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
+
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/VolInfo b/roms/edk2/BaseTools/BinWrappers/PosixLike/VolInfo
new file mode 100755
index 000000000..0945d86d9
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/VolInfo
@@ -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
+
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/build b/roms/edk2/BaseTools/BinWrappers/PosixLike/build
new file mode 100755
index 000000000..f3770eed4
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/build
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+#python `dirname $0`/RunToolFromSource.py `basename $0` $*
+
+# If a ${PYTHON_COMMAND} command is available, use it in preference to python
+if command -v ${PYTHON_COMMAND} >/dev/null 2>&1; then
+ python_exe=${PYTHON_COMMAND}
+fi
+
+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##*/}
+
+export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}"
+exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
diff --git a/roms/edk2/BaseTools/BinWrappers/PosixLike/posix_path_env.yaml b/roms/edk2/BaseTools/BinWrappers/PosixLike/posix_path_env.yaml
new file mode 100644
index 000000000..8b32e010b
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/PosixLike/posix_path_env.yaml
@@ -0,0 +1,10 @@
+## @file
+# Set this folder on the path for all linux builds
+#
+# Copyright (c) Microsoft Corporation.
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+{
+ "scope": "global-nix",
+ "flags": ["set_path"]
+}
diff --git a/roms/edk2/BaseTools/BinWrappers/WindowsLike/AmlToC.bat b/roms/edk2/BaseTools/BinWrappers/WindowsLike/AmlToC.bat
new file mode 100644
index 000000000..9616cd893
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/WindowsLike/AmlToC.bat
@@ -0,0 +1,3 @@
+@setlocal
+@set ToolName=%~n0%
+@%PYTHON_COMMAND% %BASE_TOOLS_PATH%\Source\Python\%ToolName%\%ToolName%.py %*
diff --git a/roms/edk2/BaseTools/BinWrappers/WindowsLike/BPDG.bat b/roms/edk2/BaseTools/BinWrappers/WindowsLike/BPDG.bat
new file mode 100644
index 000000000..f43dba81f
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/WindowsLike/BPDG.bat
@@ -0,0 +1,4 @@
+@setlocal
+@set ToolName=%~n0%
+@set PYTHONPATH=%PYTHONPATH%;%BASE_TOOLS_PATH%\Source\Python
+@%PYTHON_COMMAND% -m %ToolName%.%ToolName% %*
diff --git a/roms/edk2/BaseTools/BinWrappers/WindowsLike/BrotliCompress.bat b/roms/edk2/BaseTools/BinWrappers/WindowsLike/BrotliCompress.bat
new file mode 100644
index 000000000..788c99a13
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/WindowsLike/BrotliCompress.bat
@@ -0,0 +1,55 @@
+@REM @file
+@REM This script will exec Brotli tool with -e/-d options.
+@REM
+@REM Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.<BR>
+@REM SPDX-License-Identifier: BSD-2-Clause-Patent
+@REM
+
+@echo off
+@setlocal
+
+set QLT=-q 9 -w 22
+set ARGS=
+
+:Begin
+if "%1"=="" goto End
+
+if "%1"=="-d" (
+ set ARGS=%ARGS% %1
+ shift
+ goto Begin
+)
+
+if "%1"=="-e" (
+ shift
+ goto Begin
+)
+
+if "%1"=="-g" (
+ set ARGS=%ARGS% %1 %2
+ shift
+ shift
+ goto Begin
+)
+
+if "%1"=="-o" (
+ set ARGS=%ARGS% %1 %2
+ shift
+ shift
+ goto Begin
+)
+
+if "%1"=="-q" (
+ set QLT=%1 %2
+ shift
+ shift
+ goto Begin
+)
+
+set ARGS=%ARGS% %1
+shift
+goto Begin
+
+:End
+Brotli %QLT% %ARGS%
+@echo on
diff --git a/roms/edk2/BaseTools/BinWrappers/WindowsLike/Ecc.bat b/roms/edk2/BaseTools/BinWrappers/WindowsLike/Ecc.bat
new file mode 100644
index 000000000..ba1a15b3b
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/WindowsLike/Ecc.bat
@@ -0,0 +1,4 @@
+@setlocal
+@set ToolName=%~n0%
+@set PYTHONPATH=%PYTHONPATH%;%BASE_TOOLS_PATH%\Source\Python
+@%PYTHON_COMMAND% -m %ToolName%.EccMain %*
diff --git a/roms/edk2/BaseTools/BinWrappers/WindowsLike/GenDepex.bat b/roms/edk2/BaseTools/BinWrappers/WindowsLike/GenDepex.bat
new file mode 100644
index 000000000..f8f3eefac
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/WindowsLike/GenDepex.bat
@@ -0,0 +1,3 @@
+@setlocal
+@set ToolName=%~n0%
+@%PYTHON_COMMAND% %BASE_TOOLS_PATH%\Source\Python\AutoGen\%ToolName%.py %*
diff --git a/roms/edk2/BaseTools/BinWrappers/WindowsLike/GenFds.bat b/roms/edk2/BaseTools/BinWrappers/WindowsLike/GenFds.bat
new file mode 100644
index 000000000..f43dba81f
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/WindowsLike/GenFds.bat
@@ -0,0 +1,4 @@
+@setlocal
+@set ToolName=%~n0%
+@set PYTHONPATH=%PYTHONPATH%;%BASE_TOOLS_PATH%\Source\Python
+@%PYTHON_COMMAND% -m %ToolName%.%ToolName% %*
diff --git a/roms/edk2/BaseTools/BinWrappers/WindowsLike/GenPatchPcdTable.bat b/roms/edk2/BaseTools/BinWrappers/WindowsLike/GenPatchPcdTable.bat
new file mode 100644
index 000000000..9616cd893
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/WindowsLike/GenPatchPcdTable.bat
@@ -0,0 +1,3 @@
+@setlocal
+@set ToolName=%~n0%
+@%PYTHON_COMMAND% %BASE_TOOLS_PATH%\Source\Python\%ToolName%\%ToolName%.py %*
diff --git a/roms/edk2/BaseTools/BinWrappers/WindowsLike/GenerateCapsule.bat b/roms/edk2/BaseTools/BinWrappers/WindowsLike/GenerateCapsule.bat
new file mode 100644
index 000000000..11b4a48ae
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/WindowsLike/GenerateCapsule.bat
@@ -0,0 +1 @@
+@%PYTHON_COMMAND% %BASE_TOOLS_PATH%\Source\Python\Capsule\GenerateCapsule.py %*
diff --git a/roms/edk2/BaseTools/BinWrappers/WindowsLike/PatchPcdValue.bat b/roms/edk2/BaseTools/BinWrappers/WindowsLike/PatchPcdValue.bat
new file mode 100644
index 000000000..9616cd893
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/WindowsLike/PatchPcdValue.bat
@@ -0,0 +1,3 @@
+@setlocal
+@set ToolName=%~n0%
+@%PYTHON_COMMAND% %BASE_TOOLS_PATH%\Source\Python\%ToolName%\%ToolName%.py %*
diff --git a/roms/edk2/BaseTools/BinWrappers/WindowsLike/Pkcs7Sign.bat b/roms/edk2/BaseTools/BinWrappers/WindowsLike/Pkcs7Sign.bat
new file mode 100644
index 000000000..9616cd893
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/WindowsLike/Pkcs7Sign.bat
@@ -0,0 +1,3 @@
+@setlocal
+@set ToolName=%~n0%
+@%PYTHON_COMMAND% %BASE_TOOLS_PATH%\Source\Python\%ToolName%\%ToolName%.py %*
diff --git a/roms/edk2/BaseTools/BinWrappers/WindowsLike/Rsa2048Sha256GenerateKeys.bat b/roms/edk2/BaseTools/BinWrappers/WindowsLike/Rsa2048Sha256GenerateKeys.bat
new file mode 100644
index 000000000..6d4443b60
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/WindowsLike/Rsa2048Sha256GenerateKeys.bat
@@ -0,0 +1 @@
+@%PYTHON_COMMAND% %BASE_TOOLS_PATH%\Source\Python\Rsa2048Sha256Sign\Rsa2048Sha256GenerateKeys.py %*
diff --git a/roms/edk2/BaseTools/BinWrappers/WindowsLike/Rsa2048Sha256Sign.bat b/roms/edk2/BaseTools/BinWrappers/WindowsLike/Rsa2048Sha256Sign.bat
new file mode 100644
index 000000000..9616cd893
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/WindowsLike/Rsa2048Sha256Sign.bat
@@ -0,0 +1,3 @@
+@setlocal
+@set ToolName=%~n0%
+@%PYTHON_COMMAND% %BASE_TOOLS_PATH%\Source\Python\%ToolName%\%ToolName%.py %*
diff --git a/roms/edk2/BaseTools/BinWrappers/WindowsLike/TargetTool.bat b/roms/edk2/BaseTools/BinWrappers/WindowsLike/TargetTool.bat
new file mode 100644
index 000000000..9616cd893
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/WindowsLike/TargetTool.bat
@@ -0,0 +1,3 @@
+@setlocal
+@set ToolName=%~n0%
+@%PYTHON_COMMAND% %BASE_TOOLS_PATH%\Source\Python\%ToolName%\%ToolName%.py %*
diff --git a/roms/edk2/BaseTools/BinWrappers/WindowsLike/Trim.bat b/roms/edk2/BaseTools/BinWrappers/WindowsLike/Trim.bat
new file mode 100644
index 000000000..9616cd893
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/WindowsLike/Trim.bat
@@ -0,0 +1,3 @@
+@setlocal
+@set ToolName=%~n0%
+@%PYTHON_COMMAND% %BASE_TOOLS_PATH%\Source\Python\%ToolName%\%ToolName%.py %*
diff --git a/roms/edk2/BaseTools/BinWrappers/WindowsLike/UPT.bat b/roms/edk2/BaseTools/BinWrappers/WindowsLike/UPT.bat
new file mode 100644
index 000000000..9616cd893
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/WindowsLike/UPT.bat
@@ -0,0 +1,3 @@
+@setlocal
+@set ToolName=%~n0%
+@%PYTHON_COMMAND% %BASE_TOOLS_PATH%\Source\Python\%ToolName%\%ToolName%.py %*
diff --git a/roms/edk2/BaseTools/BinWrappers/WindowsLike/build.bat b/roms/edk2/BaseTools/BinWrappers/WindowsLike/build.bat
new file mode 100644
index 000000000..9616cd893
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/WindowsLike/build.bat
@@ -0,0 +1,3 @@
+@setlocal
+@set ToolName=%~n0%
+@%PYTHON_COMMAND% %BASE_TOOLS_PATH%\Source\Python\%ToolName%\%ToolName%.py %*
diff --git a/roms/edk2/BaseTools/BinWrappers/WindowsLike/win_build_tools_path_env.yaml b/roms/edk2/BaseTools/BinWrappers/WindowsLike/win_build_tools_path_env.yaml
new file mode 100644
index 000000000..83f5856e7
--- /dev/null
+++ b/roms/edk2/BaseTools/BinWrappers/WindowsLike/win_build_tools_path_env.yaml
@@ -0,0 +1,10 @@
+## @file
+# Add this folder to the path on Windows
+#
+# Copyright (c) Microsoft Corporation.
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+{
+ "scope": "global-win",
+ "flags": ["set_path"]
+}