#sample Makefile for using OpenGL 

PROG	= draw
TOP = /usr/include/GL
CFLAGS  = -w -s -O2 -ansi -DSHM
LIBS	= -lglut -lGLU -lGL 
INCLS	= -I/usr/X11R/include -I$(TOP)
LIBDIR	= -L/usr/X11/lib -L/usr/X11R6/lib 

#source codes
SRCS   = $(PROG).cpp

#substitute .cpp by .o to obtain object filenames
OBJS   = $(SRCS:.cpp=.o)

#$< evaluates to the target's dependencies, 
#$@ evaluates to the target

$(PROG): $(OBJS)
	g++ -o $@ $(OBJS)  $(LIBDIR) $(LIBS) $(XLIBS)
	g++ -o sine sine.cpp  $(INCLS) $(LIBDIR) $(LIBS) $(XLIBS)
	g++ -o lines lines.cpp  $(INCLS) $(LIBDIR) $(LIBS) $(XLIBS)
	g++ -o polygon_modes polygon_modes.cpp $(INCLS)  $(LIBDIR) $(LIBS) $(XLIBS)
	g++ -o primitives primitives.cpp $(INCLS)  $(LIBDIR) $(LIBS) $(XLIBS)
	g++ -o viewports viewports.cpp $(INCLS)  $(LIBDIR) $(LIBS) $(XLIBS)
	cd turtle; make; cd ..

$(OBJS): 
	g++ -c  $*.cpp $(INCLS) 

clean:
	rm *.o; rm $(PROG); rm sine; rm lines; rm polygon_modes; rm primitives; rm viewports; cd turtle; make clean; cd .. 

