46 lines
1.4 KiB
Makefile
46 lines
1.4 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` -c
|
|
#LDFLAGS+=-Wall `sdl2-config --libs` -lSDL2_image -lSDL2_mixer -lGLEW -lGL
|
|
#LDFLAGS+= -Wall -L/usr/$(LIB_DIR) -Wl,-rpath=$(LIB_DIR)/ -lSDL2 -lpthread -Wl,--no-undefined -lm -ldl -lpthread -lrt -Wl,-Bstatic -lSDL2_image -lSDL2_mixer -lGLEW -Wl,-Bdynamic -lGL
|
|
LDFLAGS+= -Wall -L/export/home/kts/Devel/sdl/$(LIB_DIR) -Wl,-rpath=$(LIB_DIR)/ -lSDL2 -lpthread -Wl,--no-undefined -lm -ldl -lpthread -lrt -Wl,-Bstatic -lSDL2_image -lSDL2_mixer -lGLEW -Wl,-Bdynamic -lGL
|
|
VPATH=src
|
|
BINARY=juliet$(BITS)
|
|
OBJ=main.o v_common.o a_common.o g_common.o shader.o texture.o World.o Sprite.o Entity.o Juliet.o Enemy.o game.o
|
|
OBJ_DIR=src/obj
|
|
|
|
$(BINARY): $(patsubst %,$(OBJ_DIR)/%,$(OBJ))
|
|
$(CXX) $^ -o $@ $(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 -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
|
|
cp -p $(BINARY) build/
|
|
cp -rf gfx/ build/
|
|
cp -rf sfx/ build/
|
|
cp -rf shaders build/
|
|
|
|
$(OBJ_DIR)/%.o: %.cpp
|
|
$(CXX) $(CXXFLAGS) $< -o $@
|
|
|
|
clean:
|
|
rm -f $(OBJ_DIR)/*.o && rm -f $(BINARY)
|