BITS ?= $(shell getconf LONG_BIT) ifeq ($(BITS),64) CXXFLAGS=-m64 LDFLAGS=-m64 LIB_DIR=lib64 else CXXFLAGS=-m32 LDFLAGS=-m32 LIB_DIR=lib endif CXX=g++ DEBUG=-g CXXFLAGS+=$(DEBUG) -Wall `sdl2-config --cflags` -I../../src -I../../src/states -I../../src/gui -c LDFLAGS+= -Wall -L../../../sdl/$(LIB_DIR) -Wl,-rpath=$(LIB_DIR)/ -lSDL2 -lSDL2_image -lpthread -Wl,--no-undefined -lm -ldl -pthread -lrt -Wl,-Bstatic -lGLEW -Wl,-Bdynamic -lGL VPATH=../../src BINARY=RtB$(BITS) OBJ=main.o Asset.o AssetCache.o AssetManager.o Core.o fio.o checksum.o Log.o Quat.o Mat4.o Vec.o Mesh.o Texture.o Program.o RenderScene.o RenderSet.o RenderObject.o RenderCamera.o RenderView.o states/TestState.o states/MenuState.o Gui.o gui/GuiElement.o OBJ_DIR=obj $(BINARY): $(patsubst %,$(OBJ_DIR)/%,$(OBJ)) mkdir -p build $(CXX) $^ -o build/$@ $(LDFLAGS) release: make clean BITS=32 make install make clean BITS=64 make install install: $(BINARY) mkdir -p build/ mkdir -p build/$(LIB_DIR)/ cp -rfv ../../data build/ cp -f /usr/$(LIB_DIR)/libpng14.so.14.12.0 build/$(LIB_DIR)/libpng14.so.14 cp -f /usr/$(LIB_DIR)/libSDL2-2.0.so.0.2.1 build/$(LIB_DIR)/libSDL2-2.0.so.0 $(OBJ_DIR)/%.o: %.cpp mkdir -p $(OBJ_DIR) mkdir -p $(OBJ_DIR)/states mkdir -p $(OBJ_DIR)/gui $(CXX) $(CXXFLAGS) $< -o $@ clean: rm -f $(OBJ_DIR)/*.o rm -rf build/*