aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile412
1 files changed, 268 insertions, 144 deletions
diff --git a/Makefile b/Makefile
index d308319..2936037 100644
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,7 @@ endif
ifeq ($(UNAME), Windows)
EXE_EXT=.exe
- STA_LIB_EXT=.lib
+ STA_LIB_EXT=.a
DYN_LIB_EXT=.dll
CMAKE_TYPE="MinGW Makefiles"
CMAKE_FLAGS=-G $(CMAKE_TYPE) -DCMAKE_SH="CMAKE_SH-NOTFOUND"
@@ -22,78 +22,128 @@ ifeq ($(UNAME), Linux)
CMAKE_FLAGS= -G $(CMAKE_TYPE)
endif
+BIN_DIR=bin
+BUILD_DIR=build
+SRC_DIR=src
+LIB_DIR=lib
+DOC_DIR=doc
+
+CLIENTNAME=client
+SERVERNAME=server
+MASTERNAME=masterserver
+
+EX_PRE = brokengine_
+EX_PARTS = $(CLIENTNAME) $(SERVERNAME) $(MASTERNAME)
+
+NAMES = $(EX_PARTS:%=$(EX_PRE)%)
+BINS+= $(foreach part,$(EX_PARTS),$(BIN_DIR)/$(part)/bin/$(EX_PRE)$(part)$(EXE_EXT))
+BUILDS = $(EX_PARTS:%=$(BUILD_DIR)/%)
+SRC_DIRS = $(EX_PARTS:%=$(SRC_DIR)/%)
#Run with mingw32-make
-CLIENT_NAME=brokengine
-CLIENT_EXE=$(CLIENT_NAME)$(EXE_EXT)
-CLIENT_DIR=bin/client/bin
-CLIENT_PATH=$(CLIENT_DIR)/$(CLIENT_EXE)
-CLIENT_SRC=src/client/
-CLIENT_BUILD=build/client/
+#CLIENT_NAME=brokengine
+#CLIENT_EXE=$(CLIENT_NAME)$(EXE_EXT)
+#CLIENT_DIR=$(BIN_DIR)/client/bin
+#CLIENT_PATH=$(CLIENT_DIR)/$(CLIENT_EXE)
+#CLIENT_SRC=$(SRC_DIR)/client
+#CLIENT_BUILD_DIR=$(BUILD_DIR)/client
-SERVER_NAME=brokeserver
-SERVER_EXE=$(SERVER_NAME)$(EXE_EXT)
-SERVER_DIR=bin/server/bin
-SERVER_PATH=$(SERVER_DIR)/$(SERVER_EXE)
-SERVER_SRC=src/server/
-SERVER_BUILD=build/server/
+#SERVER_NAME=brokeserver
+#SERVER_EXE=$(SERVER_NAME)$(EXE_EXT)
+#SERVER_DIR=bin/server/bin
+#SERVER_PATH=$(SERVER_DIR)/$(SERVER_EXE)
+#SERVER_SRC=src/server/
+#SERVER_BUILD=build/server/
-SHARED_SRC=src/shared/
+#SHARED_SRC=src/shared/
-TEST_PATH=bin/test/
-TEST_SRC=src/test/
+#TEST_PATH=bin/test/
+#TEST_SRC=src/test/
-MASTER_EXE=borkmaster.exe
+#MASTER_EXE=borkmaster.exe
+CXX?=g++
+MKDIR?=mkdir
+RM?=rm -f
+ECHO?=echo
-#Change these on linux
-CC=g++
-MKDIR=mkdir
-RM=rm -f
-ECHO=printf
+LLUADIR=$(LIB_DIR)/luajit
+LIRRDIR=$(LIB_DIR)/irrlicht
+LBULDIR=$(LIB_DIR)/bullet
+LNANDIR=$(LIB_DIR)/nanomsg
#Include directories
-ILUADIR=./lib/luajit/src
-IIRRDIR=./lib/irrlicht/include
-IBULDIR=./lib/bullet/src
-INANDIR=./lib/nanomsg/src
-ISHADIR=./src
-INCLUDES=-I$(ILUADIR) -I$(IIRRDIR) -I$(IBULDIR) -I$(INANDIR) -I$(ISHADIR)
+ILUADIR=$(LLUADIR)/src
+IIRRDIR=$(LIRRDIR)/include
+IBULDIR=$(LBULDIR)/src
+INANDIR=$(LNANDIR)/src
+ISHADIR=src
+INCLUDE_PATHS=-I$(ILUADIR) -I$(IIRRDIR) -I$(IBULDIR) -I$(INANDIR) -I$(ISHADIR)
#library directories
-LLUADIR=lib/luajit
-LIRRDIR=lib/irrlicht
-LBULDIR=lib/bullet
-LNANDIR=lib/nanomsg
-LIBRARIES=-Llib
+CXXFLAGS+=$(INCLUDE_PATHS)
+
+LDFLAGS+=-Llib
#Libraries
-LIBLUA=lib/libluajit.a
-LIBIRR=lib/libIrrlicht.a
-LIBBCO=lib/libBulletCollision.a
-LIBBDY=lib/libBulletDynamics.a
-LIBBLM=lib/libLinearMath.a
-LIBNAN=lib/libnanomsg.a
+#static libs
+LIB_S_LUA=lib/libluajit.a
+LIB_S_IRR=lib/Irrlicht.a
+LIB_S_BCO=lib/libBulletCollision.a
+LIB_S_BDY=lib/libBulletDynamics.a
+LIB_S_BLM=lib/libLinearMath.a
+LIB_S_NAN=lib/libnanomsg.a
+
+#dynamic libraries
+LIB_D_LUA=lib/lua51$(DYN_LIB_EXT)
+LIB_D_IRR=lib/Irrlicht$(DYN_LIB_EXT)
+# Bullet cannot be built dynamically
+LIB_D_BCO=$(LIB_S_BCO)
+LIB_D_BDY=$(LIB_S_BDY)
+LIB_D_BLM=$(LIB_S_BLM)
+LIB_D_NAN=lib/nanomsg/libnanomsg$(DYN_LIB_EXT)
+
+DLLS=Irrlicht libnanomsg lua51
+BINS=
+ifeq ($(DEBUG),true)
+ LIB_OBJS = $(LIB_D_LUA) $(LIB_D_IRR) $(LIB_D_BCO) $(LIB_D_BDY) $(LIB_D_BLM) $(LIB_D_NAN)
+ BINS+=$(DLLS:%=$(BIN_DIR)/$(CLIENTNAME)/bin/%$(DYN_LIB_EXT))
+else
+ LIB_OBJS = $(LIB_S_LUA) $(LIB_S_IRR) $(LIB_S_BCO) $(LIB_S_BDY) $(LIB_S_BLM) $(LIB_S_NAN)
+endif
-DLLIRR=$(LIRRDIR)/Irrlicht.dll
+#LIBLUA=lib/libluajit.a
+#LIBIRR=lib/libIrrlicht.a
+#LIBBCO=lib/libBulletCollision.a
+#LIBBDY=lib/libBulletDynamics.a
+#LIBBLM=lib/libLinearMath.a
+#LIBNAN=lib/libnanomsg.a
-DYNAMIC_LIBS = #-lnanomsg.dll #-lIrrlicht
+#DLLIRR=$(LIRRDIR)/Irrlicht.dll
+
+# Libraries
#order matters!
-STATIC_LIBS = -lBulletDynamics -lBulletCollision -lLinearMath -lIrrlicht -lluajit -lnanomsg
+LIBS=-lBulletDynamics -lBulletCollision -lLinearMath -lIrrlicht -lnanomsg
ifeq ($(UNAME),Windows)
- STATIC_LIBS+=-lOpenGL32
+ LIBS+=-lOpenGL32
else
- DYNAMIC_LIBS+=-lGL
+ LIBS+=-lGL
+endif
+ifeq ($(DEBUG),true)
+ LIBS+=-llua51
+else
+ LIBS+=-lluajit
endif
-LIBS=-Bstatic $(STATIC_LIBS) -Bdynamic $(DYNAMIC_LIBS)
-
-SLIBS=$(LIBLUA) $(LIBIRR) $(LIBBDY) $(LIBBCO) $(LIBBLM) $(LIBNAN)
+#can't compile with -std=c++11 because irrlicht will complain
+CXXFLAGS+=-Wall
+LDFLAGS+=$(LIBS)
+ifeq ($(DEBUG), true)
+else
+ CXXFLAGS += -static $(INCLUDE_PATHS) -D_IRR_STATIC_LIB_ -DNN_STATIC_LIB
+endif
-#can't compile with -std=c++11 because irrlicht will complain
-CFLAGS=-Wall -static $(INCLUDES) -D_IRR_STATIC_LIB_ -DNN_STATIC_LIB
-LDFLAGS=
ifeq ($(UNAME),Windows)
LDFLAGS+=-mwindows -lwinmm #-Wl,-subsystem,windows
STATIC_LIBS+=-lws2_32 -lmswsock -ladvapi32
@@ -106,120 +156,161 @@ ifeq ($(UNAME),true)
endif
ifeq ($(DEBUG),true)
- CFLAGS+=-g
+ CXXFLAGS+=-O0 -g
else
- CFLAGS+=-O3
+ CXXFLAGS+=-O3
#LDFLAGS+=--strip-all
endif
-all : $(CLIENT_PATH) $(SERVER_PATH)
+
+FSYSTEM_FOLDERS = lua_api phys util lua_api/irr lua_api/phys lua_api/gui lua_api/scene lua_api/video
+CLIENT_BUILD_FOLDERS = $(FSYSTEM_FOLDERS:%=$(BUILD_DIR)/$(CLIENTNAME)/%)
+
+all : $(BINS)
client : $(CLIENT_PATH)
server : $(SERVER_PATH)
+SHARED_CLIENT_FILES = lua_api/common phys/physcommon lua_api/phys/bphysbox util/hashmap lua_api/stream lua_api/load_net
+SHARED_CLIENT_OBJS = $(SHARED_CLIENT_FILES:%=$(BUILD_DIR)/$(CLIENTNAME)/%.o)
+
+# The client-side only stuff
+LAPI_GUI = iguibutton iguicheckbox iguielement iguiimage iguilabel iguiskin iguiutil iguiwindow
+LAPI_PHYS = bphysmodel cbphysbox
+LAPI_SCENE = icamera igeneric ilight imesh
+LAPI_VIDEO = iimage itexture smaterial
+LAPI_LOAD = load_gui load_game load_scene load_phys load_video
+LAPI_OBJS_T = $(LAPI_GUI:%=gui/%.o) $(LAPI_PHYS:%=phys/%.o) $(LAPI_SCENE:%=scene/%.o) $(LAPI_VIDEO:%=video/%.o)
+LAPI_OBJS = $(LAPI_OBJS_T:%=$(BUILD_DIR)/$(CLIENTNAME)/lua_api/%) $(LAPI_LOAD:%=$(BUILD_DIR)/$(CLIENTNAME)/lua_api/%.o)
+CLIENT_FILES = initdevice menuhandeler callbackhandeler
+CLIENT_SRCS = $(CLIENT_FILES:%=$(BUILD_DIR)/$(CLIENTNAME)/%.o) $(LAPI_OBJS)
+CLIENT_OBJS = $(BUILD_DIR)/$(CLIENTNAME)/main.o $(CLIENT_SRCS) $(SHARED_CLIENT_OBJS)
+
#Compile the client
-$(CLIENT_PATH) : $(CLIENT_BUILD)main.o $(CLIENT_BUILD)initdevice.o $(CLIENT_BUILD)menuhandeler.o $(CLIENT_BUILD)load_gui.o $(CLIENT_BUILD)callbackhandeler.o $(CLIENT_BUILD)load_game.o $(CLIENT_BUILD)load_scene.o $(CLIENT_BUILD)load_phys.o $(CLIENT_BUILD)common.o $(CLIENT_BUILD)load_net.o $(CLIENT_BUILD)physcommon.o $(SLIBS) $(CLIENT_BUILD)load_video.o
- $(CC) $(CFLAGS) -o $(CLIENT_PATH) $(CLIENT_BUILD)*.o $(LIBRARIES) $(DYNAMIC_LIBS) $(STATIC_LIBS) $(SLIBS) $(LDFLAGS)
+$(BIN_DIR)/$(CLIENTNAME)/bin/$(EX_PRE)$(CLIENTNAME)$(EXE_EXT) : $(CLIENT_OBJS) $(LIB_OBJS)
+ $(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS)
-$(CLIENT_BUILD)main.o : $(CLIENT_SRC)main.cpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)main.o $(CLIENT_SRC)main.cpp
+# does not have .hpp associated
+$(BUILD_DIR)/$(CLIENTNAME)/main.o : $(SRC_DIR)/client/main.cpp
+ $(CXX) $(CXXFLAGS) -c -o $@ $^
-$(CLIENT_BUILD)physcommon.o : $(SHARED_SRC)phys/physcommon.cpp $(SHARED_SRC)phys/physcommon.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)physcommon.o $(SHARED_SRC)phys/physcommon.cpp
+$(CLIENT_SRCS) : $(BUILD_DIR)/$(CLIENTNAME)/%.o : src/client/%.cpp $(SRC_DIR)/client/%.hpp
+ @echo "Building client $^"
+ $(CXX) $(CXXFLAGS) -c -o $@ $<
-$(CLIENT_BUILD)load_net.o : $(SHARED_SRC)lua_api/load_net.cpp $(SHARED_SRC)lua_api/load_net.hpp $(CLIENT_BUILD)stream.o
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_net.o $(SHARED_SRC)lua_api/load_net.cpp
+$(SHARED_CLIENT_OBJS) : $(BUILD_DIR)/$(CLIENTNAME)/%.o : src/shared/%.cpp $(SRC_DIR)/shared/%.hpp
+ @echo "Building shared $<"
+ $(CXX) $(CXXFLAGS) -c -o $@ $<
-$(CLIENT_BUILD)stream.o : $(SHARED_SRC)lua_api/stream.cpp $(SHARED_SRC)lua_api/stream.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)stream.o $(SHARED_SRC)lua_api/stream.cpp
+#$(BUILD_DIR)/$(CLIENTNAME)/lua_api/common.o : $(SRC_DIR)/shared/lua_api/common.c $(SRC_DIR)/shared/lua_api/common.h
+ #$(CXX) $(CXXFLAGS) -c -o $@ $^
+#$(CLIENT_OBJS) : build/%.o : src/%.cpp
+ #$(CXX) $(CXXFLAGS) -c -o $@ $^
-$(CLIENT_BUILD)common.o : $(SHARED_SRC)lua_api/common.c $(SHARED_SRC)lua_api/common.h
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)common.o $(SHARED_SRC)lua_api/common.c
+#$(CLIENT_BUILD)main.o : $(CLIENT_SRC)main.cpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)main.o $(CLIENT_SRC)main.cpp
-$(CLIENT_BUILD)initdevice.o : $(CLIENT_SRC)initdevice.cpp $(CLIENT_SRC)initdevice.hpp
- $(CC) $(CFLAGS) -c -static -o $(CLIENT_BUILD)initdevice.o $(CLIENT_SRC)initdevice.cpp
+#$(CLIENT_BUILD)physcommon.o : $(SHARED_SRC)phys/physcommon.cpp $(SHARED_SRC)phys/physcommon.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)physcommon.o $(SHARED_SRC)phys/physcommon.cpp
-$(CLIENT_BUILD)menuhandeler.o : $(CLIENT_SRC)menuhandeler.cpp $(CLIENT_SRC)menuhandeler.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)menuhandeler.o $(CLIENT_SRC)menuhandeler.cpp
+#$(CLIENT_BUILD)load_net.o : $(SHARED_SRC)lua_api/load_net.cpp $(SHARED_SRC)lua_api/load_net.hpp $(CLIENT_BUILD)stream.o
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_net.o $(SHARED_SRC)lua_api/load_net.cpp
-$(CLIENT_BUILD)load_game.o : $(CLIENT_SRC)lua_api/load_game.cpp $(CLIENT_SRC)lua_api/load_game.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_game.o $(CLIENT_SRC)lua_api/load_game.cpp
+#$(CLIENT_BUILD)stream.o : $(SHARED_SRC)lua_api/stream.cpp $(SHARED_SRC)lua_api/stream.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)stream.o $(SHARED_SRC)lua_api/stream.cpp
-$(CLIENT_BUILD)load_gui.o : $(CLIENT_BUILD)iguibutton.o $(CLIENT_BUILD)iguilabel.o $(CLIENT_BUILD)iguielement.o $(CLIENT_BUILD)iguiwindow.o $(CLIENT_BUILD)iguiskin.o $(CLIENT_BUILD)iguicheckbox.o $(CLIENT_BUILD)common.o $(CLIENT_BUILD)iguiimage.o $(CLIENT_SRC)lua_api/load_gui.cpp $(CLIENT_SRC)lua_api/load_gui.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_gui.o $(CLIENT_SRC)lua_api/load_gui.cpp
+#$(CLIENT_BUILD)common.o : $(SHARED_SRC)lua_api/common.c $(SHARED_SRC)lua_api/common.h
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)common.o $(SHARED_SRC)lua_api/common.c
-$(CLIENT_BUILD)iguiimage.o : $(CLIENT_SRC)lua_api/gui/iguiimage.cpp $(CLIENT_SRC)lua_api/gui/iguiimage.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiimage.o $(CLIENT_SRC)lua_api/gui/iguiimage.cpp
+#$(CLIENT_BUILD)initdevice.o : $(CLIENT_SRC)initdevice.cpp $(CLIENT_SRC)initdevice.hpp
+ #$(CC) $(CFLAGS) -c -static -o $(CLIENT_BUILD)initdevice.o $(CLIENT_SRC)initdevice.cpp
-$(CLIENT_BUILD)iguiwindow.o : $(CLIENT_BUILD)iguiutil.o $(CLIENT_SRC)lua_api/gui/iguiwindow.cpp $(CLIENT_SRC)lua_api/gui/iguiwindow.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiwindow.o $(CLIENT_SRC)lua_api/gui/iguiwindow.cpp
+#$(CLIENT_BUILD)menuhandeler.o : $(CLIENT_SRC)menuhandeler.cpp $(CLIENT_SRC)menuhandeler.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)menuhandeler.o $(CLIENT_SRC)menuhandeler.cpp
-$(CLIENT_BUILD)iguiutil.o : $(CLIENT_SRC)lua_api/gui/iguiutil.cpp $(CLIENT_SRC)lua_api/gui/iguiutil.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiutil.o $(CLIENT_SRC)lua_api/gui/iguiutil.cpp
+#$(CLIENT_BUILD)load_game.o : $(CLIENT_SRC)lua_api/load_game.cpp $(CLIENT_SRC)lua_api/load_game.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_game.o $(CLIENT_SRC)lua_api/load_game.cpp
-$(CLIENT_BUILD)load_video.o : $(CLIENT_SRC)lua_api/load_video.cpp $(CLIENT_SRC)lua_api/load_video.hpp $(CLIENT_BUILD)smaterial.o $(CLIENT_BUILD)itexture.o $(CLIENT_BUILD)iimage.o
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_video.o $(CLIENT_SRC)lua_api/load_video.cpp
+#$(CLIENT_BUILD)load_gui.o : $(CLIENT_BUILD)iguibutton.o $(CLIENT_BUILD)iguilabel.o $(CLIENT_BUILD)iguielement.o $(CLIENT_BUILD)iguiwindow.o $(CLIENT_BUILD)iguiskin.o $(CLIENT_BUILD)iguicheckbox.o $(CLIENT_BUILD)common.o $(CLIENT_BUILD)iguiimage.o $(CLIENT_SRC)lua_api/load_gui.cpp $(CLIENT_SRC)lua_api/load_gui.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_gui.o $(CLIENT_SRC)lua_api/load_gui.cpp
-$(CLIENT_BUILD)smaterial.o : $(CLIENT_SRC)lua_api/video/smaterial.cpp $(CLIENT_SRC)lua_api/video/smaterial.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)smaterial.o $(CLIENT_SRC)lua_api/video/smaterial.cpp
+#$(CLIENT_BUILD)iguiimage.o : $(CLIENT_SRC)lua_api/gui/iguiimage.cpp $(CLIENT_SRC)lua_api/gui/iguiimage.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiimage.o $(CLIENT_SRC)lua_api/gui/iguiimage.cpp
-$(CLIENT_BUILD)itexture.o : $(CLIENT_SRC)lua_api/video/itexture.cpp $(CLIENT_SRC)lua_api/video/itexture.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)itexture.o $(CLIENT_SRC)lua_api/video/itexture.cpp
+#$(CLIENT_BUILD)iguiwindow.o : $(CLIENT_BUILD)iguiutil.o $(CLIENT_SRC)lua_api/gui/iguiwindow.cpp $(CLIENT_SRC)lua_api/gui/iguiwindow.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiwindow.o $(CLIENT_SRC)lua_api/gui/iguiwindow.cpp
-$(CLIENT_BUILD)iimage.o : $(CLIENT_SRC)lua_api/video/iimage.cpp $(CLIENT_SRC)lua_api/video/iimage.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iimage.o $(CLIENT_SRC)lua_api/video/iimage.cpp
+#$(CLIENT_BUILD)iguiutil.o : $(CLIENT_SRC)lua_api/gui/iguiutil.cpp $(CLIENT_SRC)lua_api/gui/iguiutil.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiutil.o $(CLIENT_SRC)lua_api/gui/iguiutil.cpp
-$(CLIENT_BUILD)load_phys.o : $(CLIENT_BUILD)cbphysbox.o $(CLIENT_BUILD)bphysmodel.o $(CLIENT_SRC)lua_api/load_phys.cpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_phys.o $(CLIENT_SRC)lua_api/load_phys.cpp
+#$(CLIENT_BUILD)load_video.o : $(CLIENT_SRC)lua_api/load_video.cpp $(CLIENT_SRC)lua_api/load_video.hpp $(CLIENT_BUILD)smaterial.o $(CLIENT_BUILD)itexture.o $(CLIENT_BUILD)iimage.o
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_video.o $(CLIENT_SRC)lua_api/load_video.cpp
-$(CLIENT_BUILD)load_scene.o : $(CLIENT_BUILD)icamera.o $(CLIENT_BUILD)ilight.o $(CLIENT_BUILD)imesh.o $(CLIENT_BUILD)cbphysbox.o $(CLIENT_SRC)/lua_api/load_scene.cpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_scene.o $(CLIENT_SRC)lua_api/load_scene.cpp
+#$(CLIENT_BUILD)smaterial.o : $(CLIENT_SRC)lua_api/video/smaterial.cpp $(CLIENT_SRC)lua_api/video/smaterial.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)smaterial.o $(CLIENT_SRC)lua_api/video/smaterial.cpp
-$(CLIENT_BUILD)ilight.o : $(CLIENT_SRC)lua_api/scene/ilight.cpp $(CLIENT_SRC)lua_api/scene/ilight.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)ilight.o $(CLIENT_SRC)lua_api/scene/ilight.cpp
+#$(CLIENT_BUILD)itexture.o : $(CLIENT_SRC)lua_api/video/itexture.cpp $(CLIENT_SRC)lua_api/video/itexture.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)itexture.o $(CLIENT_SRC)lua_api/video/itexture.cpp
-$(CLIENT_BUILD)iguibutton.o : $(CLIENT_SRC)lua_api/gui/iguibutton.cpp $(CLIENT_SRC)lua_api/gui/iguibutton.hpp $(CLIENT_SRC)lua_api/guiparts.hpp $(CLIENT_SRC)callbackhandeler.hpp $(CLIENT_SRC)util/hashmap.h $(SHARED_SRC)lua_api/common.c $(SHARED_SRC)lua_api/common.h
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguibutton.o $(CLIENT_SRC)lua_api/gui/iguibutton.cpp
+#$(CLIENT_BUILD)iimage.o : $(CLIENT_SRC)lua_api/video/iimage.cpp $(CLIENT_SRC)lua_api/video/iimage.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iimage.o $(CLIENT_SRC)lua_api/video/iimage.cpp
-$(CLIENT_BUILD)iguilabel.o : $(CLIENT_SRC)lua_api/gui/iguilabel.cpp $(CLIENT_SRC)lua_api/gui/iguilabel.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguilabel.o $(CLIENT_SRC)lua_api/gui/iguilabel.cpp
+#$(CLIENT_BUILD)load_phys.o : $(CLIENT_BUILD)cbphysbox.o $(CLIENT_BUILD)bphysmodel.o $(CLIENT_SRC)lua_api/load_phys.cpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_phys.o $(CLIENT_SRC)lua_api/load_phys.cpp
-$(CLIENT_BUILD)iguicheckbox.o : $(CLIENT_SRC)lua_api/gui/iguicheckbox.cpp $(CLIENT_SRC)lua_api/gui/iguicheckbox.hpp $(SHARED_SRC)lua_api/common.h
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguicheckbox.o $(CLIENT_SRC)lua_api/gui/iguicheckbox.cpp
+#$(CLIENT_BUILD)load_scene.o : $(CLIENT_BUILD)icamera.o $(CLIENT_BUILD)ilight.o $(CLIENT_BUILD)imesh.o $(CLIENT_BUILD)cbphysbox.o $(CLIENT_SRC)/lua_api/load_scene.cpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_scene.o $(CLIENT_SRC)lua_api/load_scene.cpp
-$(CLIENT_BUILD)iguielement.o : $(CLIENT_BUILD)hashmap.o $(CLIENT_SRC)lua_api/gui/iguielement.cpp $(CLIENT_SRC)lua_api/gui/iguielement.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguielement.o $(CLIENT_SRC)lua_api/gui/iguielement.cpp
+#$(CLIENT_BUILD)ilight.o : $(CLIENT_SRC)lua_api/scene/ilight.cpp $(CLIENT_SRC)lua_api/scene/ilight.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)ilight.o $(CLIENT_SRC)lua_api/scene/ilight.cpp
-$(CLIENT_BUILD)iguiskin.o : $(CLIENT_SRC)lua_api/gui/iguiskin.cpp $(CLIENT_SRC)lua_api/gui/iguiskin.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiskin.o $(CLIENT_SRC)lua_api/gui/iguiskin.cpp
+#$(CLIENT_BUILD)iguibutton.o : $(CLIENT_SRC)lua_api/gui/iguibutton.cpp $(CLIENT_SRC)lua_api/gui/iguibutton.hpp $(CLIENT_SRC)lua_api/guiparts.hpp $(CLIENT_SRC)callbackhandeler.hpp $(CLIENT_SRC)util/hashmap.h $(SHARED_SRC)lua_api/common.c $(SHARED_SRC)lua_api/common.h
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguibutton.o $(CLIENT_SRC)lua_api/gui/iguibutton.cpp
-$(CLIENT_BUILD)icamera.o : $(CLIENT_BUILD)igeneric.o $(CLIENT_SRC)lua_api/scene/icamera.cpp $(CLIENT_SRC)lua_api/scene/icamera.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)icamera.o $(CLIENT_SRC)lua_api/scene/icamera.cpp
+#$(CLIENT_BUILD)iguilabel.o : $(CLIENT_SRC)lua_api/gui/iguilabel.cpp $(CLIENT_SRC)lua_api/gui/iguilabel.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguilabel.o $(CLIENT_SRC)lua_api/gui/iguilabel.cpp
-$(CLIENT_BUILD)imesh.o : $(CLIENT_SRC)lua_api/scene/imesh.cpp $(CLIENT_SRC)lua_api/scene/imesh.hpp $(CLIENT_SRC)lua_api/scene/igeneric.cpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)imesh.o $(CLIENT_SRC)lua_api/scene/imesh.cpp
+#$(CLIENT_BUILD)iguicheckbox.o : $(CLIENT_SRC)lua_api/gui/iguicheckbox.cpp $(CLIENT_SRC)lua_api/gui/iguicheckbox.hpp $(SHARED_SRC)lua_api/common.h
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguicheckbox.o $(CLIENT_SRC)lua_api/gui/iguicheckbox.cpp
-$(CLIENT_BUILD)igeneric.o: $(CLIENT_SRC)lua_api/scene/igeneric.cpp $(CLIENT_SRC)lua_api/scene/igeneric.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)igeneric.o $(CLIENT_SRC)lua_api/scene/igeneric.cpp
+#$(CLIENT_BUILD)iguielement.o : $(CLIENT_BUILD)hashmap.o $(CLIENT_SRC)lua_api/gui/iguielement.cpp $(CLIENT_SRC)lua_api/gui/iguielement.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguielement.o $(CLIENT_SRC)lua_api/gui/iguielement.cpp
-$(CLIENT_BUILD)cbphysbox.o: $(CLIENT_SRC)lua_api/phys/cbphysbox.cpp $(CLIENT_SRC)lua_api/phys/cbphysbox.hpp $(CLIENT_SRC)lua_api/scene/igeneric.cpp $(CLIENT_BUILD)bphysbox.o
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)cbphysbox.o $(CLIENT_SRC)lua_api/phys/cbphysbox.cpp
+#$(CLIENT_BUILD)iguiskin.o : $(CLIENT_SRC)lua_api/gui/iguiskin.cpp $(CLIENT_SRC)lua_api/gui/iguiskin.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguiskin.o $(CLIENT_SRC)lua_api/gui/iguiskin.cpp
-$(CLIENT_BUILD)bphysbox.o: $(SHARED_SRC)lua_api/phys/bphysbox.cpp $(SHARED_SRC)lua_api/phys/bphysbox.hpp $(CLIENT_BUILD)common.o
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)bphysbox.o $(SHARED_SRC)lua_api/phys/bphysbox.cpp
+#$(CLIENT_BUILD)icamera.o : $(CLIENT_BUILD)igeneric.o $(CLIENT_SRC)lua_api/scene/icamera.cpp $(CLIENT_SRC)lua_api/scene/icamera.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)icamera.o $(CLIENT_SRC)lua_api/scene/icamera.cpp
-$(CLIENT_BUILD)bphysmodel.o: $(CLIENT_SRC)lua_api/phys/bphysmodel.cpp $(CLIENT_SRC)lua_api/phys/bphysmodel.hpp $(CLIENT_SRC)lua_api/scene/igeneric.cpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)bphysmodel.o $(CLIENT_SRC)lua_api/phys/bphysmodel.cpp
+#$(CLIENT_BUILD)imesh.o : $(CLIENT_SRC)lua_api/scene/imesh.cpp $(CLIENT_SRC)lua_api/scene/imesh.hpp $(CLIENT_SRC)lua_api/scene/igeneric.cpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)imesh.o $(CLIENT_SRC)lua_api/scene/imesh.cpp
-$(CLIENT_BUILD)callbackhandeler.o : $(CLIENT_SRC)callbackhandeler.cpp $(CLIENT_SRC)callbackhandeler.hpp
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)callbackhandeler.o $(CLIENT_SRC)callbackhandeler.cpp
+#$(CLIENT_BUILD)igeneric.o: $(CLIENT_SRC)lua_api/scene/igeneric.cpp $(CLIENT_SRC)lua_api/scene/igeneric.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)igeneric.o $(CLIENT_SRC)lua_api/scene/igeneric.cpp
-$(CLIENT_BUILD)hashmap.o : $(CLIENT_SRC)util/hashmap.c $(CLIENT_SRC)util/hashmap.h
- $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)hashmap.o $(CLIENT_SRC)util/hashmap.c
+#$(CLIENT_BUILD)cbphysbox.o: $(CLIENT_SRC)lua_api/phys/cbphysbox.cpp $(CLIENT_SRC)lua_api/phys/cbphysbox.hpp $(CLIENT_SRC)lua_api/scene/igeneric.cpp $(CLIENT_BUILD)bphysbox.o
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)cbphysbox.o $(CLIENT_SRC)lua_api/phys/cbphysbox.cpp
+
+#$(CLIENT_BUILD)bphysbox.o: $(SHARED_SRC)lua_api/phys/bphysbox.cpp $(SHARED_SRC)lua_api/phys/bphysbox.hpp $(CLIENT_BUILD)common.o
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)bphysbox.o $(SHARED_SRC)lua_api/phys/bphysbox.cpp
+
+#$(CLIENT_BUILD)bphysmodel.o: $(CLIENT_SRC)lua_api/phys/bphysmodel.cpp $(CLIENT_SRC)lua_api/phys/bphysmodel.hpp $(CLIENT_SRC)lua_api/scene/igeneric.cpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)bphysmodel.o $(CLIENT_SRC)lua_api/phys/bphysmodel.cpp
+
+#$(CLIENT_BUILD)callbackhandeler.o : $(CLIENT_SRC)callbackhandeler.cpp $(CLIENT_SRC)callbackhandeler.hpp
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)callbackhandeler.o $(CLIENT_SRC)callbackhandeler.cpp
+
+#$(CLIENT_BUILD)hashmap.o : $(CLIENT_SRC)util/hashmap.c $(CLIENT_SRC)util/hashmap.h
+ #$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)hashmap.o $(CLIENT_SRC)util/hashmap.c
#end compile client
+
+
#compile server
+SERVER_FILES = main hashmap common physcommon load_net load_phys
+SERVER_OBJS = $(SERVER_FILES:%=$(CLIENT_BUILD_DIR)/%.o)
+$(BIN_DIR)/$(SERVERNAME)/bin/$(EX_PRE)$(SERVERNAME)$(EXE_EXT) : $(SERVER_OBJS)
$(SERVER_PATH) : $(SERVER_BUILD)main.o $(SERVER_BUILD)hashmap.o $(SERVER_BUILD)common.o $(SERVER_BUILD)physcommon.o $(SERVER_BUILD)load_net.o $(SERVER_BUILD)load_phys.o
- $(CC) $(CFLAGS) -o $(SERVER_PATH) $(SERVER_BUILD)*.o $(LIBRARIES) $(STATIC_LIBS) $(SLIBS) $(LDFLAGS)
+ $(CC) $(CFLAGS) -o $(SERVER_PATH) $(SERVER_BUILD)*.o $(STATIC_LIBS) $(SLIBS) $(LDFLAGS)
$(SERVER_BUILD)main.o : $(SERVER_SRC)main.cpp $(SERVER_SRC)testclient.cpp
$(CC) $(CFLAGS) -c -o $(SERVER_BUILD)main.o $(SERVER_SRC)main.cpp
@@ -251,8 +342,8 @@ $(SERVER_BUILD)bphysbox.o : $(SHARED_SRC)lua_api/phys/bphysbox.cpp $(SHARED_SRC)
#compile libraries
$(LIBLUA) : $(ILUADIR)/Makefile
- sed -i "s/BUILDMODE= mixed/BUILDMODE= static/" $(ILUADIR)/Makefile
- cd $(ILUADIR) && $(MAKE)
+ @echo "Could not find $(LIBLUA), rebuilding"
+ cd $(ILUADIR) && $(MAKE) "BUILDMODE= static"
cp $(ILUADIR)/libluajit.a lib
IRRMAKEFLAGS=
@@ -261,40 +352,72 @@ ifeq ($(DEBUG),true)
IRRMAKEFLAGS+=NDEBUG=1
endif
ifeq ($(UNAME), Windows)
- IRRMAKEFLAGS=staticlib_win32
- IRRMADELIB=$(LIRRDIR)/lib/Win32-gcc
+ ifeq ($(DEBUG),true)
+ IRRMAKEFLAGS+=dynamiclib_win32
+ IRRMADELIB=$(LIRRDIR)/bin/Win32-gcc
+ else
+ IRRMAKEFLAGS=staticlib_win32
+ IRRMADELIB=$(LIRRDIR)/lib/Win32-gcc
+ endif
else
- IRRMAKEFLAGS=NDEBUG=1
IRRMADELIB=$(LIRRDIR)/lib/Linux
endif
-$(LIBIRR) : $(LIRRDIR)/source/Irrlicht/Makefile
+# Library - Irrlicht
+$(LIB_S_IRR) : $(IRRMADELIB)/libIrrlicht.a
+ cp $^ $@
+
+$(IRRMADELIB)/libIrrlicht.a : $(LIRRDIR)/source/Irrlicht/Makefile
cd $(LIRRDIR)/source/Irrlicht && $(MAKE) $(IRRMAKEFLAGS)
- cp $(IRRMADELIB)/libIrrlicht.a lib
-$(LIBBCO) : $(LBULDIR)/Makefile
+$(BIN_DIR)/$(CLIENTNAME)/bin/Irrlicht$(DYN_LIB_EXT) : $(IRRMADELIB)/Irrlicht$(DYN_LIB_EXT)
+ cp $^ $@
+
+$(IRRMADELIB)/lib/Irrlicht$(DYN_LIB_EXT) : $(LIRRDIR)/source/Irrlicht/Makefile
+ cd $(LIRRDIR)/source/Irrlicht && $(MAKE) $(IRRMAKEFLAGS)
+
+# Library - Lua
+$(BIN_DIR)/$(CLIENTNAME)/bin/lua51$(DYN_LIB_EXT) : $(LLUADIR)/src/lua51$(DYN_LIB_EXT)
+ cp $^ $@
+
+$(LIB_D_LUA) : $(LLUADIR)/src/Makefile
+ @echo "Could not find $(LLUADIR)/src/lua51$(DYN_LIB_EXT), rebuilding"
+ cd $(LLUADIR)/src && make "BUILDMODE= dynamic"
+
+# Library - Bullet
+#$(LIB_D_BCO) : $(LBULDIR)/src/BulletCollision/libBulletCollision.a
+ #cp $^ $@
+
+$(LIB_D_BCO) : $(LBULDIR)/Makefile
cd $(LBULDIR) && make BulletCollision
- cp $(LBULDIR)/src/BulletCollision/libBulletCollision.a lib
-$(LIBBDY) : $(LBULDIR)/Makefile
+#$(LIB_D_BDY) : $(LBULDIR)/src/BulletDynamics/libBulletDynamics.a
+ #cp $^ $@
+
+$(LIB_D_DY) : $(LBULDIR)/Makefile
cd $(LBULDIR) && make BulletDynamics
- cp $(LBULDIR)/src/BulletDynamics/libBulletDynamics.a lib
-$(LIBBLM) : $(LBULDIR)/Makefile
+#$(LIB_D_BLM) : $(LBULDIR)/src/LinearMath/libLinearMath.a
+ #cp $^ $@
+
+$(LIB_D_BLM) : $(LBULDIR)/Makefile
cd $(LBULDIR) && make LinearMath
- cp $(LBULDIR)/src/LinearMath/libLinearMath.a lib
$(LBULDIR)/Makefile : $(LBULDIR)/CMakeLists.txt
cd $(LBULDIR) && cmake $(CMAKE_FLAGS) -DBUILD_EXTRAS=off -DBUILD_DEMOS=off
-$(LIBNAN) : $(LNANDIR)/Makefile
- cd $(LNANDIR) && make
- cp $(LNANDIR)/libnanomsg.a lib
- # cp $(LNANDIR)/libnanomsg.dll $(CLIENT_DIR)
- # cp $(LNANDIR)/libnanomsg.dll $(SERVER_DIR)
+# Library - Nanomsg
+$(BIN_DIR)/$(CLIENTNAME)/bin/libnanomsg$(DYN_LIB_EXT) : $(LNANDIR)/dyn_lib/libnanomsg$(DYN_LIB_EXT)
+ cp $^ $@
+
+$(LIB_D_NAN) : $(LNANDIR)/dyn_lib/Makefile
+ cd $(LNANDIR)/dyn_lib/ && $(MAKE) nanomsg
-$(LNANDIR)/Makefile : $(LNANDIR)/CMakeLists.txt
- cd $(LNANDIR) && cmake -DNN_STATIC_LIB=ON $(CMAKE_FLAGS)
+$(LNANDIR)/dyn_lib/Makefile : $(LNANDIR)/CMakeLists.txt $(LNANDIR)/dyn_lib
+ cd $(LNANDIR)/dyn_lib && cmake $(CMAKE_FLAGS) ../
+
+$(LNANDIR)/dyn_lib :
+ mkdir $(LNANDIR)/dyn_lib
#compile & run tests
test: $(TEST_PATH)test_stream $(TEST_PATH)test_phys
@@ -310,8 +433,9 @@ $(TEST_PATH)test_phys : $(TEST_SRC)test_phys.cpp
$(CC) $(CFLAGS) -o $(TEST_PATH)test_phys $(TEST_SRC)test_phys.cpp $(SLIBS)
#end tests
+cleantest :
+ echo $(BUILDS:%=%/*.o)
+
clean :
- $(RM) $(SERVER_PATH)
- $(RM) $(CLIENT_PATH)
- $(RM) $(CLIENT_BUILD)*.o
- $(RM) $(SERVER_BUILD)*.o
+ $(RM) $(CLIENT_OBJS)
+ $(RM) $(BINS)