Created
January 30, 2019 03:25
-
-
Save bitnenfer/42fac7aa7e31b81cc67aa09e34d2f651 to your computer and use it in GitHub Desktop.
A simple batch file that assembles, links and does a checksum fix using the RGBDS toolchain.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@echo off | |
cls | |
rem ================================================ | |
rem ================================================ | |
rem The project structure looks like this: | |
rem ROOT_PATH/ | |
rem PROJECT_NAME/ | |
rem code/ | |
rem src/ | |
rem include/ | |
rem ================================================ | |
rem ================================================ | |
rem ** THIS ARE VARIABLES THAT NEED TO BE DEFINED ** | |
rem ================================================ | |
set PROJECT_NAME=MyCoolProject | |
set ROOT_PATH=\Path\To\Where\My\Projects\Are | |
set RGBDS_PATH=\Path\To\RGBDS\Toolchain | |
rem ================================================ | |
rem ================================================ | |
set ASM=%RGBDS_PATH%\rgbasm | |
set LNK=%RGBDS_PATH%\rgblink | |
set FIX=%RGBDS_PATH%\rgbfix | |
rem Project Variables | |
set PROJECT_PATH=%ROOT_PATH%\%PROJECT_NAME% | |
set PROJECT_CODE=%PROJECT_PATH%\code | |
set PROJECT_INCLUDE=%PROJECT_CODE%\include\ | |
set PROJECT_SRC=%PROJECT_CODE%\src | |
rem Output Variables | |
set OUTPUT_PATH=%PROJECT_PATH%\build | |
set OUTPUT_NAME=%OUTPUT_PATH%\%PROJECT_NAME% | |
rem Flags | |
set ASM_FLAGS=-i%PROJECT_INCLUDE% | |
set LNK_FLAGS=-m %OUTPUT_NAME%.map -n %OUTPUT_NAME%.sym -o %OUTPUT_NAME%.gb | |
rem Create the output directory | |
if not exist "%OUTPUT_PATH%" mkdir %OUTPUT_PATH% | |
echo Assembling | |
for %%I in (%PROJECT_SRC%\*.z80) do ( | |
echo - %%~I | |
%ASM% %ASM_FLAGS% -o %OUTPUT_PATH%\%%~nI.o %%~I | |
) | |
echo. | |
echo Linking | |
setlocal EnableDelayedExpansion | |
set OBJFILES= | |
for %%I in (%OUTPUT_PATH%\*.o) do ( | |
set OBJFILES=!OBJFILES! %OUTPUT_PATH%\%%~nI.o | |
) | |
echo - %OBJFILES% | |
%LNK% %LNK_FLAGS% %OBJFILES% | |
echo. | |
echo Checksum Fix | |
%FIX% -p0 -v %OUTPUT_NAME%.gb | |
echo - %OUTPUT_NAME%.gb | |
echo. | |
echo Build Complete |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment