Files
mm/tools/calc_bss.sh
T
Derek Hensley 471d86f530 Build Sync (#1600)
* Rename outputs

* Makefile target renames

* Add run target

* yeet z64compress

* venv

* baserom_uncompressed -> baserom-decompressed

* input rom name to baserom.z64

* Add BUILD_DIR makefile variable

* Move built roms to build dir

* Move baserom to baseroms folder

* Add version to map file name

* Makefile cleanup

* Rename ldscript to include version

* Multiversion build

* n64-us version name

* Remove venv as dependency of setup

* Readme wording

* extract_baserom.py suggestion

* Readd checksums

* Make .venv work with windows

* missed an endif

* Cleaner windows venv implementation

* Remove duplciate process

* Build process steps

* Move make_options back

* Fix schedule build directory

* Fix schedule includes

* Makefile NON_MATCHING check -> != 0

* OOT 1704 changes

* Small cleanups

* Missed 1 thing

* UNSET -> SYMS

* Update extract_baserom.py

* dmadata.py

* Small cleanup

* dmadata_start

* Format

* dmadata files

* Fix makefile comment

* Jenkins report fix

* extracted dir

* Python dependencies order in readme
2024-04-06 11:07:58 -07:00

43 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
# Given a list of header files, compute the bss index that results from
# including them. (See prevent_bss_reordering.h for more information.)
TEMPC=$(mktemp -t bss.XXXXXXX.c)
TEMPO=$(mktemp -t bss.XXXXXXX.o)
trap "rm -f $TEMPC $TEMPO" EXIT
set -e
if [[ $# = 0 ]]; then
echo "Usage: ./tools/calc_bss.sh file1.h file2.h ..." >&2
exit 1
fi
if [ -z "$CROSS" ]; then
CROSS=mips-linux-gnu-
fi
# bss indexing starts at 3
for I in {3..255}; do
echo "char bss$I;" >> $TEMPC
done
for I in {0..2}; do
echo "char bss$I;" >> $TEMPC
done
while [[ $# -gt 0 ]]; do
echo "#include \"$1\"" >> $TEMPC
shift
done
echo "char measurement;" >> $TEMPC
$(pwd)/tools/ido_recomp/linux/7.1/cc -G 0 -non_shared \
-Xfullwarn -Xcpluscomm -O2 -g3 -Xcpluscomm -mips2 \
-I $(pwd)/ -I $(pwd)/include/ -I $(pwd)/src/ -I $(pwd)/assets/ -I $(pwd)/build/n64-us/ \
-Wab,-r4300_mul -woff 624,649,838,712 -c $TEMPC -o $TEMPO
LINE=$(${CROSS}objdump -t $TEMPO | grep measurement | cut -d' ' -f1)
NUM=$((0x$LINE - 1))
echo "bss index: $NUM"