7DRL2015/build/linux/Makefile

54 lines
1.7 KiB
Makefile

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/render -I../../src/things -I../../src/abilities -c
LDFLAGS+= -Wall -L../../../sdl/$(LIB_DIR) -Wl,-rpath=$(LIB_DIR)/ -lSDL2 -lSDL2_image -lSDL2_ttf -lpthread -Wl,--no-undefined -lm -ldl -pthread -lrt -Wl,-Bstatic -lGLEW -Wl,-Bdynamic -lGL
VPATH=../../src
BINARY=GodEater$(BITS)
OBJ=main.o fio.o Core.o Log.o QMap.o Tile.o Thought.o
OBJ+=render/Quat.o render/Mat4.o render/Vec.o render/Mesh.o render/Texture.o render/Program.o render/RenderScene.o render/RenderSet.o render/RenderObject.o render/RenderCamera.o render/RenderView.o render/Sprite.o
OBJ+=render/Font.o render/Ui.o render/UiText.o
OBJ+=states/GameState.o states/UiSubState.o
OBJ+=Controller.o PlayerController.o AiController.o
OBJ+=things/Thing.o things/Denizen.o things/SightSeer.o things/GnashingGibber.o
OBJ+=abilities/Ability.o abilities/GodHand.o abilities/VampiricNom.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)/render
-mkdir -p $(OBJ_DIR)/things
-mkdir -p $(OBJ_DIR)/abilities
$(CXX) $(CXXFLAGS) $< -o $@
clean:
rm -rf $(OBJ_DIR)/*
rm -rf build/*