Files
eepp/Makefile
spartanj f8703cd568 Added Vertex Buffer support ( cVertexBuffer base class (interface), cVertexBufferOGL fallback if gpu doesn't support VBO's, cVertexBufferVBO uses ARB Vertex Buffer Object ).
Added a Memory Manager to trace memory leaks.
Fixed some memory leaks detected with the new memory manager.
Added an allocator for STL ( to use it with the custom allocation seted in the memory manager ).
Fixed Makefiles ( i wroke them ).
2010-09-03 02:53:14 -03:00

140 lines
3.9 KiB
Makefile

ifeq ($(DEBUGBUILD), yes)
DEBUGFLAGS = -g -DDEBUG -DEE_DEBUG -DEE_MEMORY_MANAGER
else
DEBUGFLAGS = -O2 -s -DNDEBUG
endif
ifeq ($(DYNAMIC), yes)
BUILDFLAGS = -fPIC
LINKFLAGS = -shared
else
BUILDFLAGS =
LINKFLAGS =
endif
export CC = gcc
export CPP = g++
ifeq ($(LLVM_BUILD), yes)
export CC = llvm-gcc
export CPP = llvm-g++
endif
export CFLAGS = -Wall $(DEBUGFLAGS) $(BUILDFLAGS)
export CFLAGSEXT = $(DEBUGFLAGS) $(BUILDFLAGS)
export LDFLAGS = $(LINKFLAGS)
export LIBPATH = ./
export VERSION = 0.7
export CP = cp
export LN = ln
export LNFLAGS = -s -f
export AR = ar
export ARFLAGS = rcs
export DESTDIR = /usr
export DESTLIBDIR = $(DESTDIR)/lib
export DESTINCDIR = $(DESTDIR)/include
EXE = eetest
EXEIV = eeiv
SRCGLEW = $(wildcard ./src/helper/glew/*.c)
SRCSOIL = $(wildcard ./src/helper/SOIL/*.c)
SRCSTBVORBIS = $(wildcard ./src/helper/stb_vorbis/*.c)
SRCZLIB = $(wildcard ./src/helper/zlib/*.c)
SRCLIBZIP = $(wildcard ./src/helper/libzip/*.c)
SRCHAIKUTTF = $(wildcard ./src/helper/haikuttf/*.cpp)
SRCBASE = $(wildcard ./src/base/*.cpp)
SRCAUDIO = $(wildcard ./src/audio/*.cpp)
SRCGAMING = $(wildcard ./src/gaming/*.cpp)
SRCGRAPHICS = $(wildcard ./src/graphics/*.cpp)
SRCMATH = $(wildcard ./src/math/*.cpp)
SRCSYSTEM = $(wildcard ./src/system/*.cpp)
SRCUI = $(wildcard ./src/ui/*.cpp)
SRCUTILS = $(wildcard ./src/utils/*.cpp)
SRCWINDOW = $(wildcard ./src/window/*.cpp)
SRCTEST = $(wildcard ./src/test/*.cpp)
SRCEEIV = $(wildcard ./src/eeiv/*.cpp)
OBJGLEW = $(SRCGLEW:.c=.o)
OBJSOIL = $(SRCSOIL:.c=.o)
OBJSTBVORBIS = $(SRCSTBVORBIS:.c=.o)
OBJZLIB = $(SRCZLIB:.c=.o)
OBJLIBZIP = $(SRCLIBZIP:.c=.o)
OBJHAIKUTTF = $(SRCHAIKUTTF:.cpp=.o)
OBJBASE = $(SRCBASE:.cpp=.o)
OBJAUDIO = $(SRCAUDIO:.cpp=.o)
OBJGAMING = $(SRCGAMING:.cpp=.o)
OBJGRAPHICS = $(SRCGRAPHICS:.cpp=.o)
OBJMATH = $(SRCMATH:.cpp=.o)
OBJSYSTEM = $(SRCSYSTEM:.cpp=.o)
OBJUI = $(SRCUI:.cpp=.o)
OBJUTILS = $(SRCUTILS:.cpp=.o)
OBJWINDOW = $(SRCWINDOW:.cpp=.o)
OBJHELPERS = $(OBJGLEW) $(OBJSOIL) $(OBJSTBVORBIS) $(OBJZLIB) $(OBJLIBZIP)
OBJMODULES = $(OBJHAIKUTTF) $(OBJBASE) $(OBJUTILS) $(OBJMATH) $(OBJSYSTEM) $(OBJAUDIO) $(OBJWINDOW) $(OBJGRAPHICS) $(OBJGAMING) $(OBJUI)
OBJTEST = $(SRCTEST:.cpp=.o)
OBJEEIV = $(SRCEEIV:.cpp=.o)
ifeq ($(DYNAMIC), yes)
LIB = libeepp.so
LIBNAME = $(LIBPATH)/$(LIB).$(VERSION)
INSTALL = && $(LN) $(LNFLAGS) $(DESTLIBDIR)/$(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB)
else
LIB = libeepp-s.a
LIBNAME = $(LIBPATH)/$(LIB)
INSTALL =
endif
all: $(LIB)
libeepp-s.a: $(OBJHELPERS) $(OBJMODULES)
$(AR) $(ARFLAGS) $(LIBNAME) $(OBJHELPERS) $(OBJMODULES)
libeepp.so: $(OBJHELPERS) $(OBJMODULES)
$(CPP) $(LDFLAGS) -Wl,-soname,$(LIB).$(VERSION) -o $(LIBNAME) $(OBJHELPERS) $(OBJMODULES) -lfreetype -lSDL -lsndfile -lopenal -lGL -lGLU
$(OBJMODULES): %.o: %.cpp
$(CPP) -o $@ -c $< $(CFLAGS) -I/usr/include/freetype2
$(OBJHELPERS): %.o: %.c
$(CC) -o $@ -c $< $(CFLAGSEXT) -DSTBI_FAILURE_USERMSG
test: $(EXE)
$(EXE): $(OBJHELPERS) $(OBJMODULES) $(OBJTEST)
$(CPP) -o ./$(EXE) $(OBJHELPERS) $(OBJMODULES) $(OBJTEST) $(LDFLAGS) -lfreetype -lSDL -lsndfile -lopenal -lGL -lGLU
$(OBJTEST): %.o: %.cpp
$(CPP) -o $@ -c $< $(CFLAGS) -I/usr/include/freetype2
eeiv: $(EXEIV)
$(EXEIV): $(OBJHELPERS) $(OBJMODULES) $(OBJEEIV)
$(CPP) -o ./$(EXEIV) $(OBJHELPERS) $(OBJMODULES) $(OBJEEIV) $(LDFLAGS) -lfreetype -lSDL -lsndfile -lopenal -lGL -lGLU -lX11 -lXcursor
$(OBJEEIV): %.o: %.cpp
$(CPP) -o $@ -c $< $(CFLAGS) -I/usr/include/freetype2
docs:
doxygen ./Doxyfile
clean:
@rm -rf $(OBJHELPERS) $(OBJMODULES) $(OBJTEST) $(OBJEEIV)
cleantemp:
@rm -rf $(OBJMODULES) $(OBJTEST) $(OBJEEIV)
cleanall: clean
@rm -rf $(LIBNAME)
@rm -rf ./$(EXE)
@rm -rf ./$(EXEIV)
@rm -rf ./log.log
install:
@($(CP) $(LIBNAME) $(DESTLIBDIR) $(INSTALL))