THE UR-QUAN MASTERS: BUILD INSTRUCTIONS --------------------------------------- INSTALLING PREREQUISITES ------------------------ To build The Ur-Quan Masters, you must first install its prerequisites: SDL2, PNG, Ogg Vorbis, and Zlib. How to do this will depend on what operating system you are running: On Debian or similar systems like Ubuntu, install the following packages: sudo apt-get install build-essential libogg-dev libpng-dev libsdl2-dev \ libvorbis-dev libz-dev On Fedora or similar systems like CentOS, install these packages: sudo dnf install libogg-devel libpng-devel libvorbis-devel make SDL2-devel \ zlib-devel On macOS, install Xcode from the App Store, and then install "Additional components" when you run it for the first time. You can then install brew from https://brew.sh and then use it to install your requirements from the Terminal: brew install libogg libpng libvorbis sdl2 On Windows, you will need to use the MSYS2 system from https://www.msys2.org -- after you install the base system, open an "MSYS2 MSYS" window and update the system with the command pacman -Syuu until there is nothing left to do. Aftr that you can install the packages you will need to build the 32-bit version of UQM: pacman -S make pkg-config mingw-w64-i686-gcc mingw-w64-i686-libogg \ mingw-w64-i686-libpng mingw-w64-i686-libsystre \ mingw-w64-i686-libvorbis mingw-w64-i686-SDL2 mingw-w64-i686-zlib Actually building UQM will need to be done from a "MSYS2 MinGW 32-bit" window, not "MSYS2 MSYS". BUILDING THE PROGRAM -------------------- Building and configuration is managed by the "build.sh" script in the same directory as this file. Ordinarily, you will only need the command ./build.sh uqm To configure and build the system. Pass an argument like "-j5" for a parallel build using 5 processes. To delete the current bulid and reconfigure, issue the command ./build.sh uqm clean And it will clear out all configuration choices. The configuration process is interactive; for unattended or scripted installs, consult the "config.state" file generated by the configuration process and synthesize an equivalent as needed; builds will then skip the configure step after that. After the build completes, a binary named "uqm" or "uqm-debug" will be created, and should be runnable out of this directory. To produce a distributable or installable package that runs on any system, more work is needed. BUILDING AN INSTALLABLE PACKAGE ------------------------------- LINUX: The UQM project does not officially maintain any installation packages for any Linux distro, but other volunteers have often done this already. In general, all that will be needed is to arrange matters so that the uqm binary and the content directory are installed into globally accessible locations, and that it is invoked with arguments that properly identify those directories. WINDOWS: An installable Windows build takes the UQM.EXE file created by the build process and then correlates it with the prepackaged content packs to produce an installer executable that will download all other data from sourceforge. See INSTALL.win32 for the extra steps required for this. MAC: A redistributable package on macOS is an app bundle that contains everything needed to run the program. Because of the way brew handles system dependencies, the program must be built differently to be redistributable. See INSTALL.macos for details on how to do this.