]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - Makefile
minecraft-like crafting
[dragonfireclient.git] / Makefile
index 3985bdbc528546cf6ce8708bd87ea1ef35a0cced..a6e360f3f33a40bad68b6ba4cc8c6bbe52c5193e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,74 +1,90 @@
 # Makefile for Irrlicht Examples\r
 # It's usually sufficient to change just the target name and source file list\r
 # and be sure that CXX is set to a valid compiler\r
-TARGET = test\r
-SOURCE_FILES = 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\r
-SOURCES = $(addprefix src/, $(SOURCE_FILES))\r
-OBJECTS = $(SOURCES:.cpp=.o)\r
-FASTTARGET = fasttest\r
+SOURCE_FILES = 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\r
+\r
+DEBUG_TARGET = debugtest\r
+DEBUG_SOURCES = $(addprefix src/, $(SOURCE_FILES))\r
+DEBUG_BUILD_DIR = debugbuild\r
+DEBUG_OBJECTS = $(addprefix $(DEBUG_BUILD_DIR)/, $(SOURCE_FILES:.cpp=.o))\r
+\r
+FAST_TARGET = fasttest\r
+FAST_SOURCES = $(addprefix src/, $(SOURCE_FILES))\r
+FAST_BUILD_DIR = fastbuild\r
+FAST_OBJECTS = $(addprefix $(FAST_BUILD_DIR)/, $(SOURCE_FILES:.cpp=.o))\r
+\r
+SERVER_TARGET = server\r
+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\r
+SERVER_SOURCES = $(addprefix src/, $(SERVER_SOURCE_FILES))\r
+SERVER_BUILD_DIR = serverbuild\r
+SERVER_OBJECTS = $(addprefix $(SERVER_BUILD_DIR)/, $(SERVER_SOURCE_FILES:.cpp=.o))\r
 \r
 IRRLICHTPATH = ../irrlicht/irrlicht-1.7.1\r
 JTHREADPATH = ../jthread/jthread-1.2.1\r
 \r
-CPPFLAGS = -I$(IRRLICHTPATH)/include -I/usr/X11R6/include -I$(JTHREADPATH)/src\r
-\r
 #CXXFLAGS = -O2 -ffast-math -Wall -fomit-frame-pointer -pipe\r
-CXXFLAGS = -O2 -ffast-math -Wall -g -pipe\r
+#CXXFLAGS = -O2 -ffast-math -Wall -g -pipe\r
 #CXXFLAGS = -O1 -ffast-math -Wall -g\r
-#CXXFLAGS = -Wall -g -O0\r
-\r
-#CXXFLAGS = -O3 -ffast-math -Wall\r
-#CXXFLAGS = -O3 -ffast-math -Wall -g\r
-#CXXFLAGS = -O2 -ffast-math -Wall -g\r
-\r
-FASTCXXFLAGS = -O3 -ffast-math -Wall -fomit-frame-pointer -pipe -funroll-loops -mtune=i686\r
-#FASTCXXFLAGS = -O3 -ffast-math -Wall -fomit-frame-pointer -pipe -funroll-loops -mtune=i686 -fwhole-program\r
+CXXFLAGS = -Wall -g -O1\r
 \r
-#Default target\r
-\r
-all: all_linux\r
+all: fast\r
 \r
 ifeq ($(HOSTTYPE), x86_64)\r
 LIBSELECT=64\r
 endif\r
 \r
-# Target specific settings\r
+debug fast: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L$(IRRLICHTPATH)/lib/Linux -L$(JTHREADPATH)/src/.libs -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -ljthread -lz\r
+debug: CPPFLAGS = -I$(IRRLICHTPATH)/include -I/usr/X11R6/include -I$(JTHREADPATH)/src -DDEBUG\r
+fast: CPPFLAGS = -I$(IRRLICHTPATH)/include -I/usr/X11R6/include -I$(JTHREADPATH)/src -DUNITTEST_DISABLE\r
+fast server: CXXFLAGS = -O3 -ffast-math -Wall -fomit-frame-pointer -pipe -funroll-loops -mtune=i686\r
+server: LDFLAGS = -L$(JTHREADPATH)/src/.libs -ljthread -lz -lpthread\r
+server: CPPFLAGS = -I$(IRRLICHTPATH)/include -I/usr/X11R6/include -I$(JTHREADPATH)/src -DSERVER -DUNITTEST_DISABLE\r
+debug fast clean_debug: SYSTEM=Linux\r
 \r
-all_linux fast_linux: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L$(IRRLICHTPATH)/lib/Linux -L$(JTHREADPATH)/src/.libs -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -ljthread\r
-all_linux fast_linux clean_linux: SYSTEM=Linux\r
+DEBUG_DESTPATH = bin/$(DEBUG_TARGET)\r
+FAST_DESTPATH = bin/$(FAST_TARGET)\r
+SERVER_DESTPATH = bin/$(SERVER_TARGET)\r
 \r
-all_win32: LDFLAGS = -L$(IRRLICHTPATH)/lib/Win32-gcc -L$(JTHREADPATH)/Debug -lIrrlicht -lopengl32 -lm -ljthread\r
-all_win32 clean_win32: SYSTEM=Win32-gcc\r
-all_win32 clean_win32: SUF=.exe\r
+# Build commands\r
 \r
-# Name of the binary - only valid for targets which set SYSTEM\r
+debug: $(DEBUG_BUILD_DIR) $(DEBUG_DESTPATH)\r
+fast: $(FAST_BUILD_DIR) $(FAST_DESTPATH)\r
+server: $(SERVER_BUILD_DIR) $(SERVER_DESTPATH)\r
 \r
-DESTPATH = bin/$(TARGET)$(SUF)\r
-FASTDESTPATH = bin/$(FASTTARGET)$(SUF)\r
+$(DEBUG_BUILD_DIR):\r
+       mkdir -p $(DEBUG_BUILD_DIR)\r
+$(FAST_BUILD_DIR):\r
+       mkdir -p $(FAST_BUILD_DIR)\r
+$(SERVER_BUILD_DIR):\r
+       mkdir -p $(SERVER_BUILD_DIR)\r
 \r
-# Build commands\r
+$(DEBUG_DESTPATH): $(DEBUG_OBJECTS)\r
+       $(CXX) -o $@ $(DEBUG_OBJECTS) $(LDFLAGS)\r
 \r
-all_linux all_win32: $(DESTPATH)\r
+$(FAST_DESTPATH): $(FAST_OBJECTS)\r
+       $(CXX) -o $@ $(FAST_OBJECTS) $(LDFLAGS)\r
 \r
-fast_linux: $(FASTDESTPATH)\r
+$(SERVER_DESTPATH): $(SERVER_OBJECTS)\r
+       $(CXX) -o $@ $(SERVER_OBJECTS) $(LDFLAGS)\r
 \r
-$(FASTDESTPATH): $(SOURCES)\r
-       $(CXX) -o $(FASTDESTPATH) $(SOURCES) $(CPPFLAGS) $(FASTCXXFLAGS) $(LDFLAGS) -DUNITTEST_DISABLE\r
-       @# Errno doesn't work ("error: ‘__errno_location’ was not declared in this scope")\r
-       @#cat $(SOURCES) | $(CXX) -o $(FASTDESTPATH) -x c++ - -Isrc/ $(CPPFLAGS) $(FASTCXXFLAGS) $(LDFLAGS) -DUNITTEST_DISABLE -DDISABLE_ERRNO\r
+$(DEBUG_BUILD_DIR)/%.o: src/%.cpp\r
+       $(CXX) -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS)\r
 \r
-$(DESTPATH): $(OBJECTS)\r
-       $(CXX) -o $@ $(OBJECTS) $(LDFLAGS)\r
+$(FAST_BUILD_DIR)/%.o: src/%.cpp\r
+       $(CXX) -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS)\r
 \r
-.cpp.o:\r
+$(SERVER_BUILD_DIR)/%.o: src/%.cpp\r
        $(CXX) -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS)\r
 \r
-clean: clean_linux clean_win32 clean_fast_linux\r
+clean: clean_debug clean_fast clean_server\r
+\r
+clean_debug:\r
+       @$(RM) $(DEBUG_OBJECTS) $(DEBUG_DESTPATH)\r
 \r
-clean_linux clean_win32:\r
-       @$(RM) $(OBJECTS) $(DESTPATH)\r
+clean_fast:\r
+       @$(RM) $(FAST_OBJECTS) $(FAST_DESTPATH)\r
 \r
-clean_fast_linux:\r
-       @$(RM) $(FASTDESTPATH)\r
+clean_server:\r
+       @$(RM) $(SERVER_OBJECTS) $(SERVER_DESTPATH)\r
 \r
-.PHONY: all all_win32 clean clean_linux clean_win32\r
+.PHONY: all all_win32 clean clean_debug clean_win32 clean_fast clean_server\r