include Makefile.shared CP=cp CXX?=g++ MKDIR?=mkdir RM?=rm -f ECHO?=echo LD=g++ MDOC=mdoc 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_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/bulletminus/dist\ -Llib/irrlicht/lib/Win32-gcc\ -Llib/luajit/src\ -Llib/nng/static lib_objs=\ lib/nng/static/libnng.a\ lib/irrlicht/lib/Win32-gcc/libIrrlicht.a\ lib/luajit/src/libluajit-5.1.dll.a\ lib/bulletminus/dist/libbulletdynamics.a\ lib/bulletminus/dist/libbulletcollision.a\ lib/bulletminus/dist/liblinearmath.a CLIENT_LIBS=\ -lbulletdynamics\ -lbulletcollision\ -llinearmath\ -lIrrlicht\ -lnng\ -lluajit-5.1.dll\ -lws2_32\ -lmswsock\ -ladvapi32\ -lwinmm\ -lm #-lstdc++-6 #-lOpenGL32\ CFLAGS+=-DNNG_STATIC_LIB -g 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 doc: documentation documentation: $(MDOC) -p src -o doc -t "Brok[en]gine" -i README.md -d reference -m "markdown" test: busted bin/client/bin/brokengine_client.exe : $(client_objs) $(shared_objs) $(lib_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 $@ $<