#Run with mingw32-make CLIENT_EXE=borkengin.exe CLIENT_PATH=bin/client/bin/$(CLIENT_EXE) CLIENT_SRC=src/client/ CLIENT_BUILD=build/client/ SERVER_EXE=borkserver.exe MASTER_EXE=borkmaster.exe CC=g++ #Change this on linux RM=rm #Include directories ILUADIR=./lib/luajit/LuaJIT-2.0.4/src IIRRDIR=./lib/irrlicht/irrlicht-1.8.4/irrlicht-1.8.4/include IBULDIR=./lib/bullet/bullet3-2.86.1/src INCLUDES=-I$(ILUADIR) -I$(IIRRDIR) -I$(IBULDIR) #library directories LLUADIR=./lib/luajit LIRRDIR=./lib/irrlicht LBULDIR=./lib/bullet LIBRARIES=-L$(LLUADIR) -L$(LIRRDIR) -L$(LBULDIR) LIBS=-llua51 -lopengl32 -lm -lIrrlicht -llibLinearMath -llibBulletDynamics -llibBulletCollision #can't compile with -std=c++11 because irrlicht will complain CFLAGS=-Wall -g -Bdynamic $(INCLUDES) $(LIBRARIES) LDFLAGS=-mwindows all : $(CLIENT_PATH) $(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_core.o $(CLIENT_BUILD)load_phys.o $(CC) -o $(CLIENT_PATH) $(CFLAGS) $(CLIENT_BUILD)main.o $(CLIENT_BUILD)initdevice.o $(CLIENT_BUILD)menuhandeler.o $(CLIENT_BUILD)load_gui.o $(CLIENT_BUILD)load_core.o $(CLIENT_BUILD)iguibutton.o $(CLIENT_BUILD)iguilabel.o $(CLIENT_BUILD)iguigeneric.o $(CLIENT_BUILD)iguielement.o $(CLIENT_BUILD)icamera.o $(CLIENT_BUILD)imesh.o $(CLIENT_BUILD)bphysbox.o $(CLIENT_BUILD)igeneric.o $(CLIENT_BUILD)callbackhandeler.o $(CLIENT_BUILD)hashmap.o $(CLIENT_BUILD)load_game.o $(CLIENT_BUILD)load_phys.o $(CLIENT_BUILD)ilight.o $(CLIENT_BUILD)bphysmodel.o $(LIBS) #Compile the client $(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 -o $(CLIENT_BUILD)initdevice.o $(CLIENT_SRC)initdevice.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_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_gui.o : $(CLIENT_BUILD)iguibutton.o $(CLIENT_BUILD)iguilabel.o $(CLIENT_BUILD)iguielement.o $(CLIENT_BUILD)iguigeneric.o $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_gui.o $(CLIENT_SRC)lua_api/load_gui.cpp $(CLIENT_BUILD)load_phys.o : $(CLIENT_BUILD)bphysbox.o $(CLIENT_BUILD)bphysmodel.o $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_phys.o $(CLIENT_SRC)lua_api/load_phys.cpp $(CLIENT_BUILD)load_core.o : $(CLIENT_BUILD)icamera.o $(CLIENT_BUILD)imesh.o $(CLIENT_BUILD)bphysbox.o $(CLIENT_BUILD)ilight.o $(CLIENT_BUILD)bphysmodel.o $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)load_core.o $(CLIENT_SRC)lua_api/load_core.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)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 $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguibutton.o $(CLIENT_SRC)lua_api/gui/iguibutton.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)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)iguigeneric.o : $(CLIENT_SRC)lua_api/gui/iguigeneric.cpp $(CLIENT_SRC)lua_api/gui/iguigeneric.hpp $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)iguigeneric.o $(CLIENT_SRC)lua_api/gui/iguigeneric.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)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)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)bphysbox.o: $(CLIENT_SRC)lua_api/phys/bphysbox.cpp $(CLIENT_SRC)lua_api/phys/bphysbox.hpp $(CLIENT_SRC)lua_api/scene/igeneric.cpp $(CC) $(CFLAGS) -c -o $(CLIENT_BUILD)bphysbox.o $(CLIENT_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 $(CLIENT_SRC)lua_api/phys/bphysbox.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 clean : $(RM) $(CLIENT_BUILD)*.o