forked from MiSTer-devel/InputTest_MiSTer
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.sh
executable file
·36 lines (31 loc) · 865 Bytes
/
build.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Define current project and other variables
PROJECT=$(cat CURRENT_PROJECT)
CURRENTDIR=$(pwd)
# Compile C code
cd src/$PROJECT
mkdir build
mkdir bin
#make clean
make all
cd $CURRENTDIR
# Compile verilator code
cd verilator
./verilate.sh $PROJECT
cd $CURRENTDIR
# Build target locations
TARGETS=( verilator rtl )
# Hexify rom and font and copy to build targets
for TARGET in "${TARGETS[@]}"; do
od -An -t x1 -v src/$PROJECT/bin/rom.bin > $TARGET/rom.hex
od -An -t x1 -v font.pf > $TARGET/font.hex
done
# Hexify resource binarys and copy to build targets
RESOURCES=( sprite palette music sound tilemap )
for RESOURCE in "${RESOURCES[@]}"; do
if [ -r "resources/$PROJECT/$RESOURCE.bin" ]; then
echo "Updating resources/$PROJECT/$RESOURCE.bin"
for TARGET in "${TARGETS[@]}"; do
od -An -t x1 -v resources/$PROJECT/$RESOURCE.bin > $TARGET/$RESOURCE.hex
done
fi
done