Compiling FTEQW is straightforward once you have the bare minimum of build dependencies.

For the binaries hosted here, we choose to statically link against many of the dependencies for portability reasons,
while also linking against recent versions of libc for security reasons.

All binaries hosted here were built inside the engine/ dir of the src tree using GNU make, aka gmake.

Windows systems

If you want to compile a Win64 build with MSYS2 or in cygwin, it should be as simple as:
make makelibs FTE_TARGET=win64
make gl-rel FTE_TARGET=win64

You only should need gcc and make installed in cygwin for this.

Linux/BSD systems

It's usually as straight-forward as:
make makelibs
make m-rel


To build all currently stable plugins, it's as simple as:
make plugins-rel

You can specify which plugins get compiled by passing PLUGINS_NATIVE as an example:
make plugins-rel NATIVE_PLUGINS="ffmpeg bullet irc"


To build only a dedicated server binary (you can also launch clients via -dedicated to achieve the goal of running a dedicated server):
make sv-rel


You can also change FTE_TARGET to be win32, SDL2 and on Linux systems linux32 and linux64.
On BSD, you don't need to pass anything specific, but they should also compile the linux* targets as well as the SDL2 target fine.

Note about makelibs: Not building with makelibs will attempt to dynamically link against your system-level versions of dependencies.
Sometimes you want this, sometimes you don't. You definitely want that if you're trying to link against the Steam runtime.
Copyright (C) 2021 Forethought Entertainment