GCubeSDK
©2026 FenixFox®Studios

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.

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.

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.