##################################################### ## ## pouetChess ## Author: Frederic MARTIN [martin-frederic@users.sourceforge.net] ## ##################################################### ## ---------- Options ---------- ## choice between 'release' and 'debug' (if you change this don't forget to do a clean) BUILD := release ## executable name EXECUTABLE := pouetChess ## ---------- You might need to change this ---------- SOURCES := $(wildcard src/*.cpp) OBJ := $(patsubst src/%.cpp,obj/%.o,$(SOURCES)) DEPS := $(patsubst src/%.cpp,deps/%.d,$(SOURCES)) BIN := bin/$(EXECUTABLE) LIBS := `/usr/local/bin/sdl-config --libs` -lSDL_image -lGL -lGLU -L/usr/X11R6/lib CXXFLAGS += -Wall `/usr/local/bin/sdl-config --cflags` -I/usr/X11R6/include ifeq ($(BUILD),debug) else endif ## ---------- targets ---------- all: $(BIN) clean: @rm -f $(OBJ) $(DEPS) $(BIN) @rm -f *~ src/*~ @echo "Everything is clean" play: all cd bin && ./$(EXECUTABLE) play_debug: all cd bin && gdb $(EXECUTABLE) ## ---------- Dependencies ---------- $(BIN): $(DEPS) $(OBJ) $(CXX) $(CXXFLAGS) -o $(BIN) $(OBJ) $(LIBS) ifneq ($(BUILD),debug) strip $(BIN) endif deps/%.d:src/%.cpp @echo Updating dependencies for : $@ @echo -n "obj/" > $@ @$(CXX) $(CXXFLAGS) -MM $< >> $@ @echo -n "deps/" >> $@ @$(CXX) $(CXXFLAGS) -MM $< | sed 's/\.o/\.d/' >> $@ obj/%.o:src/%.cpp $(CXX) $(CXXFLAGS) -c $< -o $@ -include $(DEPS)