You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
2.3 KiB
110 lines
2.3 KiB
# Building Tests:
|
|
# jam clean
|
|
# jam -j4 -q
|
|
|
|
# Building Windows:
|
|
# jam clean
|
|
# jam -j4 -q -sWINDOWS=true
|
|
|
|
# (if building the same target repeatedly, don't clean, if that wasn't obvious)
|
|
|
|
##
|
|
## Compiler
|
|
##
|
|
|
|
CC = gcc ;
|
|
|
|
# GCC
|
|
#C++ = g++ ;
|
|
#LINK = g++ ;
|
|
|
|
# Clang
|
|
C++ = clang++ ;
|
|
LINK = clang++ ;
|
|
|
|
BASE2_DIR = libs/base2.0 ;
|
|
|
|
##
|
|
## Compiler arguments
|
|
##
|
|
|
|
## Argument explanation
|
|
#
|
|
# g = debug symbols
|
|
# -O0 = compile without optimizations for debugging
|
|
#
|
|
# -Wall -Wextra = Error detection/tolerance
|
|
# -Wno-unused-parameter = I should probably get rid of this at some point
|
|
|
|
# Arguments used on all projects, regardless of any variables
|
|
C++FLAGS = -std=c++11 -Wall -Wextra -Wno-unused-parameter ;
|
|
|
|
ALLLIBSC++FLAGS = -g ;
|
|
# Required arguments for linux
|
|
LINUXC++FLAGS = -g ;
|
|
# Required arguments for Windows
|
|
#WINDOWSC++FLAGS = -g -stdlib=libc++ -fPIC ;
|
|
#WINDOWSC++FLAGS = -g -stdlib=libc++ -target x86_64-win32 ;
|
|
#WINDOWSC++FLAGS = -g -stdlib=libc++ -target x86_64-w64-mingw32 ;
|
|
|
|
KEEPOBJS = true ; # This doesn't actually fix anything, though it seems like it should
|
|
NOARSCAN = true ; # This actually fixes the problem
|
|
#AR = ar rUu ; # I was thinking maybe the AR command was wrong (always outputting deterministically)
|
|
# It doesn't seem like this is the problem though
|
|
AR = ar cr ;
|
|
|
|
WINDOWSC++FLAGS = -g -Iwin/SFML-2.4.0/include -lstdc++11 -std=c++11 ;
|
|
# ALLLIBSC++FLAGS should be used for all libraries which might be used by both tests and WINDOWS
|
|
if $(WINDOWS)
|
|
{
|
|
# C++ = x86_64-w64-mingw32-g++ ;
|
|
C++ = i686-w64-mingw32-g++ ;
|
|
ALLLIBSC++FLAGS = $(WINDOWSC++FLAGS) ;
|
|
# LINK = x86_64-w64-mingw32-g++ ;
|
|
LINK = i686-w64-mingw32-g++ ;
|
|
LINKLIBS = -Lwin/SFML-2.4.0/lib -lsfml-audio -lsfml-graphics -lsfml-window -lsfml-system ;
|
|
AR = i686-w64-mingw32-ar cr ;
|
|
}
|
|
else
|
|
{
|
|
ALLLIBSC++FLAGS = $(LINUXC++FLAGS) ;
|
|
}
|
|
|
|
|
|
OPTIM = -O0 ;
|
|
|
|
HDRS =
|
|
$(BASE2_DIR)
|
|
$(BASE2_DIR)/dependencies/SFML/include
|
|
;
|
|
|
|
# TODO: Make base hold all this weirdness?
|
|
if $(DEBUG_BUILD)
|
|
{
|
|
SFML_LINKLIBS = -lsfml-audio-d -lsfml-graphics-d -lsfml-window-d -lsfml-system-d ;
|
|
}
|
|
else
|
|
{
|
|
SFML_LINKLIBS = -lsfml-audio -lsfml-graphics -lsfml-window -lsfml-system ;
|
|
}
|
|
|
|
|
|
LINKFLAGS = -g -stdlib=libstdc++
|
|
-Wl,-rpath,.:$(BASE2_DIR)/dependencies/SFML/lib ;
|
|
|
|
LINKLIBS =
|
|
# Standard (e.g. for Tracy)
|
|
-lpthread -ldl
|
|
|
|
# SFML
|
|
-L$(BASE2_DIR)/dependencies/SFML/lib
|
|
$(SFML_LINKLIBS)
|
|
|
|
# OpenGL
|
|
-lGL
|
|
-lGLU
|
|
-lGLEW
|
|
|
|
# Base
|
|
-L$(BASE2_DIR) -lBase20
|
|
;
|