minetest/Makefile

89 lines
3.5 KiB
Makefile
Raw Normal View History

2010-11-27 00:02:21 +01:00
# 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
TARGET = test
SOURCE_FILES = 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
2010-11-27 00:02:21 +01:00
SOURCES = $(addprefix src/, $(SOURCE_FILES))
2010-12-20 21:03:49 +01:00
BUILD_DIR = build
OBJECTS = $(addprefix $(BUILD_DIR)/, $(SOURCE_FILES:.cpp=.o))
FAST_TARGET = fasttest
2010-12-22 15:30:23 +01:00
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 = 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))
2010-12-20 21:03:49 +01:00
SERVER_BUILD_DIR = serverbuild
SERVER_OBJECTS = $(addprefix $(SERVER_BUILD_DIR)/, $(SERVER_SOURCE_FILES:.cpp=.o))
2010-11-27 00:02:21 +01:00
IRRLICHTPATH = ../irrlicht/irrlicht-1.7.1
JTHREADPATH = ../jthread/jthread-1.2.1
#CXXFLAGS = -O2 -ffast-math -Wall -fomit-frame-pointer -pipe
2010-12-23 14:31:50 +01:00
#CXXFLAGS = -O2 -ffast-math -Wall -g -pipe
2010-11-27 00:02:21 +01:00
#CXXFLAGS = -O1 -ffast-math -Wall -g
2010-12-23 14:31:50 +01:00
CXXFLAGS = -Wall -g -O0
2010-11-27 00:02:21 +01:00
all: fast_linux
2010-11-27 00:02:21 +01:00
ifeq ($(HOSTTYPE), x86_64)
LIBSELECT=64
endif
2010-12-14 00:56:24 +01:00
all_linux fast_linux: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L$(IRRLICHTPATH)/lib/Linux -L$(JTHREADPATH)/src/.libs -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -ljthread -lz
all_linux fast_linux: CPPFLAGS = -I$(IRRLICHTPATH)/include -I/usr/X11R6/include -I$(JTHREADPATH)/src
fast_linux server_linux: CXXFLAGS = -O3 -ffast-math -Wall -fomit-frame-pointer -pipe -funroll-loops -mtune=i686
server_linux: LDFLAGS = -L$(JTHREADPATH)/src/.libs -ljthread -lz -lpthread
server_linux: CPPFLAGS = -I$(IRRLICHTPATH)/include -I/usr/X11R6/include -I$(JTHREADPATH)/src -DSERVER
2010-11-27 00:02:21 +01:00
all_linux fast_linux clean_linux: SYSTEM=Linux
DESTPATH = bin/$(TARGET)
FAST_DESTPATH = bin/$(FAST_TARGET)
SERVER_DESTPATH = bin/$(SERVER_TARGET)
2010-11-27 00:02:21 +01:00
# Build commands
all_linux: $(BUILD_DIR) $(DESTPATH)
2010-12-22 15:30:23 +01:00
fast_linux: $(FAST_BUILD_DIR) $(FAST_DESTPATH)
server_linux: $(SERVER_BUILD_DIR) $(SERVER_DESTPATH)
2010-11-27 00:02:21 +01:00
$(BUILD_DIR):
mkdir -p $(BUILD_DIR)
2010-12-22 15:30:23 +01:00
$(FAST_BUILD_DIR):
mkdir -p $(FAST_BUILD_DIR)
$(SERVER_BUILD_DIR):
mkdir -p $(SERVER_BUILD_DIR)
2010-11-27 00:02:21 +01:00
$(DESTPATH): $(OBJECTS)
$(CXX) -o $@ $(OBJECTS) $(LDFLAGS)
2010-12-22 15:30:23 +01:00
$(FAST_DESTPATH): $(FAST_OBJECTS)
$(CXX) -o $@ $(FAST_OBJECTS) $(LDFLAGS) -DUNITTEST_DISABLE
$(SERVER_DESTPATH): $(SERVER_OBJECTS)
$(CXX) -o $@ $(SERVER_OBJECTS) $(LDFLAGS) -DSERVER -DUNITTEST_DISABLE
$(BUILD_DIR)/%.o: src/%.cpp
2010-11-27 00:02:21 +01:00
$(CXX) -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS)
2010-12-22 15:30:23 +01:00
$(FAST_BUILD_DIR)/%.o: src/%.cpp
$(CXX) -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS)
$(SERVER_BUILD_DIR)/%.o: src/%.cpp
$(CXX) -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS)
clean: clean_linux clean_fast_linux clean_server_linux
2010-11-27 00:02:21 +01:00
clean_linux:
2010-11-27 00:02:21 +01:00
@$(RM) $(OBJECTS) $(DESTPATH)
clean_fast_linux:
@$(RM) $(FAST_OBJECTS) $(FAST_DESTPATH)
clean_server_linux:
@$(RM) $(SERVER_OBJECTS) $(SERVER_DESTPATH)
2010-11-27 00:02:21 +01:00
.PHONY: all all_win32 clean clean_linux clean_win32 clean_fast_linux clean_server_linux