include Makefile.shared CP=cp CXX?=g++ MKDIR?=mkdir RM?=rm -f ECHO?=echo LD=g++ MDOC=mdoc.bat shared_objs=$(SHARED_SRC:src/shared/%=build/shared/%.o) client_objs=$(CLIENT_SRC:src/client/%=build/client/%.o) server_objs=$(SERVER_SRC:src/server/%=build/server/%.o) client_dlls=Irrlicht client_bins=bin/client/bin/brokengine_client.exe $(client_dlls:%=bin/client/bin/%.dll) server_bins=bin/server/bin/brokengine_server.exe bins=$(client_bins) $(server_bins) CLIENT_LIB_DIRS=\ -Llib/bullet/lib\ -Llib/irrlicht/lib/Win32-gcc\ -Llib/luajit/src\ -Llib/nng/static\ CLIENT_LIBS=\ -lBulletDynamics\ -lBulletCollision\ -lLinearMath\ -lIrrlicht\ -lnng\ -lluajit\ -lOpenGL32\ -lws2_32\ -lmswsock\ -ladvapi32\ -lwinmm\ -lm #-lstdc++-6 CFLAGS+=-DNNG_STATIC_LIB ifeq ($(DEBUG), true) else LDFLAGS += -mwindows endif all : $(bins) echo "Done" clean: $(RM) $(client_objs) $(RM) $(server_objs) $(RM) $(shared_objs) $(RM) $(bins) $(RM) -r doc/* nuke: clean documentation: $(MDOC) -p src -o doc -t "Brok[en]gine" -i README.md -d reference -m "hoedown --disable-intra-emphasis" bin/client/bin/brokengine_client.exe : $(client_objs) $(shared_objs) $(Q)echo "Linking $@" $(Q)$(LD) $(LDFLAGS) -o $@ $^ $(CLIENT_LIB_DIRS) $(CLIENT_LIBS) # -Wl,--verbose bin/server/bin/brokengine_server.exe : $(server_objs) $(shared_objs) $(Q)echo "Linking $@" $(Q)$(LD) $(LDFLAGS) -o $@ $^ $(CLIENT_LIB_DIRS) $(CLIENT_LIBS) # -Wl,--verbose $(shared_objs) : build/shared/%.o : src/shared/%.cpp src/shared/%.hpp $(Q)echo "CXX $@" $(Q)$(CXX) $(CFLAGS) -c -o $@ $< $(client_objs) : build/client/%.o : src/client/%.cpp src/client/%.hpp $(Q)echo "CXX $@" $(Q)$(CXX) $(CFLAGS) -c -o $@ $< $(server_objs) : build/server/%.o : src/server/%.cpp src/server/%.hpp $(Q)echo "CXX $@" $(Q)$(CXX) $(CFLAGS) -c -o $@ $< bin/client/bin/Irrlicht.dll : lib/irrlicht/bin/Win32-gcc/Irrlicht.dll cp $^ $@