aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2018-06-22 12:38:38 -0600
committerAlexander Pickering <alexandermpickering@gmail.com>2018-06-22 12:38:38 -0600
commit9fa5dcc9310a8c6ff8c77a47a86303f7b950dcf3 (patch)
treed7956fc8aabef903f354578d69d4d7fdf64ec928 /Makefile
parent06d3e8182d018ca613f177f6ff7a3bbb6494cc79 (diff)
downloadbrokengine-9fa5dcc9310a8c6ff8c77a47a86303f7b950dcf3.tar.gz
brokengine-9fa5dcc9310a8c6ff8c77a47a86303f7b950dcf3.tar.bz2
brokengine-9fa5dcc9310a8c6ff8c77a47a86303f7b950dcf3.zip
Updated core
Updated all core files to prepare for tech demo
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile57
1 files changed, 46 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index 18be9f2..b9ed2ad 100644
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,33 @@
+
+#Detect what kind of system we're on
+ifeq ($(OS), Windows_NT)
+ UNAME:=Windows
+else
+ UNAME:=$(shell uname -s)
+endif
+
+ifeq ($(UNAME), Windows)
+ EXE_EXT=.exe
+ STA_LIB_EXT=.lib
+ DYN_LIB_EXT=.dll
+endif
+
+ifeq ($(UNAME), Linux)
+ EXE_EXT=
+ STA_LIB_EXT=.a
+ DYN_LIB_EXT=.so
+endif
+
+
#Run with mingw32-make
-CLIENT_EXE=borkengin.exe
+CLIENT_NAME=brokengine
+CLIENT_EXE=$(CLIENT_NAME)$(EXE_EXT)
CLIENT_PATH=bin/client/bin/$(CLIENT_EXE)
CLIENT_SRC=src/client/
CLIENT_BUILD=build/client/
-SERVER_EXE=borkserver.exe
+SERVER_NAME=brokeserver
+SERVER_EXE=$(SERVER_NAME)$(EXE_EXT)
SERVER_PATH=bin/server/bin/$(SERVER_EXE)
SERVER_SRC=src/server/
SERVER_BUILD=build/server/
@@ -44,27 +67,39 @@ LIBBCO=$(LBULDIR)/libBulletCollision.a
LIBBDY=$(LBULDIR)/libBulletDynamics.a
LIBBLM=$(LBULDIR)/libLinearMath.a
LIBNAN=$(LNANDIR)/libnanomsg.dll.a
+LIBIRR=$(LIRRDIR)/libIrrlicht.a
DLLIRR=$(LIRRDIR)/Irrlicht.dll
-DYNAMIC_LIBS = -llua -lnanomsg.dll -lIrrlicht
+DYNAMIC_LIBS = -lnanomsg.dll #-lIrrlicht
#order matters!
-STATIC_LIBS = -lBulletDynamics -lBulletCollision -lLinearMath
+STATIC_LIBS = -lBulletDynamics -lBulletCollision -lLinearMath -lIrrlicht -llua
LIBS=-Bstatic $(STATIC_LIBS) -Bdynamic $(DYNAMIC_LIBS)
-SLIBS=$(LIBLUA) $(LIBIRR) $(LIBBDY) $(LIBBCO) $(LIBBLM) $(LIBNAN) $(DLLIRR)
+SLIBS=$(LIBLUA) $(LIBIRR) $(LIBBDY) $(LIBBCO) $(LIBBLM) $(LIBNAN)
-#can't compile with -std=c++11 because irrlicht will complain
-CFLAGS=-Wall -g -static $(INCLUDES)
-LDFLAGS=-mwindows
+
+#can't compile with -std=c++11 because irrlicht will complain
+CFLAGS=-Wall -static $(INCLUDES)
+LDFLAGS=
+ifeq ($(UNAME),Windows)
+ LDFLAGS+=-mwindows -Wl,-subsystem,windows
+endif
+
+ifeq ($(DEBUG),true)
+ CFLAGS+=-g -O0
+else
+ CFLAGS+=-O3
+ #LDFLAGS+=--strip-all
+endif
all : $(CLIENT_PATH) $(SERVER_PATH)
client : $(CLIENT_PATH)
server : $(SERVER_PATH)
#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) -o $(CLIENT_PATH) -static $(CLIENT_BUILD)*.o $(LIBRARIES) $(DYNAMIC_LIBS) $(STATIC_LIBS) $(SLIBS)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $(CLIENT_PATH) $(CLIENT_BUILD)*.o $(LIBRARIES) $(DYNAMIC_LIBS) $(STATIC_LIBS) $(SLIBS)
$(CLIENT_BUILD)main.o : $(CLIENT_SRC)main.cpp
$(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)main.o $(CLIENT_SRC)main.cpp
@@ -114,10 +149,10 @@ $(CLIENT_BUILD)itexture.o : $(CLIENT_SRC)lua_api/video/itexture.cpp $(CLIENT_SRC
$(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)load_phys.o : $(CLIENT_BUILD)cbphysbox.o $(CLIENT_BUILD)bphysmodel.o
+$(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_scene.o : $(CLIENT_BUILD)icamera.o $(CLIENT_BUILD)ilight.o $(CLIENT_BUILD)imesh.o $(CLIENT_BUILD)cbphysbox.o
+$(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)ilight.o : $(CLIENT_SRC)lua_api/scene/ilight.cpp $(CLIENT_SRC)lua_api/scene/ilight.hpp