Skip to content

Build options

fgsfds edited this page Jun 17, 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. This list applies to the nightly branch. master lacks *_API, EXTERNAL_DATA and DISCORDRPC.

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 SDL2, DXGI Select windowing backend. GL renderers force SDL2 and D3D renderers force DXGI for now, so you don't need to specify this.
AUDIO_API SDL2 SDL2 Select audio backend. There's only one right now.
CONTROLLER_API SDL2 SDL2 Specify list of controller backends to use. There's only one right now.
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