|
|
@@ -1,120 +0,0 @@
|
|
|
-####################################################################
|
|
|
-# #
|
|
|
-# Q-Gears #
|
|
|
-# #
|
|
|
-# Depends : OGRE, OIS, openal, vorbisfile #
|
|
|
-# Internal : lua, luabind, tinyxml #
|
|
|
-# #
|
|
|
-# make DEBUG=1 - Debug #
|
|
|
-# make - Release #
|
|
|
-# #
|
|
|
-####################################################################
|
|
|
-
|
|
|
-# Useful stuff, for eg. cross-compiling
|
|
|
-INCLUDE_DIR := /usr/include
|
|
|
-OGRE_INCLUDE := ${INCLUDE_DIR}/OGRE
|
|
|
-OIS_INCLUDE := ${INCLUDE_DIR}/OIS
|
|
|
-CFLAGS := `pkg-config OGRE OIS openal vorbisfile --cflags`
|
|
|
-CXXFLAGS := `pkg-config OGRE OIS openal vorbisfile --cflags`
|
|
|
-LIBS := `pkg-config OGRE OIS openal vorbisfile --libs`
|
|
|
-DEBUG := 0
|
|
|
-
|
|
|
-# ---- Q-GEARS Specific ----
|
|
|
-CORE_DIR := core
|
|
|
-VIEWER_DIR := viewer
|
|
|
-QGEARS_BIN := QGears
|
|
|
-BUILD_DIR := ../output
|
|
|
-
|
|
|
-# ATM there is no intelligent render system selection,
|
|
|
-# so put your rendersystem path here and it gets copied to build dir
|
|
|
-# with name "RenderSystem_GL.so" or "RenderSystem_GL_d.so" in debug mode
|
|
|
-OGRE_RENDERER := /usr/lib/OGRE/RenderSystem_GL.so
|
|
|
-
|
|
|
-# ---- Libs that come with Q-Gears ---
|
|
|
-INTERNAL_LIB_DIR := ${CORE_DIR}/library
|
|
|
-LUA_DIR := ${INTERNAL_LIB_DIR}/lua
|
|
|
-LUABIND_DIR := ${INTERNAL_LIB_DIR}/luabind
|
|
|
-TINYXML_DIR := ${INTERNAL_LIB_DIR}/tinyxml
|
|
|
-
|
|
|
-# If you set these to 0, we will try to use system libs instead
|
|
|
-BUILD_INTERNAL_LUA := 1
|
|
|
-BUILD_INTERNAL_LUABIND := 1
|
|
|
-BUILD_INTERNAL_TINYXML := 1
|
|
|
-
|
|
|
-# Define libs for these if you don't want to build them
|
|
|
-# Default values are just a guess, there is no quarntee all of them come with pkg-configs
|
|
|
-LUA_LIB = `pkg-config lua --libs`
|
|
|
-LUABIND_LIB = `pkg-config luabind --libs`
|
|
|
-TINYXML_LIB = `pkg-config tinyxml --libs`
|
|
|
-
|
|
|
-# ---- A.I ----
|
|
|
-# Intenal libs should be build before anything else.
|
|
|
-ifeq (${BUILD_INTERNAL_LUA},1)
|
|
|
- SOURCE += $(patsubst %.c,%,$(wildcard ${LUA_DIR}/*.c))
|
|
|
-else
|
|
|
- LIBS += ${LUA_LIB}
|
|
|
- INCLUDES += -I${LUA_DIR}
|
|
|
-endif
|
|
|
-
|
|
|
-ifeq (${BUILD_INTERNAL_LUABIND},1)
|
|
|
- SOURCE += $(patsubst %.cpp,%,$(wildcard ${LUABIND_DIR}/*.cpp))
|
|
|
-else
|
|
|
- LIBS += ${LUABIND_LIB}
|
|
|
- INCLUDES += -I${LUABIND_DIR}
|
|
|
-endif
|
|
|
-
|
|
|
-ifeq (${BUILD_INTERNAL_TINYXML},1)
|
|
|
- SOURCE += $(patsubst %.cpp,%,$(wildcard ${TINYXML_DIR}/*.cpp))
|
|
|
-else
|
|
|
- LIBS += ${TINYXML_LIB}
|
|
|
- INCLUDES += -I${TINYXML_DIR}
|
|
|
-endif
|
|
|
-
|
|
|
-ifeq (${DEBUG},1)
|
|
|
- DEFINES += -D_DEBUG
|
|
|
- CFLAGS = -g -O0
|
|
|
- CXXFLAGS = -g -O0
|
|
|
-endif
|
|
|
-
|
|
|
-# ---- Build defines ----
|
|
|
-SOURCE += Main.cpp \
|
|
|
- $(patsubst %.cpp,%,$(wildcard core/*.cpp)) \
|
|
|
- $(patsubst %.cpp,%,$(wildcard core/particles/*.cpp)) \
|
|
|
- $(patsubst %.cpp,%,$(wildcard core/particles/emitters/*.cpp)) \
|
|
|
- $(patsubst %.cpp,%,$(wildcard core/particles/renderer/*.cpp))
|
|
|
-DEFINES += -DTIXML_USE_STL
|
|
|
-INCLUDES += -I. -I${VIEWER_DIR} -I${CORE_DIR} -I${INCLUDE_DIR} -I${OGRE_INCLUDE} -I${OIS_INCLUDE} -I${INTERNAL_LIB_DIR}
|
|
|
-TARGET = ${BUILD_DIR}/${QGEARS_BIN}
|
|
|
-OBJ = $(addsuffix .o, $(basename $(SOURCE)))
|
|
|
-
|
|
|
-all: ${TARGET}
|
|
|
- @true
|
|
|
-
|
|
|
-# Ugly CPP
|
|
|
-%.o : %.cpp
|
|
|
- ${CXX} ${CXXFLAGS} ${DEFINES} ${INCLUDES} -c $^ -o $@
|
|
|
-
|
|
|
-# Good old C
|
|
|
-%.o : %.c
|
|
|
- ${CC} ${CFLAGS} ${DEFINES} ${INCLUDES} -c $^ -o $@
|
|
|
-
|
|
|
-# Link, create build dir if does not exist
|
|
|
-${TARGET}: ${OBJ}
|
|
|
- mkdir -p "${BUILD_DIR}"
|
|
|
- ${CXX} $^ ${LIBS} -o "${TARGET}"
|
|
|
-
|
|
|
-ifeq (${DEBUG},1)
|
|
|
- cp "${OGRE_RENDERER}" "${BUILD_DIR}/RenderSystem_GL_d.so"
|
|
|
-else
|
|
|
- cp "${OGRE_RENDERER}" "${BUILD_DIR}/RenderSystem_GL.so"
|
|
|
-endif
|
|
|
-
|
|
|
-# Note: Don't clean ${BUILD_DIR} it's generally non good idea for deveploment
|
|
|
-clean:
|
|
|
- ${RM} ${OBJ}
|
|
|
- ${RM} "${TARGET}"
|
|
|
-
|
|
|
-# TO-DO
|
|
|
-# Note: Use ${PREFIX} for install location
|
|
|
-install:
|
|
|
- echo "Not yet implented"
|