############################################################
# Simple Makefile for OpenGL Programs
#
#   Visualization Course, Fall 2001, Yap.
#
#   Please use this as pattern to organize your projects
############################################################

############################################################
# Variables
############################################################

# platform (either "unix" or "cyg")
pf = unix

# compiler
CC = g++

# Runtime libraries
   ifeq ($(pf),cyg)
	LIBS= -L\bin -lglut32 -LC:\WINNT\system32 -lopengl32 -lglu32
   else
	LIBS = -L/usr/X11R6/lib -L/usr/unsupported/installers/chenli/lib \
		-lglut -lGL -lGLU -lXmu -lXi -lXext -lX11 -lm -lsocket -lnsl
   endif


# Include headers files
   ifeq ($(pf),cyg)
	INC= -I\usr\include
   else
	INC = -I/usr/unsupported/installers/chenli/include
   endif

# version is "v" (can be the empty string)
v=
# program base is "p"
p=simple

# program is "pv"
pv=$(p)$(v)

############################################################
# Compilation Targets
#
#	You can compile any program "foo" by calling
#
#		% make p=foo
#
############################################################

exe: $(pv).o
	$(CC) $(pv).o $(LIBS) -o $(pv)

$(pv).o o: $(pv).cc
	$(CC) -c $(INC) $(pv).cc 

run: $(pv).exe
	$(pv)

############################################################
# House keeping functions
############################################################

tar:
	tar -cvf T.tar *

save:
ifeq ($(pf),unix)
	ci -l *.cc Make* *html
else
	cp *.cc Make* *html RCS
endif

clean:
	-@rm -f *.o 

veryclean: clean
	-@rm -f *.exe

############################################################
# THE END
############################################################