1#!/bin/bash
2set -e
3
4ROOT="$(dirname "$(realpath "$0")")"
5SRC_FILES="src/*.cpp"
6
7# =====================
8# ==== Parse flags ====
9# =====================
10for arg in "$@"; do
11 if [[ "$arg" == "-r" ]]; then
12 BUILD="Release"
13 fi
14done
15
16
17# ===================
18# === Directories ===
19# ===================
20mkdir -p build
21# mkdir -p external
22
23
24# ====================
25# === Dependencies ===
26# ====================
27# sudo apt install libsdl2-dev
28# sudo dnf install SDL2-devel
29SDL_CFLAGS=$(sdl2-config --cflags)
30SDL_LDFLAGS=$(sdl2-config --libs)
31
32
33# =========================
34# === Compilation Flags ===
35# =========================
36if [ "$BUILD" == "Release" ]; then
37 CFLAGS="-std=c++20 -O2"
38 LFLAGS=""
39else
40 CFLAGS="-std=c++20 -g -O0"
41 LFLAGS=""
42fi
43
44
45# ===================
46# === Compilation ===
47# ===================
48pushd build > /dev/null
49g++ \
50 $CFLAGS \
51 $SDL_CFLAGS \
52 $ROOT/$SRC_FILES \
53 $LFLAGS \
54 $SDL_LDFLAGS \
55 -o renderer
56popd > /dev/null