summaryrefslogtreecommitdiff
path: root/devtools/gendbg.sh
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /devtools/gendbg.sh
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'devtools/gendbg.sh')
-rw-r--r--devtools/gendbg.sh44
1 files changed, 44 insertions, 0 deletions
diff --git a/devtools/gendbg.sh b/devtools/gendbg.sh
new file mode 100644
index 0000000..780533e
--- /dev/null
+++ b/devtools/gendbg.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+OBJCOPY=$STEAM_RUNTIME_PATH/bin/objcopy
+
+function usage {
+ echo "$0 /path/to/input/file [-o /path/to/output/file ]"
+ echo ""
+}
+
+if [ $# == 0 ]; then
+ usage
+ exit 2
+fi
+
+if [ $(basename $1) == $1 ]; then
+ INFILEDIR=$PWD
+else
+ INFILEDIR=$(cd ${1%/*} && echo $PWD)
+fi
+INFILE=$(basename $1)
+
+OUTFILEDIR=$INFILEDIR
+OUTFILE=$INFILE.dbg
+
+while getopts "o:" opt; do
+ case $opt in
+ o)
+ OUTFILEDIR=$(cd ${OPTARG%/*} && echo $PWD)
+ OUTFILE=$(basename $OPTARG)
+ ;;
+ esac
+done
+
+if [ "$OUTFILEDIR" != "$INFILEDIR" ]; then
+ INFILE=${INFILEDIR}/${INFILE}
+ OUTFILE=${OUTFILEDIR}/${OUTFILE}
+fi
+
+pushd "$INFILEDIR"
+$OBJCOPY "$INFILE" "$OUTFILE"
+$OBJCOPY --add-gnu-debuglink="$OUTFILE" "$INFILE"
+popd
+
+