mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-03-22 10:15:22 -05:00
31 lines
807 B
Bash
31 lines
807 B
Bash
#!/bin/bash
|
|
|
|
CC="$1"
|
|
AS="$2"
|
|
OBJ="$3"
|
|
SRC="$4"
|
|
|
|
BUILD_FILENAME=${OBJ%.o}
|
|
|
|
PADDED_SRC="$(mktemp --suffix=.c padded-XXXXXX)"
|
|
PADDED_OBJ="$(mktemp --suffix=.o padded-XXXXXX)"
|
|
PADDED_D="$(mktemp --suffix=.d padded-XXXXXX)"
|
|
|
|
# Create a .c file replacing the nonmatching function with volatile int writes,
|
|
# and compile.
|
|
./tools/asm_processor/asm_processor.py "$SRC" --assembler "$AS" > "$PADDED_SRC"
|
|
$CC -c "$PADDED_SRC" -o "$PADDED_OBJ"
|
|
|
|
# Inject the matching assembly into the padded obj file.
|
|
./tools/asm_processor/asm_processor.py "$SRC" --post-process "$PADDED_OBJ" --assembler "$AS"
|
|
|
|
arm-none-eabi-objcopy --remove-section .comment "$PADDED_OBJ" "$OBJ"
|
|
if [[ $CC == *"gccdep"* ]]; then
|
|
cp "$PADDED_D" "${BUILD_FILENAME}.d"
|
|
fi
|
|
|
|
rm padded-*
|
|
rm output.txt
|
|
rm asm_processor_temp.s
|
|
rm asm_processor_temp.o
|