PREFIX= $(HOME)/local
PROJECT= sdlkit

CC= gcc
LD= gcc 

CFLAGS= -Wall -pipe
LDFLAGS= -lm -lGL 

GLEW_CFLAGS= 
GLEW_LDFLAGS= -lGLEW
CFLAGS+= $(GLEW_CFLAGS)
LDFLAGS+= $(GLEW_LDFLAGS)

SDL_CFLAGS= `sdl-config --cflags`
SDL_LDFLAGS= `sdl-config --libs`
CFLAGS+= $(SDL_CFLAGS)
LDFLAGS+= $(SDL_LDFLAGS)

OBJ_CFLAGS= -I$(PREFIX)/include
OBJ_LDFLAGS= -L$(PREFIX)/lib -Wl,--rpath -Wl,$(PREFIX)/lib -lobj
CFLAGS+= $(OBJ_CFLAGS)
#LDFLAGS+= $(OBJ_LDFLAGS)

SRC= sdlkit.c sdlkit_testmain.c glsl2.c glsl_testmain.c vertex_animation_testmain.c
OBJ= $(SRC:.c=.o)
DEP= $(SRC:.c=.d)

BIN= sdlkit_testmain glsl_testmain vertex_animation

DATA= animation.vsl simple.vsl simple.fsl

.PHONY: all
all: $(BIN) 

sdlkit_testmain: sdlkit.o sdlkit_testmain.o
	$(LD) $(LDFLAGS) $(OBJ_LDFLAGS) -o $@ $+

glsl_testmain: glsl2.o glsl_testmain.o sdlkit.o
	$(LD) $(LDFLAGS) -o $@ $+

vertex_animation: sdlkit.o glsl2.o vertex_animation_testmain.o
	$(LD) $(LDFLAGS) $(OBJ_LDFLAGS) -o $@ $+

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

%.d: %.c
	$(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 -zcf $(PROJECT)_b$(BUILD).tar.gz Makefile *.c *.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
