VERT = vert
FRAG = frag
EXAMPLE = gcd
#
# These may be overriden by the user with environment varibles
#
#CC ?= gcc
CC = g++
COPTS ?= -g -Wall

ifeq ("$(shell uname)", "Linux")
LIBS := -L/usr/lib -L/usr/X11R6/lib -pthread -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11
BUILD_APP := :
else
ifeq ("$(shell uname)", "Darwin")
INC := -DCWD="\"$(shell pwd)/\""
LIBS := -framework OpenGL -framework GLUT -framework Foundation -lstdc++
BUILD_APP := perl -w ./build_app.pl
endif
endif

all : $(EXAMPLE)

clean :
	rm -f *.o $(EXAMPLE)
	rm -rf $(EXAMPLE).app
	rm -rf run
	rm -rf *.vp *.fp

OBJS = \
extgl.o

.c.o:
	gcc $(COPTS) -I./ -c $<

$(VERT) : $(VERT).cg
	cgc -posinv -profile arbvp1 $(VERT).cg -o $(VERT).vp

$(FRAG) : $(FRAG).cg
	cgc -profile arbfp1 $(FRAG).cg -o $(FRAG).fp

ifeq ("$(shell uname)", "Linux")
$(EXAMPLE) : $(VERT) $(FRAG) $(OBJS) $(EXAMPLE).cpp
	$(CC) -o $@ $(INC) $(COPTS) -I./ $(EXAMPLE).cpp $(OBJS) $(LIBS)
	$(BUILD_APP) $@
else
ifeq ("$(shell uname)", "Darwin")
$(EXAMPLE) : $(VERT) $(FRAG) $(EXAMPLE).cpp
	$(CC) -o $@ $(INC) $(COPTS) $(EXAMPLE).cpp $(LIBS)
	$(BUILD_APP) $@
endif
endif
