Skip to content
Snippets Groups Projects
Makefile.bak 3.73 KiB
Newer Older
Perttu Ahola's avatar
Perttu Ahola committed
# 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 = porting.cpp 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
Perttu Ahola's avatar
Perttu Ahola committed
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 = porting.cpp 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))
Perttu Ahola's avatar
Perttu Ahola committed

IRRLICHTPATH = ../irrlicht/irrlicht-1.7.1
JTHREADPATH = ../jthread/jthread-1.2.1


Perttu Ahola's avatar
Perttu Ahola committed

ifeq ($(HOSTTYPE), x86_64)
LIBSELECT=64
endif

debug: CXXFLAGS = -Wall -g -O1
debug: CPPFLAGS = -I$(IRRLICHTPATH)/include -I/usr/X11R6/include -I$(JTHREADPATH)/src -DDEBUG -DRUN_IN_PLACE
debug: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L$(IRRLICHTPATH)/lib/Linux -L$(JTHREADPATH)/src/.libs -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -ljthread -lz

fast: CXXFLAGS = -O3 -ffast-math -Wall -fomit-frame-pointer -pipe -funroll-loops -mtune=i686
fast: CPPFLAGS = -I$(IRRLICHTPATH)/include -I/usr/X11R6/include -I$(JTHREADPATH)/src -DUNITTEST_DISABLE -DRUN_IN_PLACE
fast: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L$(IRRLICHTPATH)/lib/Linux -L$(JTHREADPATH)/src/.libs -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -ljthread -lz

server: CXXFLAGS = -O3 -ffast-math -Wall -fomit-frame-pointer -pipe -funroll-loops -mtune=i686
server: CPPFLAGS = -I$(IRRLICHTPATH)/include -I/usr/X11R6/include -I$(JTHREADPATH)/src -DSERVER -DUNITTEST_DISABLE -DRUN_IN_PLACE
server: LDFLAGS = -L$(JTHREADPATH)/src/.libs -ljthread -lz -lpthread
Perttu Ahola's avatar
Perttu Ahola committed

DEBUG_DESTPATH = bin/$(DEBUG_TARGET)
FAST_DESTPATH = bin/$(FAST_TARGET)
SERVER_DESTPATH = bin/$(SERVER_TARGET)
Perttu Ahola's avatar
Perttu Ahola committed

# Build commands

debug: $(DEBUG_BUILD_DIR) $(DEBUG_DESTPATH)
fast: $(FAST_BUILD_DIR) $(FAST_DESTPATH)
server: $(SERVER_BUILD_DIR) $(SERVER_DESTPATH)
Perttu Ahola's avatar
Perttu Ahola committed

$(DEBUG_BUILD_DIR):
	mkdir -p $(DEBUG_BUILD_DIR)
Perttu Ahola's avatar
Perttu Ahola committed
$(FAST_BUILD_DIR):
	mkdir -p $(FAST_BUILD_DIR)
$(SERVER_BUILD_DIR):
	mkdir -p $(SERVER_BUILD_DIR)
Perttu Ahola's avatar
Perttu Ahola committed

$(DEBUG_DESTPATH): $(DEBUG_OBJECTS)
	$(CXX) -o $@ $(DEBUG_OBJECTS) $(LDFLAGS)
Perttu Ahola's avatar
Perttu Ahola committed

Perttu Ahola's avatar
Perttu Ahola committed
$(FAST_DESTPATH): $(FAST_OBJECTS)
	$(CXX) -o $@ $(FAST_OBJECTS) $(LDFLAGS)

$(SERVER_DESTPATH): $(SERVER_OBJECTS)
	$(CXX) -o $@ $(SERVER_OBJECTS) $(LDFLAGS)
$(DEBUG_BUILD_DIR)/%.o: src/%.cpp
Perttu Ahola's avatar
Perttu Ahola committed
	$(CXX) -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS)

Perttu Ahola's avatar
Perttu Ahola committed
$(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
Perttu Ahola's avatar
Perttu Ahola committed

clean_debug:
	@$(RM) $(DEBUG_OBJECTS) $(DEBUG_DESTPATH)
Perttu Ahola's avatar
Perttu Ahola committed

	@$(RM) $(FAST_OBJECTS) $(FAST_DESTPATH)
	@$(RM) $(SERVER_OBJECTS) $(SERVER_DESTPATH)
Perttu Ahola's avatar
Perttu Ahola committed

.PHONY: all all_win32 clean clean_debug clean_win32 clean_fast clean_server