# Makefile for Irrlicht Examples # It's usually sufficient to change just the target name and source file list # and be sure that CXX is set to a valid compiler SOURCE_FILES = guiMessageMenu.cpp materials.cpp guiTextInputMenu.cpp guiInventoryMenu.cpp irrlichtwrapper.cpp guiPauseMenu.cpp defaultsettings.cpp mapnode.cpp tile.cpp voxel.cpp mapblockobject.cpp inventory.cpp debug.cpp serialization.cpp light.cpp filesys.cpp connection.cpp environment.cpp client.cpp server.cpp socket.cpp mapblock.cpp mapsector.cpp heightmap.cpp map.cpp player.cpp utility.cpp main.cpp test.cpp DEBUG_TARGET = debugtest DEBUG_SOURCES = $(addprefix src/, $(SOURCE_FILES)) DEBUG_BUILD_DIR = debugbuild DEBUG_OBJECTS = $(addprefix $(DEBUG_BUILD_DIR)/, $(SOURCE_FILES:.cpp=.o)) FAST_TARGET = fasttest FAST_SOURCES = $(addprefix src/, $(SOURCE_FILES)) FAST_BUILD_DIR = fastbuild FAST_OBJECTS = $(addprefix $(FAST_BUILD_DIR)/, $(SOURCE_FILES:.cpp=.o)) SERVER_TARGET = server SERVER_SOURCE_FILES = materials.cpp defaultsettings.cpp mapnode.cpp voxel.cpp mapblockobject.cpp inventory.cpp debug.cpp serialization.cpp light.cpp filesys.cpp connection.cpp environment.cpp server.cpp socket.cpp mapblock.cpp mapsector.cpp heightmap.cpp map.cpp player.cpp utility.cpp servermain.cpp test.cpp SERVER_SOURCES = $(addprefix src/, $(SERVER_SOURCE_FILES)) SERVER_BUILD_DIR = serverbuild SERVER_OBJECTS = $(addprefix $(SERVER_BUILD_DIR)/, $(SERVER_SOURCE_FILES:.cpp=.o)) IRRLICHTPATH = ../irrlicht/irrlicht-1.7.1 JTHREADPATH = ../jthread/jthread-1.2.1 #CXXFLAGS = -O2 -ffast-math -Wall -fomit-frame-pointer -pipe #CXXFLAGS = -O2 -ffast-math -Wall -g -pipe #CXXFLAGS = -O1 -ffast-math -Wall -g CXXFLAGS = -Wall -g -O1 all: fast ifeq ($(HOSTTYPE), x86_64) LIBSELECT=64 endif debug fast: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L$(IRRLICHTPATH)/lib/Linux -L$(JTHREADPATH)/src/.libs -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -ljthread -lz debug: CPPFLAGS = -I$(IRRLICHTPATH)/include -I/usr/X11R6/include -I$(JTHREADPATH)/src -DDEBUG fast: CPPFLAGS = -I$(IRRLICHTPATH)/include -I/usr/X11R6/include -I$(JTHREADPATH)/src -DUNITTEST_DISABLE fast server: CXXFLAGS = -O3 -ffast-math -Wall -fomit-frame-pointer -pipe -funroll-loops -mtune=i686 server: LDFLAGS = -L$(JTHREADPATH)/src/.libs -ljthread -lz -lpthread server: CPPFLAGS = -I$(IRRLICHTPATH)/include -I/usr/X11R6/include -I$(JTHREADPATH)/src -DSERVER -DUNITTEST_DISABLE debug fast clean_debug: SYSTEM=Linux DEBUG_DESTPATH = bin/$(DEBUG_TARGET) FAST_DESTPATH = bin/$(FAST_TARGET) SERVER_DESTPATH = bin/$(SERVER_TARGET) # Build commands debug: $(DEBUG_BUILD_DIR) $(DEBUG_DESTPATH) fast: $(FAST_BUILD_DIR) $(FAST_DESTPATH) server: $(SERVER_BUILD_DIR) $(SERVER_DESTPATH) $(DEBUG_BUILD_DIR): mkdir -p $(DEBUG_BUILD_DIR) $(FAST_BUILD_DIR): mkdir -p $(FAST_BUILD_DIR) $(SERVER_BUILD_DIR): mkdir -p $(SERVER_BUILD_DIR) $(DEBUG_DESTPATH): $(DEBUG_OBJECTS) $(CXX) -o $@ $(DEBUG_OBJECTS) $(LDFLAGS) $(FAST_DESTPATH): $(FAST_OBJECTS) $(CXX) -o $@ $(FAST_OBJECTS) $(LDFLAGS) $(SERVER_DESTPATH): $(SERVER_OBJECTS) $(CXX) -o $@ $(SERVER_OBJECTS) $(LDFLAGS) $(DEBUG_BUILD_DIR)/%.o: src/%.cpp $(CXX) -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS) $(FAST_BUILD_DIR)/%.o: src/%.cpp $(CXX) -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS) $(SERVER_BUILD_DIR)/%.o: src/%.cpp $(CXX) -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS) clean: clean_debug clean_fast clean_server clean_debug: @$(RM) $(DEBUG_OBJECTS) $(DEBUG_DESTPATH) clean_fast: @$(RM) $(FAST_OBJECTS) $(FAST_DESTPATH) clean_server: @$(RM) $(SERVER_OBJECTS) $(SERVER_DESTPATH) .PHONY: all all_win32 clean clean_debug clean_win32 clean_fast clean_server