# installation prefix; executables are installed in $(PREFIX)/bin
PREFIX = $(HOME)

# test for ccache
CCACHE = $(shell which ccache 2>/dev/null)

ifneq ($(CCACHE),)
CC = ccache gcc
else
CC = gcc
endif

# test for architecture
UNAME = $(shell uname)

ifeq ($(UNAME),Linux)
CFLAGS = -Wall -O3
LIBFLAGS = -lGL -lGLU -lglut -lm
else
ifeq ($(UNAME),Darwin)
#CFLAGS =  -Wall -O3 -I/sw/include -I/sw/include/gnugetopt -I/usr/X11R6/include -L/sw/lib -L/usr/X11R6/lib
CFLAGS =  -Wall -O3 -I/usr/local/include -I/usr/local/opt/gnu-getopt -I/System/Library/Frameworks/OpenGL.framework -I/System/Library/Frameworks/GLUT.framework -I/System/Library/Frameworks/GLKit.framework -I/System/Library/Frameworks/Cocoa.framework -L/usr/X11/lib
#LIBFLAGS = -lGL -lGLU -lX11 -lglut -lgnugetopt -lm
LIBFLAGS = -framework GLUT -framework OpenGL -lX11 -lm
else
CFLAGS = -Wall -O3
LIBFLAGS = -lGL -lGLU -lglut -lm
endif
endif

EXE = glstarview
OBJS = glstarview.o

all: $(EXE)

$(EXE): $(OBJS)
	$(CC) $(CFLAGS) $^ -o $@ $(LIBFLAGS)

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

install: $(EXE)
	mkdir -p $(PREFIX)/bin/
	install -m 0755 $(EXE) $(PREFIX)/bin/

uninstall:
	rm -f $(PREFIX)/bin/$(EXE)

clean:
	rm -f $(OBJS) $(EXE)

mrproper: clean
	rm -f *~
	rm -f */*~
