PREFIX= $(HOME)/local
PROJECT= objtoy

CC= gcc 
LD= gcc 

CFLAGS= -Wall  -pipe -fPIC -O3 -Winline -msse -mfpmath=sse
LDFLAGS= -lm -lGLU -lGL 

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

#
SRC= view_testmain.c view_sdl.c \
	model.c model_clean.c \
	maya_obj.c off.c
OBJ= $(SRC:.c=.o)
DEP= $(SRC:.c=.d)

# numero de version auto
-include build

BIN= mob
SO= libobj.so

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

build:
	echo BUILD= 1 > build

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

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

$(SO): $(OBJ)
	@echo ... build $(BUILD)
	$(LD) -shared $(LDFLAGS) -o $@ $+

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

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


.PHONY: clean
clean: rebuild
	rm -f $(BIN) $(OBJ) $(DEP)

.PHONY: tarball
tarball: 
	@echo $(PROJECT)_b$(BUILD).tar.gz
	tar -zcf $(PROJECT)_b$(BUILD).tar.gz Makefile build *.c *.h 
	@cp $(PROJECT)_b$(BUILD).tar.gz $(PROJECT)_latest.tar.gz

.PHONY: install
install: $(BIN) $(SO)
	mkdir -p $(PREFIX)/bin
	cp mob $(PREFIX)/bin
	mkdir -p $(PREFIX)/lib
	cp $(SO) $(PREFIX)/lib
	mkdir -p $(PREFIX)/include
	cp *.h $(PREFIX)/include

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