Rollmorad/build/linux/Makefile

101 lines
2.7 KiB
Makefile
Raw Permalink Normal View History

2015-11-16 00:18:06 +01:00
#COMPILER
CC = g++
#Compilerflags
CFLAGS = -O2 -c
#pfad zu os-spezifischen dateien
OS = linux
#Objekt-Dateien (abh<62>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 <20>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)