CC		= g++
C		= cpp
H		= h

CFLAGS	= -g
LDLIBS	= -L/usr/X11R6/lib

ifeq ("$(shell uname)", "Darwin")
  LDFLAGS     = -framework Foundation -framework GLUT -framework OpenGL -lm
else
  ifeq ("$(shell uname)", "Linux")
    LDFLAGS     = -lglut -lGL -lm
  endif
endif

HFILES = Vector.${H} Utility.${H}
OFILES = Vector.o Utility.o

PROJECT		= numint
${PROJECT}:	${PROJECT}.o ${OFILES} 
	${CC} ${CFLAGS} -o ${PROJECT} ${PROJECT}.o ${OFILES} ${DFLAGS} ${LDLIBS} ${LDFLAGS}

${PROJECT}.o: ${PROJECT}.${C} ${HFILES}
	${CC} $(CFLAGS) -c ${PROJECT}.${C}

Matrix.o: Matrix.${C} Matrix.${H} Vector.${H} Utility.${H} 
	${CC} $(CFLAGS) -c Matrix.${C}

Vector.o: Vector.${C} Vector.${H} Utility.${H} 
	${CC} $(CFLAGS) -c Vector.${C}

Utility.o: Utility.${C} Utility.${H}
	${CC} $(CFLAGS) -c Utility.${C}

debug:
	make 'DFLAGS = /usr/lib/debug/malloc.o'

clean:
	rm core.*; rm *.o; rm *~; rm ${PROJECT}
