# makefile for nbody program, SGI version

C859 = /afs/cs/project/classes-ph/859E/pub

# include and library paths
IPATH = -I$(C859)/include
GLLIBS = -lGLU -lGL -lX11
LIBS = -L$(C859)/lib -lforms -lsvl.dbg $(GLLIBS) -lm

# compilers and settings to use for C++ and C code, respectively
CPPC = CC
CC = cc

CFLAGS = -g $(IPATH) -o32
CPPFLAGS = $(CFLAGS) -D__SGI__ -DVL_CHECKING
# the above VL options turn on subscriptrange checking

# -o32 is an SGI compiler option that selects the old-fashioned instruction
# set (would run a little faster on some machines if we used -n32 or -n64)

# after code is debugged, replace -g -lsvl.dbg -DVL_CHECKING
# with                            -O2 -lsvl
# for optimization.  Program may run many times faster that way.

PROGNAME = nbody

# list of source files to compile
SOURCE = nbody.cc glxf.c ui_form.c

# list of object files to link
OBJECT = nbody.o glxf.o ui_form.o

.SUFFIXES: .cc .c

.cc.o:
	$(CPPC) -c $(CPPFLAGS) $<

$(PROGNAME): $(OBJECT)
	$(CPPC) $(CPPFLAGS) -o $(PROGNAME) $(OBJECT) $(LIBS)

clean:
	-rm -rf core *.o *~ "#"*"#" Makefile.sgi.bak ii_files

depend:
	makedepend -fMakefile.sgi $(IPATH) -I/usr/include/CC $(SOURCE)

randsq: randsq.o
	$(CPPC) $(CPPFLAGS) -o randsq randsq.o

orbit: orbit.o
	$(CPPC) $(CPPFLAGS) -o orbit orbit.o -lm

# DO NOT DELETE

nbody.o: /usr/include/stdio.h /usr/include/standards.h /usr/include/sgidefs.h
nbody.o: /usr/include/stdlib.h /usr/include/CC/iostream.h
nbody.o: /usr/include/memory.h /usr/include/math.h /usr/include/GL/glu.h
nbody.o: /usr/include/GL/gl.h
nbody.o: /afs/cs/project/classes-ph/859E/pub/include/svl/Vec2.h
nbody.o: /afs/cs/project/classes-ph/859E/pub/include/svl/VL.h
nbody.o: /afs/cs/project/classes-ph/859E/pub/include/svl/Basics.h
nbody.o: /afs/cs/project/classes-ph/859E/pub/include/svl/VLConfig.h
nbody.o: /afs/cs/project/classes-ph/859E/pub/include/svl/VLConstants.h
nbody.o: /afs/cs/project/classes-ph/859E/pub/include/svl/VLMath.h
glxf.o: /usr/include/assert.h /usr/include/stdio.h /usr/include/standards.h
glxf.o: /usr/include/sgidefs.h glxf.h /usr/include/GL/gl.h
glxf.o: /usr/include/GL/glx.h /usr/include/X11/Xlib.h
glxf.o: /usr/include/sys/types.h /usr/include/X11/X.h
glxf.o: /usr/include/X11/Xfuncproto.h /usr/include/X11/Xosdefs.h
glxf.o: /usr/include/stddef.h /usr/include/X11/Xutil.h /usr/include/X11/Xmd.h
glxf.o: /usr/include/GL/glxtokens.h
glxf.o: /afs/cs/project/classes-ph/859E/pub/include/forms.h
glxf.o: /usr/include/string.h /usr/include/limits.h /usr/include/X11/Xatom.h
glxf.o: /usr/include/X11/keysym.h /usr/include/X11/keysymdef.h
glxf.o: /usr/include/X11/SGIkeysym.h /usr/include/X11/Xresource.h
glxf.o: /usr/include/X11/cursorfont.h
ui_form.o: /afs/cs/project/classes-ph/859E/pub/include/forms.h
ui_form.o: /usr/include/stdio.h /usr/include/standards.h
ui_form.o: /usr/include/sgidefs.h /usr/include/string.h /usr/include/limits.h
ui_form.o: /usr/include/X11/Xlib.h /usr/include/sys/types.h
ui_form.o: /usr/include/X11/X.h /usr/include/X11/Xfuncproto.h
ui_form.o: /usr/include/X11/Xosdefs.h /usr/include/stddef.h
ui_form.o: /usr/include/X11/Xutil.h /usr/include/X11/Xatom.h
ui_form.o: /usr/include/X11/keysym.h /usr/include/X11/keysymdef.h
ui_form.o: /usr/include/X11/SGIkeysym.h /usr/include/X11/Xresource.h
ui_form.o: /usr/include/X11/cursorfont.h /usr/include/stdlib.h ui_form.h
