m2ctx for usage with decomp.me

This commit is contained in:
red031000 2022-10-26 14:08:37 +01:00
parent a5e6a7bfa6
commit f10505f4cc
No known key found for this signature in database
GPG Key ID: A3C87CFF2DC536C2
3 changed files with 43 additions and 0 deletions

1
.gitattributes vendored
View File

@ -1,2 +1,3 @@
*.sha1 text eol=lf
charmap.txt text eol=crlf
m2ctx.sh text eol=lf

2
.gitignore vendored
View File

@ -53,3 +53,5 @@ files/**/*.c
# MacOS garbage
.DS_Store
#decomp.me helper files
ctx.c

40
m2ctx.sh Normal file
View File

@ -0,0 +1,40 @@
#!/usr/bin/env bash
OUT_FILE=ctx.c
GCC=gcc
FLAGS="-E -P -dD -undef"
INCLUDES="-Iinclude -Iinclude/constants -Iinclude/nitro -Iinclude-mw -Ifiles -Iarm9/lib/NitroSDK/include -Iarm9/lib/libc/include -Iarm9/lib/libnns/include -Iarm9/modules/21/include -Iarm9/modules/52/include -Iarm9/modules/59/include -include global.h"
DEFINES="-DDIAMOND"
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