aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorAlexander Pickering <alex@cogarr.net>2019-07-08 18:44:41 -0400
committerAlexander Pickering <alex@cogarr.net>2019-07-08 18:44:41 -0400
commitd0cbfe54aff745bad33a2415f771dd548f6c8187 (patch)
treeb8dd6a288f89c80899f3111cd67b1fc227e17642 /Makefile
parent4c9856b6876f10a6104761781571a9b7e502561d (diff)
downloadbrokengine-d0cbfe54aff745bad33a2415f771dd548f6c8187.tar.gz
brokengine-d0cbfe54aff745bad33a2415f771dd548f6c8187.tar.bz2
brokengine-d0cbfe54aff745bad33a2415f771dd548f6c8187.zip
Added gitignore files for new build system
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile352
1 files changed, 2 insertions, 350 deletions
diff --git a/Makefile b/Makefile
index 63845f4..c3d7109 100644
--- a/Makefile
+++ b/Makefile
@@ -6,357 +6,9 @@ else
UNAME:=$(shell uname -s)
endif
-CP=cp
-CXX?=g++
-MKDIR?=mkdir
-RM?=rm -f
-ECHO?=echo
-
ifeq ($(UNAME), Windows)
- EXE_EXT=.exe
- STA_LIB_EXT=.a
- DYN_LIB_EXT=.dll
- CMAKE_TYPE="MinGW Makefiles"
- CMAKE_FLAGS=-G $(CMAKE_TYPE) -DCMAKE_SH="CMAKE_SH-NOTFOUND"
+include Makefile.win
endif
-
ifeq ($(UNAME), Linux)
- EXE_EXT=
- STA_LIB_EXT=.a
- DYN_LIB_EXT=.so
- CMAKE_TYPE="Unix Makefiles"
- CMAKE_FLAGS= -G $(CMAKE_TYPE)
+include Makefile.nix
endif
-
-BIN_DIR=bin
-BUILD_DIR=build
-SRC_DIR=src
-LIB_DIR=lib
-DOC_DIR=doc
-
-CLIENTNAME=client
-SERVERNAME=server
-MASTERNAME=#masterserver
-BINS=
-
-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)/%)
-
-
-LLUADIR=$(LIB_DIR)/luajit
-LIRRDIR=$(LIB_DIR)/irrlicht
-LBULDIR=$(LIB_DIR)/bullet
-LNNGDIR=$(LIB_DIR)/nng
-LOBJDIR=$(LIB_DIR)/tinyobjloader-c
-
-#Include directories
-ILUADIR=$(LLUADIR)/src
-IIRRDIR=$(LIRRDIR)/include
-IBULDIR=$(LBULDIR)/src
-INNGDIR=$(LNNGDIR)/include
-IOBJDIR=$(LOBJDIR)/
-ISHADIR=src
-INCLUDE_PATHS=-I$(ILUADIR) -I$(IIRRDIR) -I$(IBULDIR) -I$(INNGDIR) -I$(ISHADIR) -I$(IOBJDIR)
-#library directories
-
-CXXFLAGS+=$(INCLUDE_PATHS)
-
-CXXFLAGS+=-Llib
-
-#Libraries
-#static libs
-LIB_S_LUA=lib/libluajit.a
-LIB_S_IRR=lib/libIrrlicht.a
-LIB_S_BCO=lib/libBulletCollision.a
-LIB_S_BDY=lib/libBulletDynamics.a
-LIB_S_BLM=lib/libLinearMath.a
-LIB_S_NNG=lib/libnng.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_NNG=lib/libnng$(DYN_LIB_EXT)
-
-CLIENT_DLLS=Irrlicht libnng lua51
-SERVER_DLLS=libnng lua51
-ifeq ($(DEBUG),true)
- LIB_OBJS = $(LIB_D_LUA) $(LIB_D_IRR) $(LIB_D_BCO) $(LIB_D_BDY) $(LIB_D_BLM) $(LIB_D_NNG)
- BINS+=$(CLIENT_DLLS:%=$(BIN_DIR)/$(CLIENTNAME)/bin/%$(DYN_LIB_EXT)) $(SERVER_DLLS:%=$(BIN_DIR)/$(SERVERNAME)/bin/%$(DYN_LIB_EXT))
-else
- LIB_OBJS = $(LIB_S_LUA) $(LIB_S_IRR) $(LIB_S_BCO) $(LIB_S_BDY) $(LIB_S_BLM) $(LIB_S_NNG)
-endif
-
-# Libraries
-#order matters!
-CLIENT_LIBS=-lBulletDynamics -lBulletCollision -lLinearMath -lIrrlicht -lnng
-SERVER_LIBS=-lBulletDynamics -lBulletCollision -lLinearMath -lnng
-#LIBS=-lBulletDynamics -lBulletCollision -lLinearMath -lIrrlicht -lnng
-ifeq ($(UNAME),Windows)
- CLIENT_LIBS+=-lOpenGL32
-else
- CLIENT_LIBS+=-lGL
-endif
-ifeq ($(DEBUG),true)
- CLIENT_LIBS+=-llua51
- SERVER_LIBS+=-llua51
-else
- CLIENT_LIBS+=-lluajit
- SERVER_LIBS+=-lluajit
-endif
-
-#can't compile with -std=c++11 because irrlicht will complain
-#LDFLAGS+=$(LIBS)
-ifeq ($(DEBUG), true)
-
-else
- CXXFLAGS += -static $(INCLUDE_PATHS) -D_IRR_STATIC_LIB_ -DNNG_STATIC_LIB
-endif
-S_LDFLAGS= $(SERVER_LIBS)
-C_LDFLAGS= $(CLIENT_LIBS)
-ifeq ($(UNAME),Windows)
- C_LDFLAGS += -mwindows -lwinmm -lstdc++
- ifeq ($(DEBUG),true)
-
- else
- C_LDFLAGS += -lws2_32 -lmswsock -ladvapi32
- S_LDFLAGS += -lws2_32 -lmswsock -ladvapi32
- endif
-endif
-
-ifeq ($(DEBUG),true)
- ifeq ($(UNAME),Windows)
- C_LDFLAGS+=-Wl,-subsystem,console
- endif
-endif
-
-ifeq ($(DEBUG),true)
- CXXFLAGS+=-O0 -g -Wall -Werror
-else
- CXXFLAGS+=-O3
-endif
-
-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)
- @echo "Done"
-
-# The shared stuff
-LAPI_S_PHYS = bhingeconstraint bphysbox bphysmodel bphysgeneric bcharactercontroller bghostobject bcollider
-LAPI_S_LOAD = load_phys load_net common stream load_common
-LAPI_PATHS_T = $(LAPI_S_PHYS:%=lua_api/phys/%) $(LAPI_S_LOAD:%=lua_api/%)
-SHARED_CLIENT_FILES = $(LAPI_PATHS_T) phys/physcommon util/hashmap util/tinyobj
-SHARED_CLIENT_OBJS = $(SHARED_CLIENT_FILES:%=$(BUILD_DIR)/$(CLIENTNAME)/%.o)
-
-# The client-side only stuff
-LAPI_C_GUI = iguibutton iguicheckbox iguielement iguiimage iguilabel iguiwindow iguieditbox iguicolorselector iguifiledialog iguispinbox iguitreeview iguicombobox
-LAPI_C_PHYS = cbphysbox cbphysmodel cbcharactercontroller
-LAPI_C_SCENE = icamera igeneric ilight imesh
-LAPI_C_VIDEO = iimage itexture smaterial
-LAPI_C_IO = ifilesystem
-LAPI_LOAD = load_gui load_scene load_game load_cphys load_video load_io
-LAPI_OBJS_T = $(LAPI_C_GUI:%=gui/%.o) $(LAPI_C_PHYS:%=phys/%.o) $(LAPI_C_SCENE:%=scene/%.o) $(LAPI_C_VIDEO:%=video/%.o) $(LAPI_C_IO:%=io/%.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
-$(BIN_DIR)/$(CLIENTNAME)/bin/$(EX_PRE)$(CLIENTNAME)$(EXE_EXT) : $(CLIENT_OBJS) $(LIB_OBJS)
- @echo "[CLIENT] Building binary $@"
- @$(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) $(C_LDFLAGS) $(LIB_OBJS) # -Wl,--verbose
-
-# does not have .hpp associated
-$(BUILD_DIR)/$(CLIENTNAME)/main.o : $(SRC_DIR)/client/main.cpp
- @$(CXX) $(CXXFLAGS) -c -o $@ $^
-
-# does have the .hpp associated in src/client
-$(CLIENT_SRCS) : $(BUILD_DIR)/$(CLIENTNAME)/%.o : src/client/%.cpp $(SRC_DIR)/client/%.hpp $(LIB_OBJS)
- @echo "[CLIENT] CXX $<"
- @$(CXX) $(CXXFLAGS) -c -o $@ $<
-
-# does have the .hpp associated in src/shared
-$(SHARED_CLIENT_OBJS) : $(BUILD_DIR)/$(CLIENTNAME)/%.o : src/shared/%.cpp $(SRC_DIR)/shared/%.hpp
- @echo "[CLIENT] CXX $<"
- @$(CXX) $(CXXFLAGS) -c -o $@ $<
-
-#compile server
-SERVER_FILES = lua_api/load_game lua_api/load_io
-SERVER_OBJ=$(SERVER_FILES:%=$(BUILD_DIR)/$(SERVERNAME)/%.o)
-SHARED_SERVER_FILES= $(LAPI_PATHS_T) util/hashmap phys/physcommon util/tinyobj
-SHARED_SERVER_OBJS=$(SHARED_SERVER_FILES:%=$(BUILD_DIR)/$(SERVERNAME)/%.o)
-SERVER_OBJS = $(SERVER_OBJ) $(SHARED_SERVER_OBJS) $(BUILD_DIR)/$(SERVERNAME)/main.o
-
-$(BIN_DIR)/$(SERVERNAME)/bin/$(EX_PRE)$(SERVERNAME)$(EXE_EXT) : $(SERVER_OBJS) $(LIB_OBJS)
- @echo "[SERVER] Building binary $@"
- @$(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) $(S_LDFLAGS)
-
-# Special, main does not have a .hpp associated with it
-$(BUILD_DIR)/$(SERVERNAME)/main.o : $(SRC_DIR)/server/main.cpp
- @echo "[SERVER] CXX $<"
- @$(CXX) $(CXXFLAGS) -c -o $@ $^
-
-$(SHARED_SERVER_OBJS) : $(BUILD_DIR)/$(SERVERNAME)/%.o : $(SRC_DIR)/shared/%.cpp $(SRC_DIR)/shared/%.hpp
- @echo "[SERVER] CXX $<"
- @$(CXX) $(CXXFLAGS) -c -o $@ $<
-
-$(SERVER_OBJ) : $(BUILD_DIR)/$(SERVERNAME)/%.o : $(SRC_DIR)/server/%.cpp $(SRC_DIR)/server/%.hpp
- @echo "[SERVER] CXX $<"
- @$(CXX) $(CXXFLAGS) -c -o $@ $<
-
-#compile libraries
-$(LIBLUA) : $(ILUADIR)/Makefile
- @echo "Could not find $(LIBLUA), rebuilding"
- cd $(ILUADIR) && $(MAKE) "BUILDMODE= static"
- $(CP) $(ILUADIR)/libluajit.a lib
-
-IRRMAKEFLAGS=
-IRRMADELIB=
-ifeq ($(UNAME), Windows)
- ifeq ($(DEBUG),true)
- IRRMAKEFLAGS=sharedlib_win32
- IRRMADELIB=$(LIRRDIR)/bin/Win32-gcc
- else
- IRRMAKEFLAGS=staticlib_win32
- IRRMADELIB=$(LIRRDIR)/lib/Win32-gcc
- endif
-else
- IRRMADELIB=$(LIRRDIR)/lib/Linux
-endif
-
-ifeq ($(DEBUG),true)
-else
- IRRMAKEFLAGS+=NDEBUG=1
-endif
-
-# Library - Irrlicht
-$(LIB_S_IRR) : $(IRRMADELIB)/libIrrlicht.a
- $(CP) $^ $@
-
-$(IRRMADELIB)/libIrrlicht.a : $(LIRRDIR)/source/Irrlicht/Makefile
- sed --in-place=OLD 's/ -ld3dx9d//' lib/irrlicht/source/Irrlicht/Makefile
- cd $(LIRRDIR)/source/Irrlicht && $(MAKE) $(IRRMAKEFLAGS)
-
-$(LIB_D_IRR) : $(IRRMADELIB)/Irrlicht$(DYN_LIB_EXT)
- @echo "Could not find $@, remaking..."
- $(CP) $^ $@
-
-$(BIN_DIR)/$(CLIENTNAME)/bin/Irrlicht$(DYN_LIB_EXT) : $(IRRMADELIB)/Irrlicht$(DYN_LIB_EXT)
- $(CP) $^ $@
-
-$(IRRMADELIB)/Irrlicht$(DYN_LIB_EXT) : $(LIRRDIR)/source/Irrlicht/Makefile
- sed --in-place=OLD 's/ -ld3dx9d//' lib/irrlicht/source/Irrlicht/Makefile
- cd $(LIRRDIR)/source/Irrlicht && $(MAKE) $(IRRMAKEFLAGS)
-
-ifeq ($(UNAME),Windows)
- LUAJIT_ARGS:= TARGET_SYS=Windows
-else
- LUAJIT_ARGS:=
-endif
-
-# Library - Lua
-# Client
-$(BIN_DIR)/$(CLIENTNAME)/bin/lua51$(DYN_LIB_EXT) : $(LIB_D_LUA)
- $(CP) $^ $@
-
-# Server
-$(BIN_DIR)/$(SERVERNAME)/bin/lua51$(DYN_LIB_EXT) : $(LIB_D_LUA)
- $(CP) $^ $@
-
-$(LLUADIR)/src/libluajit$(STA_LIB_EXT) : $(LLUADIR)/src/Makefile
- cd $(LLUADIR)/src && $(MAKE) $(LUAJIT_ARGS) "BUILDMODE= static"
-
-$(LIB_S_LUA) : $(LLUADIR)/src/libluajit$(STA_LIB_EXT)
- $(CP) $^ $@
-
-$(LLUADIR)/src/lua51$(DYN_LIB_EXT) : $(LLUADIR)/src/Makefile
- cd $(LLUADIR)/src && $(MAKE) $(LUAJIT_ARGS) "BUILDMODE= dynamic"
-
-$(LIB_D_LUA) : $(LLUADIR)/src/lua51$(DYN_LIB_EXT)
- $(CP) $^ $@
-
-# Library - Bullet
-$(LBULDIR)/lib/libBulletCollision.a : $(LBULDIR)/Makefile
- cd $(LBULDIR) && $(MAKE) BulletCollision
-
-$(LBULDIR)/lib/libBulletDynamics.a : $(LBULDIR)/Makefile
- cd $(LBULDIR) && $(MAKE) BulletDynamics
-
-$(LBULDIR)/lib/libLinearMath.a : $(LBULDIR)/Makefile
- cd $(LBULDIR) && $(MAKE) LinearMath
-
-$(LIB_D_BCO) : $(LBULDIR)/lib/libBulletCollision.a
- $(CP) $^ $@
-
-$(LIB_D_BDY) : $(LBULDIR)/lib/libBulletDynamics.a
- $(CP) $^ $@
-
-$(LIB_D_BLM) : $(LBULDIR)/lib/libLinearMath.a
- $(CP) $^ $@
-
-$(LBULDIR)/Makefile : $(LBULDIR)/CMakeLists.txt
- cd $(LBULDIR) && cmake $(CMAKE_FLAGS) -DBUILD_EXTRAS=off -DBUILD_DEMOS=off
-
-# Library - NNG
-NNGFLAGS=
-$(BIN_DIR)/$(CLIENTNAME)/bin/libnng$(DYN_LIB_EXT) : $(LIB_D_NNG)
- $(CP) $^ $@
-
-$(BIN_DIR)/$(SERVERNAME)/bin/libnng$(DYN_LIB_EXT) : $(LIB_D_NNG)
- $(CP) $^ $@
-
-$(LNNGDIR)/dynamic/Makefile : $(LNNGDIR)/CMakeLists.txt
- cd $(LNNGDIR)/dynamic && cmake $(CMAKE_FLAGS) -DBUILD_SHARED_LIBS="TRUE" ../
-
-$(LIB_S_NNG) : $(LNNGDIR)/static/libnng$(STA_LIB_EXT)
- $(CP) $< $@
-
-$(LIB_D_NNG) : $(LNNGDIR)/dynamic/libnng$(DYN_LIB_EXT)
- $(CP) $< $@
-
-$(LNNGDIR)/static/libnng$(STA_LIB_EXT) : $(LNNGDIR)/static/Makefile
- cd $(LNNGDIR)/static && $(MAKE) nng
- ln -s $(LNNGDIR)/src $(LNNGDIR)/include/nng
-
-$(LNNGDIR)/dynamic/libnng$(DYN_LIB_EXT) : $(LNNGDIR)/dynamic/Makefile
- cd $(LNNGDIR)/dynamic && $(MAKE) nng
- ln -s $(LNNGDIR)/src $(LNNGDIR)/include/nng
-
-$(LNNGDIR)/Makefile : $(LNNGDIR)/CMakeLists.txt
- @echo "LIB_OBJS were $(LIB_OBJS)"
- cd $(LNNGDIR) && cmake $(CMAKE_FLAGS) $(NNGCMAKEFLAGS)
-
-TEST_BIN_NAMES=brokengine_client.exe Irrlicht.dll libnanomsg.dll libnng.dll lua51.dll
-TEST_BINS=$(TEST_BIN_NAMES:%=test/bin/%)
-
-#compile & run tests
-test: $(TEST_BINS)
- @$(ECHO) "Running busted tests"
- @./busted busted.spec
-
-$(TEST_BINS) : test/bin/% : bin/client/bin/%
- $(CP) $^ $@
-
-$(TEST_PATH)test_stream : $(TEST_SRC)test_streams.cpp $(SHARED_SRC)/lua_api/stream.cpp $(SHARED_SRC)/lua_api/stream.hpp
- @$(CC) $(CFLAGS) -o $(TEST_PATH)test_stream $(TEST_SRC)test_streams.cpp $(SHARED_SRC)/lua_api/stream.cpp $(SHARED_SRC)/lua_api/stream.hpp
-
-$(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) $(CLIENT_OBJS)
- $(RM) $(SERVER_OBJS)
- $(RM) $(BINS)