Skip to content

Build Arguments

Filipianosol edited this page Dec 21, 2021 · 8 revisions

Instructions from sm64ex provided by fgs, edited by DorfDork and the Render96 team

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.

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. eu and jp are currently only supported on the master branch (sh is not supported at all).
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.
TARGET_SWITCH 0 0, 1 If 1, build Switch.
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.
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.
DISCORDRPC 0 0, 1 If 1, enable Discord Rich Presence support. Only works on x86_64.