#
#  Definitions for build options
#

CXX      = gcc
CXXFLAGS = -g
LDFLAGS  = -lGL -lglut -lm

CC       = $(CXX)
CFLAGS   = $(CXXFLAGS)

#
#  Source and object file definitions
#
MAINSRC  = trackball.c
FORMSRC = glm.c trackball.c 

EXEC     = $(MAINSRC:%.c=%)
FORMOBJ  = $(FORMSRC:%.c=%.o)

#
#  Dependencies for building project
#
all: $(EXEC)
$(EXEC): $(FORMOBJ)
	$(CXX) -o $@ ${FORMOBJ} $(LDFLAGS)

#
#  Dependencies for building object files
#
include depend.mak

#
#  Helper rules
#
depend:
	-rm -f depend.mak
	$(CXX) -MM $(CXXFLAGS) $(MAINSRC) $(FORMSRC) > depend.mak

tidy:
	-rm -f *~
	-rm -f *.o
	-rm -f core* 

clean: tidy
	-rm -f $(EXEC)

remake: clean all

run: all
	./runme

