101 lines
2.7 KiB
Makefile
101 lines
2.7 KiB
Makefile
#COMPILER
|
|
CC = g++
|
|
|
|
#Compilerflags
|
|
CFLAGS = -O2 -c
|
|
|
|
#pfad zu os-spezifischen dateien
|
|
OS = linux
|
|
|
|
#Objekt-Dateien (abhängigkeiten von main)
|
|
OBJ = $(TEMP_PATH)*.o
|
|
|
|
#Quelltexte
|
|
SRC := $(SRC_PATH)$(wildcard *.cpp)
|
|
|
|
#schreibbarbeit sparen
|
|
IC = include/
|
|
LB = lib/
|
|
|
|
#PFADE
|
|
LIBS_PATH = libs/
|
|
SRC_PATH = ../../src/
|
|
INCLUDE_PATH = $(SRC_PATH)
|
|
#INCLUDE = ../../$(IC)
|
|
TOOLS = ../../tools/
|
|
|
|
#Tools
|
|
ADDNEWLINE = $(TOOLS)addnewline/addnewline
|
|
|
|
#muss noch überarbeitet werden
|
|
BIN_PATH = bin/
|
|
TEMP_PATH = temp/
|
|
|
|
#Versionen der Bibliotheken -> pfade, unter denen libraries etc zu finden sind
|
|
VER_BOX2D = box2d-svn
|
|
VER_OGG = ogg-1.1.3
|
|
VER_OPENAL = openal-1.1.0
|
|
VER_SDL = sdl-1.2.13
|
|
VER_SDL_IMAGE = sdl_image-1.2.6
|
|
VER_TINYXML = tinyxml-2.5.3
|
|
VER_VORBIS = vorbis-1.2.0
|
|
|
|
#Namen der statisch zu linkenden Bibliotheken.
|
|
#------------
|
|
#UGJBPIGB
|
|
#(JA, HIER MUSS NOCH WAS HIN...)
|
|
|
|
#Librarys (pfade) (obsolet durch statisches linken(s.o.)?)
|
|
LIP_BOX2D = $(LIBS_PATH)$(VER_BOX2D)/$(LB)
|
|
LIP_OGG = $(LIBS_PATH)$(VER_OGG)/$(LB)
|
|
LIP_OPENAL = $(LIBS_PATH)$(VER_OPENAL)/$(LB)
|
|
LIP_SDL = $(LIBS_PATH)$(VER_SDL)/$(LB)
|
|
LIP_SDL_IMAGE = $(LIBS_PATH)$(VER_SDL_IMAGE)/$(LB)
|
|
LIP_TINYXML = $(LIBS_PATH)$(VER_TINYXML)/$(LB)
|
|
LIP_VORBIS = $(LIBS_PATH)$(VER_VORBIS)/$(LB)
|
|
|
|
LIP_ALL = -L$(LIP_BOX2D) -L$(LIP_OGG) -L$(LIP_OPENAL) -L$(LIP_SDL) -L$(LIP_SDL_IMAGE) -L$(LIP_TINYXML) -L$(LIP_VORBIS)
|
|
|
|
#zu linkende Libraries (obsolet durch statisches linken(s.o.)?)
|
|
LINK_BOX2D = -lbox2d
|
|
LINK_OGG = -logg
|
|
LINK_OPENAL = -lopenal
|
|
LINK_SDL = -lSDL -lSDLmain
|
|
LINK_SDL_IMAGE = -lSDL_image
|
|
LINK_SDL_IMAGE_FORMATS = -lpng -ltiff -ljpeg -lz
|
|
LINK_TINYXML = -ltinyxml
|
|
LINK_VORBIS = -lvorbisfile -lvorbis
|
|
LINK_OPENGL = -lGL -lglut
|
|
|
|
LINK_ALL = $(LINK_SDL) $(LINK_SDL_IMAGE) $(LINK_SDL_IMAGE_FORMATS) $(LINK_VORBIS) $(LINK_OGG) $(LINK_BOX2D) $(LINK_TINYXML) $(LINK_OPENGL) $(LINK_OPENAL)
|
|
|
|
#Bibliotheken-Header (pfade)
|
|
INC_BOX2D = $(LIBS_PATH)$(VER_BOX2D)/$(IC)Include/
|
|
INC_OGG = $(LIBS_PATH)$(VER_OGG)/$(IC)ogg/
|
|
INC_OPENAL = $(LIBS_PATH)$(VER_OPENAL)/$(IC)
|
|
INC_SDL = $(LIBS_PATH)$(VER_SDL)/$(IC)
|
|
INC_SDL_IMAGE = $(LIBS_PATH)$(VER_SDL_IMAGE)/$(IC)
|
|
INC_TINYXML = $(LIBS_PATH)$(VER_TINYXML)/$(IC)
|
|
INC_VORBIS = $(LIBS_PATH)$(VER_VORBIS)/$(IC)
|
|
|
|
INC_ALL = -I$(INC_SDL) -I$(INC_SDL_IMAGE) -I$(INC_BOX2D) -I$(INC_TINYXML) -I$(INC_OGG) -I$(INC_VORBIS) -I$(INC_OPENAL) -I$(INCLUDE_PATH)
|
|
|
|
default: all
|
|
|
|
all: $(OBJ)
|
|
$(CC) $(TEMP_PATH)*.o $(LIP_ALL) $(LINK_ALL) -o $(BIN_PATH)rollmorad
|
|
|
|
%.o: $(SRC_PATH)%.cpp
|
|
mkdir -p $(TEMP_PATH)
|
|
$(ADDNEWLINE) $(SRC_PATH)*.cpp $(INCLUDE_PATH)*.h
|
|
$(CC) $(CFLAGS) $(SRC_PATH)$*.cpp -o $(TEMP_PATH)$@ $(INC_ALL)
|
|
|
|
clean:
|
|
rm -rf $(TEMP_PATH)
|
|
|
|
real_clean: clean
|
|
rm -f $(BIN_PATH)*
|
|
|
|
test:
|
|
echo $(SRC)
|