source/code/Makefile
browsing at commit = 1899da111bb25d8cbb283f2ecd0882c5b84e499e
GAMEDIR=../../Game/
BINARY=$(GAMEDIR)blockattack
-include sago/Makefile.sago
ifndef CC
CC=gcc
endif
ifdef CROSS
CXX=$(CROSS)g++
endif
BASE_CFLAGS=-c $(shell $(CROSS)sdl2-config --cflags) -std=c++11
ifndef BUILDDIR
BUILDDIR=build
endif
BASE_LIBS=$(shell $(CROSS)sdl2-config --libs) $(shell $(CROSS)pkg-config SDL2_image SDL2_mixer SDL2_ttf --libs) $(SAGO_BASE_LIBS)
#For developement only
ifndef DEBUG
DEBUG=1
endif
ifndef NETWORK
NETWORK=0
endif
#Compile with debug information or optimized.
ifeq ($(DEBUG),1)
BASE_CFLAGS += -g -DDEBUG=1 -Wall -Wno-sign-compare
else
BASE_CFLAGS += -O3
endif
ifeq ($(NETWORK),1)
BASE_CFLAGS += -DNETWORK=1
BASE_LIBS += -lenet
else
BASE_CFLAGS += -DNETWORK=0
endif
ifeq ($(CROSS),i686-w64-mingw32.static-)
BASE_LIBS += -lws2_32
endif
BASE_LIBS += -lphysfs
OFILES=main.o highscore.o ReadKeyboard.o joypad.o listFiles.o common.o stats.o Libs/NFont.o Libs/SDL_FontCache.o MenuSystem.o menudef.o \
puzzlehandler.o stageclearhandler.o icon.o os.o ${SAGO_O_FILES}
ifeq ($(CROSS),i686-w64-mingw32.static-)
OFILES += winicon.res
BINARY := $(BINARY).exe
endif
$(BINARY): $(OFILES)
$(CXX) -O -o $(BINARY) $(OFILES) $(BASE_LIBS)
#-lphysfs
winicon.res: winicon.rc
$(CROSS)windres winicon.rc -O coff -o winicon.res
%.o : %.cpp
$(CXX) -MD $(BASE_CFLAGS) -c -o $@ $<
@cp $*.d $*.P; \
sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
-e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
rm -f $*.d
-include *.P
run: $(BINARY)
cd $(GAMEDIR) && ./blockattack
clean:
rm *.o *.P Libs/*.o Libs/*.P sago/*.o sago/*.P ; true
SOURCE_FILES = $(OFILES:.o=.cpp)
format:
astyle -t -j -y -c -k1 -z2 -A2 --pad-header $(SOURCE_FILES)