pmd-sky/tools/m2ctx/m2ctx.sh
AnonymousRandomPerson b200a0faff Started EU support
2023-11-01 18:44:19 -04:00

41 lines
965 B
Bash
Executable File

#!/usr/bin/env bash
OUT_FILE=ctx.c
GCC=gcc
FLAGS="-E -P -dD -undef"
INCLUDES="-Iinclude -Iinclude/library -Ifiles -Ilib/include -include global.h"
DEFINES="-DGAME_REMASTER=0 -DNORTH_AMERICA -DPM_KEEP_ASSERTS -DSDK_ARM9 -DSDK_CODE_ARM -DSDK_FINALROM"
generate-ctx () {
# Remove any line containing a predefined macro. If not removed, mwccarm
# generates compiler warnings.
grep "^#include " "$1" | $GCC $FLAGS $INCLUDES $DEFINES -x c - | sed '/__STDC__\|__STDC_VERSION__\|__STDC_VERSION__\|__STDC_HOSTED__/d' > $OUT_FILE
}
usage () {
echo "Generate a context file for decomp.me."
echo "Usage: $0 [-h] [FILEPATH]"
echo ""
echo "Arguments:"
echo " FILEPATH Source file used to generate ctx.c"
echo ""
echo "Options:"
echo " -h Show this message and exit"
}
while [[ $# -gt 0 ]]; do
key="$1"
case $key in
-h)
usage
exit 0
;;
*)
generate-ctx "$1"
exit 0
;;
esac
done