PREFIX= $(HOME)/local
PROJECT= imgtoy

CC= gcc
LD= gcc 

CFLAGS= -Wall -pipe -fPIC
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)

SRC= view.c img.c tga.c hdr.c rgbe.c glsl.c
OBJ= $(SRC:.c=.o)
DEP= $(SRC:.c=.d)

BIN= viewhdr
SO= libimg.so

.PHONY: all
all: $(BIN) $(SO)

viewhdr: $(OBJ)
	$(LD) $(LDFLAGS) -o $@ $+ -lm

$(SO): $(OBJ)
	@echo ... build $(BUILD)
	$(LD) -shared $(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 -zcf $(PROJECT)_b$(BUILD).tar.gz Makefile *.c *.h build *.txt render.hdr
	@cp $(PROJECT)_b$(BUILD).tar.gz $(PROJECT)_latest.tar.gz

.PHONY: install
install: $(BIN)
	mkdir -p $(PREFIX)/bin
	cp viewhdr $(PREFIX)/bin
	cp -v *.txt $(PREFIX)/bin
	mkdir -p $(PREFIX)/lib
	cp $(SO) $(PREFIX)/lib
	mkdir -p $(PREFIX)/include
	cp *.h $(PREFIX)/include
	
	
# 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
