Build instructions are set out by operating system below.
These instructions assume that you have the GNU C/C++ compilers and basic build utilities (make, pkg-config, ar) on your system. This means the "build-essential" and "pkg-config" packages on Debian or Ubuntu-based distributions. Other distributions should have similar packages available.
-
Install the following development libraries on your system:
- Required:
- SFML SDK version 2.x http://sfml-dev.org
- OpenAL
- Zlib
- FreeType 2
- The following FFmpeg libraries (required for videos):
- avformat
- avcodec
- swscale
- avutil
- swresample
- OpenGL and GLU (or OpenGLES for GLES version)
- JPEG library
- Make and Package Config
- Xrandr
- Optional:
- Xinerama (for multiple monitor support).
- libarchive (for .7z, .rar, .tar.gz and .tar.bz2 archive support).
- Libcurl (for network info/artwork scraping).
- Required:
-
Extract the Attract-Mode Plus source to your system.
-
From the directory you extracted the source into, run:
make
OpenGL ES support is dropped in Attract-Mode Plus, if you are building on a Raspberry Pi, O-Droid, or another embedded SBC, you can build the OpenGL version with the following if your system supports DRM/KMS:
make USE_DRM=1
This step will create the "attract" executable file.
-
The final step is to actually copy the Attract-Mode Plus executable and data to a location where they can be used. To install on a system-wide basis you should run:
sudo make install
This will copy the "attract" executable to
/usr/local/bin/and default data to/usr/local/share/attract/.For a single user install on Linux or FreeBSD, you can complete this step by copying the contents of the "config" directory from the Attract-Mode Plus source directory to the location that you will use as your Attract-Mode Plus config directory. By default, this config directory is located in
$HOME/.attracton Linux/FreeBSD systems.NOTE: The Attract-Mode Plus makefile tries to follow the GNU standards for specifying installation directories: https://www.gnu.org/prep/standards/html_node/Directory-Variables.html. If you want to change the location where Attract-Mode Plus looks for its default data from
/usr/local/share/attractyou should change these values appropriately before running themakeandmake installcommands.
These instructions assume that you have X Code installed.
-
Install Homebrew http://brew.sh. This can be done by running the following command at a terminal command prompt:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" -
Install the "pkg-config", "ffmpeg", "sfml" and "libarchive" homebrew recipes:
brew update brew install pkg-config ffmpeg sfml libarchive
-
Extract the Attract-Mode Plus source to your system.
-
From the directory you extracted the Attract-Mode Plus source into, run:
make
This step will create the "attract" executable file.
-
The final step is to actually copy the Attract-Mode Plus executable and data to the location where they will be used. You can run:
sudo make install
to install on a system-wide basis. This will copy the 'attract' executable to
/usr/local/bin/and data to/usr/local/share/attract/If you prefer to do a single user install, you can complete this step by copying the contents of the "config" directory from the Attract-Mode Plus source directory to the location that you will use as your Attract-Mode Plus config directory. By default, this config directory is
$HOME/.attracton OS X.
The recommended way to build Windows binaries for Attract-Mode Plus is to cross compile on an OS that supports MXE http://mxe.cc such as Linux, FreeBSD or OS X.
-
Follow the steps in the mxe tutorial to set up mxe on your system: http://mxe.cc/#tutorial
-
Make mxe's sfml, ffmpeg, libarchive and curl packages:
make ffmpeg sfml libarchive curl
the above command will make 32-bit versions of ffmpeg, sfml, libarchive and curl (and anything else that they depend on). To make the 64-bit version use the following:
make MXE_TARGETS='x86_64-w64-mingw32.static' ffmpeg sfml libarchive curl -
Extract the Attract-Mode Plus source to your system.
-
From the directory you extracted the source into, run the following:
make CROSS=1 TOOLCHAIN=i686-w64-mingw32.static WINDOWS_STATIC=1
to build the 32-bit version of Attract-Mode Plus. To build 64-bit, run:
make CROSS=1 TOOLCHAIN=x86_64-w64-mingw32.static WINDOWS_STATIC=1
This step will create the "attract.exe" executable file.
-
Copy the contents of the config directory from the Attract-Mode Plus source directory and the executable you just built into the same directory on your Windows-based system, and you should be ready to go!
-
Install MSYS2 https://msys2.github.io/
-
Launch the MSYS2 shell and update the system:
pacman --needed -Sy bash pacman pacman-mirrors msys2-runtime
-
Close MSYS2 Shell, run it again and run the following command:
pacman -Syu
-
Install required packages. (optionally use the mingw-w64-i686-toolchain instead for 32-bit windows architectures), install "all" (by default) :
pacman -S git mingw-w64-x86_64-toolchain msys/make mingw64/mingw-w64-x86_64-sfml mingw64/mingw-w64-x86_64-ffmpeg mingw64/mingw-w64-x86_64-libarchive
-
Clone and make Attract-Mode Plus
git clone https://github.com/oomek/attractplus attract cd attract makeThis builds a version of Attract-Mode Plus with various .dll dependencies. To run the program, you will need to add
c:\msys64\mingw64\binto your path (for 64-bit systems) or copy the dependent .dlls from that directory into the same directory you will run Attract-Mode Plus from.