PROJECT= tp1
DATA= Doxyfile bigguy.obj ground.obj simple.mtl bbox.obj

CC= g++
LD= g++

CFLAGS= -Wall -pipe `sdl-config --cflags` 
LDFLAGS= -lm `sdl-config --libs`

GKIT_SRC= Geometry.cpp Mesh.cpp MeshOBJ.cpp Transform.cpp
SRC= main.cpp $(GKIT_SRC)
OBJ= $(SRC:.cpp=.o)
DEP= $(SRC:.cpp=.d)

BIN= main

.PHONY: all
all: $(BIN)

$(BIN): $(OBJ)
	$(LD) $(LDFLAGS) -o $@ $+

%.o: %.cpp
	$(CC) $(CFLAGS) -c $< -o $@

%.d: %.cpp
	$(CC) $(CFLAGS) -o $@ -MM $<

.PHONY: clean
clean: rebuild
	rm -f $(BIN) *.o *.d

.PHONY: tarball
tarball:
	@echo $(PROJECT)_b$(BUILD).tar.gz
	tar --ignore-failed-read --dereference -zcf $(PROJECT)_b$(BUILD).tar.gz Makefile *.c *.cpp *.h $(DATA) build
	@-rm -f $(PROJECT)_latest.tar.gz
	@ln -s $(PROJECT)_b$(BUILD).tar.gz $(PROJECT)_latest.tar.gz

# numero de version auto
-include build

build:
	@echo BUILD= 1 > build

rebuild: build
	@echo BUILD= `expr $(BUILD) + 1` > build

ifneq ($(MAKECMDGOALS), clean)
-include $(DEP)
endif
