Skip to content

Build options

fgsfds edited this page Aug 15, 2020 · 6 revisions

Here's a list of currently available build options that turn certain features on or off. Append them to your make invocation when building, like so: make FEATURE=1 OTHER_FEATURE=0.

If you're unsure whether you need to specify an option or not, just don't do it, its default value will be used automatically.

This list may include any new build options added to the nightly branch.

Build option Default Possible values Description
VERSION us us, eu, jp, sh Which ROM to use. The selected ROM has to be in the repo folder with the name baserom.$VERSION.z64. sh is currently broken.
TARGET_BITS 32, 64, TARGET_BITS=n appends some compiler flags for an n-bit build. If the value is empty, the option does nothing, assuming your native toolchain will set everything up by itself. Use this only if you're having trouble otherwise.
TARGET_RPI 0 0, 1 If 1, select optimal settings for Raspberry PI hardware. See the main article on that.
TARGET_WEB 0 0, 1 If 1, build Emscripten version. See the main article on that.
WINDOWS_BUILD 0, 1 If 1, build for Windows. Usually set automatically if building on Windows.
OSX_BUILD 0 0, 1 If 1, build for OSX.
WINDOWS_CONSOLE 0 0, 1 If 1, append -mconsole to Windows CFLAGS, making a console window appear while the game is running. Can be useful for debugging purposes.
DEBUG 0 0, 1 If 1, build with debug symbols and default optimization level. Otherwise build with -O2.
RENDER_API GL GL, GL_LEGACY, D3D11, D3D12 Select rendering backend to use. GL corresponds to OpenGL 2.1 (gfx_opengl.c), GL_LEGACY corresponds to OpenGL 1.3 (gfx_opengl_legacy.c). Direct3D backends will also force WINDOW_API to DXGI.
WINDOW_API SDL2 SDL1, SDL2, DXGI Select windowing backend. GL renderers force SDL1 or SDL2 and D3D renderers force DXGI for now, so you don't need to specify this.
AUDIO_API SDL2 SDL1, SDL2 Select audio backend. Keep in mind that you CANNOT mix SDL1 and SDL2.
CONTROLLER_API SDL2 SDL2 Specify list of controller backends to use. There's only one right now. Keep in mind that you CANNOT mix SDL1 and SDL2.
BETTERCAMERA 0 0, 1 If 1, build with analog camera support (uses Puppycam).
NODRAWINGDISTANCE 0 0, 1 If 1, build with disabled draw distance (every object is active at all times). May affect gameplay.
TEXTURE_FIX 0 0, 1 If 1, enable various texture-related bugfixes (e.g. fixes the smoke texture).
EXT_OPTIONS_MENU 1 0, 1 If 1, enable Options menu. Accessed from the Pause menu by pressing R.
EXTERNAL_DATA 0 0, 1 If 1, load textures and soundbanks from external files. Allows you to use texture packs. The default data is copied to a res folder next to the produced executable.
DISCORDRPC 0 0, 1 If 1, enable Discord Rich Presence support. Only works on x86_64.
TEXTSAVES 0 0, 1 If 1, use INI-based save format instead of binary EEPROM dumps. Experimental.
Clone this wiki locally