Config
config.ini is the settings file for your project. It
stores the project name, the folders for source and assets, the path to
GCubeSDK, flags that build the game etc. The editor and make both use this file.
PROJECT_NAME
An optional label so you can tell this project from another one when you open the file.
PROJECT_PATH
The folder this project is located in. Is used when working with the editor.
TARGET
Base name of the executable. <target>.elf and
<target>.dol. Default: main. When
creating a disc image the dol file will be renamed to
sys/main.dol however.
TARGET_PATH
Path to the folder where the generated .elf /
.dol files go. Default: ./.
BUILD
Scratch folder for object files and generated headers. Default:
build. make clean
will reference it. this folder will be generated when running make.
SOURCES
Determines where your project .c / .cpp
files are located. Default: src. This is the code that gets
compiled.
INCLUDES
Determines where your project .h / .hpp
files are located. Default: include.
DATA
Folder path for embedded files. Default:
data. Files in this folder are baked into the DOL. The game
can load them with no disc! Keep it small. Load by file name:
loader->load("person.glb"). Do not create subfolder
structure.
DATAEXT
Folder path for external files. Default:
data_ext. make iso
copies this folder and its subfolders to fsroot/files on
the disc. All kind of assets go in here. Loaders try embedded files
first, then the external files from the disc. make runiso if you want to be
able to use external files.
TEXTURES
Images (PNG, BMP, JPG, JPEG) that make converts to TPL
and then embeds into the DOL. See make textures.
BANNER_PATH
Path to the banner image file. Default ./banner.ppm. The
file must be 96×32. make
banner converts it to the picture on the GameCube IPL (Initial
Program Loader) and in the Dolphin game list.
BANNER_OUT
File name of that banner on the disc. Default:
opening.bnr. Leave this unless you have a reason to change
it.
TITLE
Short game title on the disc banner. This is what Dolphin and the IPL
(Initial Program Loader) show. Default: Demo.
TITLE_FULL
Long game title on the same banner. Default:
GCubeSDK Demonstration.
COMPANY
Short publisher name on the banner. Default:
FenixFoxStudios.
COMPANY_FULL
Long publisher name on the banner. Default:
FenixFoxStudios.
DESCRIPTION
Text on the banner. Default: Version 1.0.
VERSION
Version string in this file and in Edit Banner. Not used yet.
ISO_PATH
Where the finished .iso is written, and where make runiso loads it from.
Default: ./.
ISO_NAME
File name of that image on disk, default demo.iso. Not
the name inside the GameCube menu. That name is TITLE.
DISC_FOLDER
Folder nodtool packs into an ISO, default
./fsroot. make iso
fills files/ and sys/ here first.
GCUBESDK_PATH
Where GCubeSDK is installed. Headers, libgcubesdk.a, and
bin come from here. Other keys can use
$(GCUBESDK_PATH). If this path is wrong, the project does
not build.
DEVKITPPC_PATH
Path to devkitPPC toolchain. make
includes gamecube_rules from this folder. From there it
gets powerpc-eabi-gcc / g++, the linker,
bin2o, elf2dol, and
powerpc-eabi-gdb. The parent folder is
DEVKITPRO (libogc, portlibs).
- Windows :
$(GCUBESDK_PATH)/msys2/opt/devkitpro/devkitPPC - Linux :
$(GCUBESDK_PATH)/devkitpro/devkitPPC
APPLOADER_IMG
Disc boot file copied to fsroot/sys/ for make iso. GCubeSDK does not ship
this file! See Sys files.
FST_BIN
Disc file-system table. Goes to fsroot/sys/ with the
other Sys files. GCubeSDK does
not ship this file!
BI2_BIN
Disc header block. Goes to fsroot/sys/. GCubeSDK does
not ship this file! See Sys
files.
BOOT_BIN
Disc boot binary. Goes to fsroot/sys/. GCubeSDK does not
ship this file! See Sys
files.
KILL_CMD
How make stop kills Dolphin. Run commands call this first so a new launch can start.
- Windows :
taskkill.exe /IM Dolphin.exe /F - Linux :
pkill -x dolphin-emu
DOLLZ3
Path to dollz3. It compresses the DOL and relocates it
so a disc apploader can boot it. A normal make DOL is for
Dolphin and homebrew loaders. On a real GCM that file can fail to start.
make dolrelocate runs
this tool.
- Windows :
$(GCUBESDK_PATH)/bin/dollz3.exe - Linux :
$(GCUBESDK_PATH)/bin/dollz3
NODTOOL
Path to nodtool. This is the disc-image tool. After
make iso has filled DISC_FOLDER
(sys/ + files/), nodtool makegcn
turns that folder into a .iso / .gcm Dolphin
and a real GameCube can mount. Without it you only have loose files, no
disc. You also use it by hand to unpack a disc you own
(nodtool extract) and get the Sys files. See Nodtool.
- Windows :
$(GCUBESDK_PATH)/bin/nodtool.exe - Linux :
$(GCUBESDK_PATH)/bin/nodtool
PPM2BNR
Path to ppm2bnr. make banner uses it to build
opening.bnr from the picture and TITLE.
- Windows :
$(GCUBESDK_PATH)/bin/ppm2bnr.exe - Linux :
$(GCUBESDK_PATH)/bin/ppm2bnr
CODE_EDITOR
Only Relevant for users who use the editor. Path to your preferred
IDE when pressing the "Open Code" Button (F10). Default:
code.
EDITOR
Only Relevant for users who use the editor and press the "Edit"
button. Default: notepad on Windows, xdg-open
on Linux. Empty means use CODE_EDITOR.
DOLPHIN
Path to the Dolphin executable. make run and the other run commands launch this file. If the path is empty, the editor offers to download Dolphin and then writes the path here. A CLI user must get Dolphin themselves and put the path in this key.
- Windows :
$(GCUBESDK_PATH)/Dolphin-x64/Dolphin.exe - Linux :
$(GCUBESDK_PATH)/Dolphin/dolphin-emu
GDB_PORT
Port for BBA GDB, default 2828. See Debugger. make gdb uses GDB_USB_PORT.
GDB_USB_PORT
USB Gecko port, default 55020. make gdb attaches here.
CFLAGS
Flags for .c files (-g, -O2,
warnings). The Makefile still adds the GameCube machine flags.
CXXFLAGS
Same idea as CFLAGS, for .cpp
files.
LDFLAGS
Linker flags. Default: also writes a .map file next to
the ELF.
LIBS
Libraries to link. Keep -lgcubesdk. Add more
-l names here when you need them.
LIBDIRS
Extra -L folders. Empty by default. The SDK
lib folder is already searched via GCUBESDK_PATH.