PREFIX= $(HOME)/local
PROJECT= sdlkit_tests

CC= gcc
LD= gcc 
SHADERCC= $(PREFIX)/bin/shadercc

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

# configuration pour glew
GLEW_CFLAGS= 
GLEW_LDFLAGS= -lGLEW
CFLAGS+= $(GLEW_CFLAGS)
LDFLAGS+= $(GLEW_LDFLAGS)

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

#configuration pour sdlkit
KIT_CFLAGS= -I$(PREFIX)/include
KIT_LDFLAGS= -L$(PREFIX)/lib -Wl,-rpath -Wl,$(PREFIX)/lib -lsdlkit -lglsl2 -lrender_target -lvertex_buffer
CFLAGS+= $(KIT_CFLAGS)
LDFLAGS+= $(KIT_LDFLAGS)

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


SRC= sdlkit_testmain.c glsl_testmain.c animation_testmain.c animation_vbo_testmain.c vertexbuffer_testmain.c
OBJ= $(SRC:.c=.o)
DEP= $(SRC:.c=.d)

BIN= sdlkit_testmain glsl_testmain animation_testmain vertexbuffer_testmain animation_vbo_testmain
DATA= bigguy/bigguy_00.obj bigguy/bigguy_08.obj bigguy.obj ground.obj animation.vsl simple.vsl simple.fsl

.PHONY: all
all: $(BIN)  shader

.PHONY: shader
shader: 
	$(SHADERCC) simple.vsl simple.fsl
	
glsl_testmain: glsl_testmain.o 
	$(LD) $(LDFLAGS) -o $@ $+

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

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

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

animation_vbo_testmain: animation_vbo_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
