From d830860c5e93eff6e8349ca5ca85e0ca5b4cc9de Mon Sep 17 00:00:00 2001 From: Rodrigo Alfonso Date: Mon, 19 Aug 2024 07:54:52 -0300 Subject: [PATCH] Adding options to compile multiboot roms with compile.sh --- examples/LinkWirelessMultiboot_demo/Makefile | 2 +- .../scripts/package.sh | 6 +- examples/compile.sh | 86 +++++++++++-------- 3 files changed, 53 insertions(+), 41 deletions(-) diff --git a/examples/LinkWirelessMultiboot_demo/Makefile b/examples/LinkWirelessMultiboot_demo/Makefile index 4f5647c..24e84eb 100644 --- a/examples/LinkWirelessMultiboot_demo/Makefile +++ b/examples/LinkWirelessMultiboot_demo/Makefile @@ -134,7 +134,7 @@ LIBDIRS := $(TONCLIB) $(PWD)/../_lib/libugba $(PWD)/../_lib/libgba-sprite-engin # --- switches --- -bMB := 0 # Multiboot build +bMB := 1 # Multiboot build bTEMPS := 0 # Save gcc temporaries (.i and .S files) bDEBUG2 := 0 # Generate debug info (bDEBUG2? Not a full DEBUG flag. Yet) diff --git a/examples/LinkWirelessMultiboot_demo/scripts/package.sh b/examples/LinkWirelessMultiboot_demo/scripts/package.sh index 8f82c49..14a5684 100755 --- a/examples/LinkWirelessMultiboot_demo/scripts/package.sh +++ b/examples/LinkWirelessMultiboot_demo/scripts/package.sh @@ -1,8 +1,8 @@ #!/bin/bash -FILE_INPUT="LinkWirelessMultiboot_demo.gba" -FILE_TMP="LinkWirelessMultiboot_demo.tmp.gba" -FILE_OUTPUT="LinkWirelessMultiboot_demo.out.gba" +FILE_INPUT="LinkWirelessMultiboot_demo.mb.gba" +FILE_TMP="LinkWirelessMultiboot_demo.tmp.mb.gba" +FILE_OUTPUT="LinkWirelessMultiboot_demo.out.mb.gba" DATA="content.gbfs" if [ ! -f "$DATA" ]; then diff --git a/examples/compile.sh b/examples/compile.sh index ea94350..eb9faa4 100755 --- a/examples/compile.sh +++ b/examples/compile.sh @@ -1,5 +1,17 @@ #!/bin/bash +# Usage: +# ./compile.sh +# ./compile.sh multiboot + +if [ "$1" = "multiboot" ]; then + args="bMB=1" + suffix=".mb" +else + args="bMB=0" + suffix="" +fi + if [ "$(uname)" = "Darwin" ]; then # macOS sed_inplace_option="-i \"\"" @@ -8,18 +20,18 @@ else fi cd LinkCable_basic/ -make rebuild -cp LinkCable_basic.gba ../ +make rebuild $args +cp LinkCable_basic$suffix.gba ../ cd .. cd LinkCable_full/ -make rebuild -cp LinkCable_full.gba ../ +make rebuild $args +cp LinkCable_full$suffix.gba ../ cd .. cd LinkCable_stress/ -make rebuild -cp LinkCable_stress.gba ../ +make rebuild $args +cp LinkCable_stress$suffix.gba ../ cd .. cd LinkCableMultiboot_demo/ @@ -28,61 +40,61 @@ cp LinkCableMultiboot_demo.mb.gba ../ cd .. cd LinkGPIO_demo/ -make rebuild -cp LinkGPIO_demo.gba ../ +make rebuild $args +cp LinkGPIO_demo$suffix.gba ../ cd .. cd LinkMobile_demo/ -make rebuild -cp LinkMobile_demo.gba ../ +make rebuild $args +cp LinkMobile_demo$suffix.gba ../ cd .. cd LinkPS2Keyboard_demo/ -make rebuild -cp LinkPS2Keyboard_demo.gba ../ +make rebuild $args +cp LinkPS2Keyboard_demo$suffix.gba ../ cd .. cd LinkPS2Mouse_demo/ -make rebuild -cp LinkPS2Mouse_demo.gba ../ +make rebuild $args +cp LinkPS2Mouse_demo$suffix.gba ../ cd .. cd LinkRawCable_demo/ -make rebuild -cp LinkRawCable_demo.gba ../ +make rebuild $args +cp LinkRawCable_demo$suffix.gba ../ cd .. cd LinkRawWireless_demo/ sed $sed_inplace_option -e "s/\/\/ #define LINK_RAW_WIRELESS_ENABLE_LOGGING/#define LINK_RAW_WIRELESS_ENABLE_LOGGING/g" ../../lib/LinkRawWireless.hpp -make rebuild +make rebuild $args sed $sed_inplace_option -e "s/#define LINK_RAW_WIRELESS_ENABLE_LOGGING/\/\/ #define LINK_RAW_WIRELESS_ENABLE_LOGGING/g" ../../lib/LinkRawWireless.hpp -cp LinkRawWireless_demo.gba ../ +cp LinkRawWireless_demo$suffix.gba ../ cd .. cd LinkSPI_demo/ -make rebuild -cp LinkSPI_demo.gba ../ +make rebuild $args +cp LinkSPI_demo$suffix.gba ../ cd .. cd LinkUART_demo/ -make rebuild -cp LinkUART_demo.gba ../ +make rebuild $args +cp LinkUART_demo$suffix.gba ../ cd .. cd LinkUniversal_basic/ sed $sed_inplace_option -e "s/\/\/ #define LINK_WIRELESS_PUT_ISR_IN_IWRAM/#define LINK_WIRELESS_PUT_ISR_IN_IWRAM/g" ../../lib/LinkWireless.hpp -make rebuild -cp LinkUniversal_basic.gba ../ +make rebuild $args +cp LinkUniversal_basic$suffix.gba ../ sed $sed_inplace_option -e "s/#define LINK_WIRELESS_PUT_ISR_IN_IWRAM/\/\/ #define LINK_WIRELESS_PUT_ISR_IN_IWRAM/g" ../../lib/LinkWireless.hpp cd .. cd LinkCable_full/ sed $sed_inplace_option -e "s/\/\/ #define USE_LINK_UNIVERSAL/#define USE_LINK_UNIVERSAL/g" src/main.h sed $sed_inplace_option -e "s/\/\/ #define LINK_WIRELESS_PUT_ISR_IN_IWRAM/#define LINK_WIRELESS_PUT_ISR_IN_IWRAM/g" ../../lib/LinkWireless.hpp -mv LinkCable_full.gba backup.gba -make rebuild -cp LinkCable_full.gba ../LinkUniversal_full.gba -mv backup.gba LinkCable_full.gba +mv LinkCable_full$suffix.gba backup.gba +make rebuild $args +cp LinkCable_full$suffix.gba ../LinkUniversal_full$suffix.gba +mv backup.gba LinkCable_full$suffix.gba sed $sed_inplace_option -e "s/#define USE_LINK_UNIVERSAL/\/\/ #define USE_LINK_UNIVERSAL/g" src/main.h sed $sed_inplace_option -e "s/#define LINK_WIRELESS_PUT_ISR_IN_IWRAM/\/\/ #define LINK_WIRELESS_PUT_ISR_IN_IWRAM/g" ../../lib/LinkWireless.hpp cd .. @@ -90,28 +102,28 @@ cd .. cd LinkCable_stress/ sed $sed_inplace_option -e "s/\/\/ #define USE_LINK_UNIVERSAL/#define USE_LINK_UNIVERSAL/g" src/main.h sed $sed_inplace_option -e "s/\/\/ #define LINK_WIRELESS_PUT_ISR_IN_IWRAM/#define LINK_WIRELESS_PUT_ISR_IN_IWRAM/g" ../../lib/LinkWireless.hpp -mv LinkCable_stress.gba backup.gba -make rebuild -cp LinkCable_stress.gba ../LinkUniversal_stress.gba -mv backup.gba LinkCable_stress.gba +mv LinkCable_stress$suffix.gba backup.gba +make rebuild $args +cp LinkCable_stress$suffix.gba ../LinkUniversal_stress$suffix.gba +mv backup.gba LinkCable_stress$suffix.gba sed $sed_inplace_option -e "s/#define USE_LINK_UNIVERSAL/\/\/ #define USE_LINK_UNIVERSAL/g" src/main.h sed $sed_inplace_option -e "s/#define LINK_WIRELESS_PUT_ISR_IN_IWRAM/\/\/ #define LINK_WIRELESS_PUT_ISR_IN_IWRAM/g" ../../lib/LinkWireless.hpp cd .. cd LinkWireless_demo/ sed $sed_inplace_option -e "s/\/\/ #define LINK_WIRELESS_PUT_ISR_IN_IWRAM/#define LINK_WIRELESS_PUT_ISR_IN_IWRAM/g" ../../lib/LinkWireless.hpp -make rebuild +make rebuild $args sed $sed_inplace_option -e "s/#define LINK_WIRELESS_PUT_ISR_IN_IWRAM/\/\/ #define LINK_WIRELESS_PUT_ISR_IN_IWRAM/g" ../../lib/LinkWireless.hpp -cp LinkWireless_demo.gba ../ +cp LinkWireless_demo$suffix.gba ../ cd .. cd LinkWireless_demo/ sed $sed_inplace_option -e "s/\/\/ #define LINK_WIRELESS_PUT_ISR_IN_IWRAM/#define LINK_WIRELESS_PUT_ISR_IN_IWRAM/g" ../../lib/LinkWireless.hpp sed $sed_inplace_option -e "s/\/\/ #define PROFILING_ENABLED/#define PROFILING_ENABLED/g" ../../lib/LinkWireless.hpp -mv LinkWireless_demo.gba backup.gba +mv LinkWireless_demo$suffix.gba backup.gba make rebuild cp LinkWireless_demo.gba ../LinkWireless_demo_profiler.gba -mv backup.gba LinkWireless_demo.gba +mv backup.gba LinkWireless_demo$suffix.gba sed $sed_inplace_option -e "s/#define LINK_WIRELESS_PUT_ISR_IN_IWRAM/\/\/ #define LINK_WIRELESS_PUT_ISR_IN_IWRAM/g" ../../lib/LinkWireless.hpp sed $sed_inplace_option -e "s/#define PROFILING_ENABLED/\/\/ #define PROFILING_ENABLED/g" ../../lib/LinkWireless.hpp cd .. @@ -119,6 +131,6 @@ cd .. cd LinkWirelessMultiboot_demo/ sed $sed_inplace_option -e "s/\/\/ #define LINK_WIRELESS_MULTIBOOT_ENABLE_LOGGING/#define LINK_WIRELESS_MULTIBOOT_ENABLE_LOGGING/g" ../../lib/LinkWirelessMultiboot.hpp make rebuild -cp LinkWirelessMultiboot_demo.out.gba ../LinkWirelessMultiboot_demo.gba +cp LinkWirelessMultiboot_demo.out.mb.gba ../LinkWirelessMultiboot_demo.mb.gba sed $sed_inplace_option -e "s/#define LINK_WIRELESS_MULTIBOOT_ENABLE_LOGGING/\/\/ #define LINK_WIRELESS_MULTIBOOT_ENABLE_LOGGING/g" ../../lib/LinkWirelessMultiboot.hpp cd ..