mirror of
https://github.com/pret/pmd-sky.git
synced 2026-04-22 01:27:21 -05:00
41 lines
965 B
Bash
Executable File
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
|