# makefile for vis5d

# $Id: Makefile,v 1.55 1996/04/09 17:58:28 brianp Exp $

# Vis5D version 4.2

# Vis5D system for visualizing five dimensional gridded data sets
# Copyright (C) 1990-1996  Bill Hibbard, Brian Paul, Dave Santek,
# and Andre Battaiola.
# 
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 1, or (at your option)
# any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.


VPATH = RCS

TCL_INCLUDE =
TCL_LIB =



#Tcl support:  uncomment and edit to enable
#TCL_INCLUDE = -DTCL -I/usr/local/include
#TCL_LIB = -L/usr/local/lib -ltcl




default:
	@echo "To make vis5d type one of the following:"
	@echo "   make irix4"
	@echo "   make irix5"
	@echo "   make irix5-opengl"
	@echo "   make irix5-mesa"
	@echo "   make irix6"
	@echo "   make irix6-mips4"
	@echo "   make alpha-denali"
	@echo "   make alpha-mesa"
	@echo "   make dec-mesa"
	@echo "   make hp-pex"
	@echo "   make hp-mesa"
	@echo "   make ibm-opengl"
	@echo "   make ibm-mesa"
	@echo "   make linux-mesa"
	@echo "   make sunos4-mesa"
	@echo "   make sunos5-mesa"
	@echo "   make sunos5-opengl"
	@echo "   make clean"

# For debugging on SGI:
debug:
	pmake target \
	"CC = cc" \
	"CFLAGS = -c -g -fullwarn -DOPENGL -DUNDERSCORE -DMCIDAS -I/usr/local/include" \
	"F77 = f77" \
	"FFLAGS = -c" \
	"AUXOBJS = graphics.ogl.o kltwin.o xdump.o" \
	"LINK = f77" \
	"LIBS = ../lui5/liblui.a -lfm -lGL -lGLU -lX11 -lXext -lm -lmpc ./libmcidas.a"
	echo >lastmake "$@"

irix4:
	pmake target \
	"CC = cc" \
	"CFLAGS = -c -O2 -ansi -DSGI_GL -DUNDERSCORE" \
	"F77 = f77" \
	"FFLAGS = -c" \
	"AUXOBJS = graphics.gl.o" \
	"LINK = f77" \
	"LIBS = ../lui5/liblui.a -lfm -lgl_s -lm -lmpc"
	echo >lastmake "$@"

irix5:
	pmake target \
	"CC = cc" \
	"CFLAGS = -c -O2 -fullwarn -DSGI_GL -DUNDERSCORE -DMCIDAS -I/usr/local/include" \
	"F77 = f77" \
	"FFLAGS = -c" \
	"AUXOBJS = graphics.gl.o kltwin.o" \
	"LINK = f77" \
	"LIBS = ../lui5/liblui.a -lfm -lgl_s -lm -lmpc ./libmcidas5.a"
	echo >lastmake "$@"

irix6:
	pmake target \
	"CC = cc" \
	"CFLAGS = -c -n32 -mips3 -O3 -DOPENGL -DUNDERSCORE" \
	"F77 = f77" \
	"FFLAGS = -c" \
	"AUXOBJS = graphics.ogl.o xdump.o" \
	"LINK = cc -n32" \
	"LIBS = ../lui5/liblui.a -lGL -lGLU -lX11 -lm"
	echo >lastmake "$@"

irix6-mips4:
	pmake target \
	"CC = cc" \
	"CFLAGS = -c -n32 -mips4 -O3 -DOPENGL -DUNDERSCORE" \
	"F77 = f77" \
	"FFLAGS = -c" \
	"AUXOBJS = graphics.ogl.o xdump.o" \
	"LINK = cc -n32" \
	"LIBS = ../lui5/liblui.a -lGL -lGLU -lX11 -lm"
	echo >lastmake "$@"

irix5-opengl:
	pmake target \
	"CC = cc" \
	"CFLAGS = -c -O2 -fullwarn -DOPENGL -DUNDERSCORE -DMCIDAS" \
	"F77 = f77" \
	"FFLAGS = -c" \
	"AUXOBJS = graphics.ogl.o kltwin.o xdump.o" \
	"LINK = f77" \
	"LIBS = ../lui5/liblui.a -lGL -lGLU -lX11 -lm -lmpc ./libmcidas.a"
	echo >lastmake "$@"

irix5-mesa:
	pmake target \
	"CC = cc" \
	"CFLAGS = -c -O2 -fullwarn -DOPENGL -DUNDERSCORE -DMCIDAS -I../Mesa/include" \
	"F77 = f77" \
	"FFLAGS = -c" \
	"AUXOBJS = graphics.ogl.o kltwin.o xdump.o" \
	"LINK = f77" \
	"LIBS = ../lui5/liblui.a -L../Mesa/lib -lMesaGL -lMesaGLU -lX11 -lXext -lm -lmpc ./libmcidas.a -lfpe"
	echo >lastmake "$@"

alpha-mesa:
	$(MAKE) target \
	"CC = cc" \
	"CFLAGS = -c -O -Ddec -w -DSINGLE_TASK -DOPENGL -DLITTLE -DUNDERSCORE -I../Mesa/include" \
	"AUXOBJS = graphics.ogl.o xdump.o" \
	"LINK = cc" \
	"LIBS = ../lui5/liblui.a -L../Mesa/lib -lMesaGL -lMesaGLU -lX11 -lXext -lm"

#obsolete
alpha-denali:
	$(MAKE) target \
	"CC = cc" \
	"CFLAGS = -c -O -taso -traditional -DUNDERSCORE -DDENALI -DSINGLE_TASK -DLITTLE -I/usr/kits/NPGL" \
	"AUXOBJS = graphics.denali.o" \
	"LINK = cc -non_shared" \
	"LIBS =  ../lui5/liblui.a -lnpgl -lKPCglext -lvll -lX11 -lKPCext -lm -ldnet_stub"

dec-mesa:
	$(MAKE) target \
	"CC = gcc" \
	"CFLAGS = -c -O -Ddec -w -DSINGLE_TASK -DOPENGL -DLITTLE -DUNDERSCORE -I../Mesa/include" \
	"AUXOBJS = graphics.ogl.o xdump.o" \
	"LINK = gcc" \
	"LIBS = ../lui5/liblui.a -L../Mesa/lib -lMesaGL -lMesaGLU -lX11 -lXext -lm"

hp-pex:
	$(MAKE) target \
	"CC = cc" \
	"CFLAGS = -c -O -Aa -D_HPUX_SOURCE -Dhp -I/usr/include/X11R5 -I/usr/lib/PEX5/utilities -DSINGLE_TASK -DPEX" \
	"AUXOBJS = graphics.pex.o xdump.o" \
	"LINK = cc" \
	"LIBS = ../lui5/liblui.a /usr/lib/PEX5/utilities/pexut.a -L/usr/lib/X11R5 -lXext -lPEX5 -lX11 -lm"

hp-mesa:
	$(MAKE) target \
	"CC = cc" \
	"CFLAGS = -c -O -Aa -w -D_HPUX_SOURCE -Dhp -I/usr/include/X11R5 -DSINGLE_TASK -DOPENGL -I../Mesa/include" \
	"AUXOBJS = graphics.ogl.o xdump.o" \
	"LINK = cc" \
	"LIBS = ../lui5/liblui.a -L../Mesa/lib -lMesaGL -lMesaGLU -lm -L/usr/lib/X11R5 -lXext -lX11"

ibm-opengl:
	$(MAKE) target \
	"CC = cc" \
	"CFLAGS = -c -O -Dibm -DSINGLE_TASK -DOPENGL" \
	"AUXOBJS = graphics.ogl.o xdump.o" \
	"LINK = cc" \
	"LIBS = ../lui5/liblui.a -lGL -lGLU -lX11 -lXext -lm"

ibm-mesa:
	$(MAKE) target \
	"CC = cc" \
	"CFLAGS = -c -O -Dibm -DSINGLE_TASK -DOPENGL -I../Mesa/include" \
	"AUXOBJS = graphics.ogl.o xdump.o" \
	"LINK = cc" \
	"LIBS = ../lui5/liblui.a -L../Mesa/lib -lMesaGL -lMesaGLU -lX11 -lXext -lm"

linux-mesa:
	$(MAKE) target \
	"CC = gcc" \
	"CFLAGS = -c -O2 -w -DLITTLE -DUNDERSCORE -DOPENGL -DSINGLE_TASK -I../Mesa/include" \
	"AUXOBJS = graphics.ogl.o xdump.o" \
	"LINK = gcc" \
	"LIBS = ../lui5/liblui.a -L../Mesa/lib -lMesaGL -lMesaGLU -lm -L/usr/X11/lib -lX11 -lXext"

sunos4-mesa:
	$(MAKE) target \
	"CC = cc" \
	"CFLAGS = -c -O -DSINGLE_TASK -DOPENGL -DUNDERSCORE -I../Mesa/include" \
	"AUXOBJS = graphics.ogl.o xdump.o" \
	"LINK = cc" \
	"LIBS = ../lui5/liblui.a -L../Mesa/lib -lMesaGL -lMesaGLU -lm -lX11 -lXext"

sunos5-mesa:
	$(MAKE) target \
	"CC = cc" \
	"CFLAGS = -O -Xa -c -I/usr/openwin/include -I../Mesa/include -DSINGLE_TASK -DOPENGL -DUNDERSCORE" \
	"AUXOBJS = graphics.ogl.o xdump.o" \
	"LINK = cc" \
	"LIBS = -L/usr/openwin/lib -R/usr/openwin/lib ../lui5/liblui.a -L../Mesa/lib -lMesaGL -lMesaGLU -lm -lX11 -lXext -lsocket"

sunos5-opengl:
	$(MAKE) target \
	"CC = cc" \
	"CFLAGS = -O -Xa -c -I/usr/openwin/include -DSINGLE_TASK -DOPENGL -DUNDERSCORE" \
	"AUXOBJS = graphics.ogl.o xdump.o" \
	"LINK = cc" \
	"LIBS = -L/usr/openwin/lib -R/usr/openwin/lib ../lui5/liblui.a -lGL -lGLU -lm -lX11 -lXext -lsocket"



clean:
	-rm *.o *~


######################################################################


target: ../vis5d


API_OBJS = analysis.o anim.o api.o binio.o box.o compute.o contour.o \
	globals.o graphics.all.o grid.o image.o map.o matrix.o \
	memory.o misc.o mwmborder.o proj.o queue.o render.o rgb.o \
	save.o socketio.o stream.o sync.o tclsave.o topo.o traj.o \
	v5d.o volume.o vtmcP.o work.o


GUI_OBJS = cursor.o gui.o labels.o script.o slice.o \
	rgbsliders.o isocolor.o uvwwidget.o


OBJS = $(GUI_OBJS) $(API_OBJS) $(AUXOBJS)


../vis5d: $(OBJS) main.o ../lui5/liblui.a
	$(LINK) main.o $(OBJS) $(LIBS) $(TCL_LIB) -o $@


.c.o:
	$(CC) $(CFLAGS) $(TCL_INCLUDE) $<


SOURCES = analysis.c anim.c api.c binio.c box.c compute.c \
	contour.c cursor.c globals.c graphics.all.c graphics.gl.c \
	graphics.ogl.c graphics.pex.c grid.c gui.c image.c isocolor.c \
	labels.c main.c map.c matrix.c memory.c misc.c mwmborder.c \
	proj.c queue.c render.c rgb.c rgbsliders.c save.c script.c \
	slice.c socketio.c stream.c sync.c tclsave.c topo.c traj.c v5d.c \
	volume.c vtmcP.c work.c xdump.c


##dep:
##	makedepend -fdepend -Y $(SOURCES)


# The following are dependencies generated by running makedepend:

analysis.o: analysis.h globals.h api.h matrix.h sync.h v5d.h vis5d.h grid.h
analysis.o: memory.h proj.h queue.h socketio.h
anim.o: globals.h api.h matrix.h sync.h v5d.h vis5d.h graphics.h
api.o: analysis.h globals.h api.h matrix.h sync.h v5d.h vis5d.h anim.h box.h
api.o: compute.h graphics.h grid.h image.h memory.h map.h misc.h proj.h
api.o: queue.h render.h save.h traj.h topo.h volume.h work.h
binio.o: binio.h
box.o: api.h box.h globals.h matrix.h sync.h v5d.h vis5d.h graphics.h proj.h
box.o: render.h
compute.o: api.h globals.h matrix.h sync.h v5d.h vis5d.h grid.h memory.h
contour.o: memory.h globals.h api.h matrix.h sync.h v5d.h vis5d.h
cursor.o: api.h gui.h ../lui5/lui.h ../lui5/browser.h ../lui5/list.h
cursor.o: ../lui5/scrollbar.h ../lui5/field.h ../lui5/newbutton.h
cursor.o: ../lui5/button.h ../lui5/buttonmatrix.h ../lui5/colorbar.h
cursor.o: ../lui5/destroy.h ../lui5/dialog.h ../lui5/label.h ../lui5/layout.h
cursor.o: ../lui5/newlabel.h ../lui5/newslider.h ../lui5/popup.h
cursor.o: ../lui5/radio.h matrix.h vis5d.h v5d.h
globals.o: globals.h api.h matrix.h sync.h v5d.h vis5d.h memory.h graphics.h
graphics.all.o: globals.h api.h matrix.h sync.h v5d.h vis5d.h
graphics.gl.o: graphics.h globals.h api.h matrix.h sync.h v5d.h vis5d.h
graphics.gl.o: misc.h
graphics.ogl.o: globals.h api.h matrix.h sync.h v5d.h vis5d.h graphics.h
graphics.ogl.o: misc.h mwmborder.h xdump.h
graphics.pex.o: graphics.h globals.h api.h matrix.h sync.h v5d.h vis5d.h
grid.o: api.h binio.h grid.h globals.h matrix.h sync.h v5d.h vis5d.h memory.h
gui.o: ../lui5/lui.h ../lui5/browser.h ../lui5/list.h ../lui5/scrollbar.h
gui.o: ../lui5/field.h ../lui5/newbutton.h ../lui5/button.h
gui.o: ../lui5/buttonmatrix.h ../lui5/colorbar.h ../lui5/destroy.h
gui.o: ../lui5/dialog.h ../lui5/label.h ../lui5/layout.h ../lui5/newlabel.h
gui.o: ../lui5/newslider.h ../lui5/popup.h ../lui5/radio.h
gui.o: analysis.h globals.h api.h matrix.h sync.h v5d.h vis5d.h cursor.h
gui.o: graphics.h gui.h labels.h slice.h script.h tclsave.h rgbsliders.h
gui.o: isocolor.h uvwwidget.h
image.o: globals.h api.h matrix.h sync.h v5d.h vis5d.h graphics.h rgb.h
labels.o: api.h labels.h gui.h ../lui5/lui.h ../lui5/browser.h ../lui5/list.h
labels.o: ../lui5/scrollbar.h ../lui5/field.h ../lui5/newbutton.h
labels.o: ../lui5/button.h ../lui5/buttonmatrix.h ../lui5/colorbar.h
labels.o: ../lui5/destroy.h ../lui5/dialog.h ../lui5/label.h ../lui5/layout.h
labels.o: ../lui5/newlabel.h ../lui5/newslider.h ../lui5/popup.h
labels.o: ../lui5/radio.h matrix.h vis5d.h v5d.h
main.o: api.h gui.h ../lui5/lui.h ../lui5/browser.h ../lui5/list.h
main.o: ../lui5/scrollbar.h ../lui5/field.h ../lui5/newbutton.h
main.o: ../lui5/button.h ../lui5/buttonmatrix.h ../lui5/colorbar.h
main.o: ../lui5/destroy.h ../lui5/dialog.h ../lui5/label.h ../lui5/layout.h
main.o: ../lui5/newlabel.h ../lui5/newslider.h ../lui5/popup.h
main.o: ../lui5/radio.h matrix.h vis5d.h v5d.h script.h
map.o: binio.h graphics.h globals.h api.h matrix.h sync.h v5d.h vis5d.h map.h
map.o: proj.h topo.h
matrix.o: matrix.h
memory.o: globals.h api.h matrix.h sync.h v5d.h vis5d.h memory.h misc.h
misc.o: api.h globals.h matrix.h sync.h v5d.h vis5d.h memory.h misc.h proj.h
proj.o: globals.h api.h matrix.h sync.h v5d.h vis5d.h proj.h box.h
queue.o: analysis.h globals.h api.h matrix.h sync.h v5d.h vis5d.h queue.h
render.o: anim.h globals.h api.h matrix.h sync.h v5d.h vis5d.h box.h
render.o: graphics.h grid.h labels.h map.h memory.h misc.h proj.h queue.h
render.o: topo.h volume.h
rgb.o: rgb.h
save.o: api.h globals.h matrix.h sync.h v5d.h vis5d.h grid.h memory.h misc.h
save.o: topo.h labels.h
script.o: api.h globals.h matrix.h sync.h v5d.h vis5d.h graphics.h gui.h
script.o: ../lui5/lui.h ../lui5/browser.h ../lui5/list.h ../lui5/scrollbar.h
script.o: ../lui5/field.h ../lui5/newbutton.h ../lui5/button.h
script.o: ../lui5/buttonmatrix.h ../lui5/colorbar.h ../lui5/destroy.h
script.o: ../lui5/dialog.h ../lui5/label.h ../lui5/layout.h
script.o: ../lui5/newlabel.h ../lui5/newslider.h ../lui5/popup.h
script.o: ../lui5/radio.h
slice.o: api.h gui.h ../lui5/lui.h ../lui5/browser.h ../lui5/list.h
slice.o: ../lui5/scrollbar.h ../lui5/field.h ../lui5/newbutton.h
slice.o: ../lui5/button.h ../lui5/buttonmatrix.h ../lui5/colorbar.h
slice.o: ../lui5/destroy.h ../lui5/dialog.h ../lui5/label.h ../lui5/layout.h
slice.o: ../lui5/newlabel.h ../lui5/newslider.h ../lui5/popup.h
slice.o: ../lui5/radio.h matrix.h vis5d.h v5d.h
stream.o: memory.h globals.h api.h matrix.h sync.h v5d.h vis5d.h proj.h
sync.o: sync.h
tclsave.o: globals.h api.h matrix.h sync.h v5d.h vis5d.h graphics.h gui.h
tclsave.o: ../lui5/lui.h ../lui5/browser.h ../lui5/list.h ../lui5/scrollbar.h
tclsave.o: ../lui5/field.h ../lui5/newbutton.h ../lui5/button.h
tclsave.o: ../lui5/buttonmatrix.h ../lui5/colorbar.h ../lui5/destroy.h
tclsave.o: ../lui5/dialog.h ../lui5/label.h ../lui5/layout.h
tclsave.o: ../lui5/newlabel.h ../lui5/newslider.h ../lui5/popup.h
tclsave.o: ../lui5/radio.h
topo.o: binio.h globals.h api.h matrix.h sync.h v5d.h vis5d.h graphics.h
topo.o: image.h memory.h proj.h topo.h
traj.o: globals.h api.h matrix.h sync.h v5d.h vis5d.h grid.h proj.h
v5d.o: binio.h v5d.h vis5d.h
volume.o: globals.h api.h matrix.h sync.h v5d.h vis5d.h graphics.h grid.h
volume.o: memory.h proj.h volume.h
vtmcP.o: etableP.h memory.h globals.h api.h matrix.h sync.h v5d.h vis5d.h
work.o: analysis.h globals.h api.h matrix.h sync.h v5d.h vis5d.h contour.h
work.o: grid.h memory.h misc.h proj.h queue.h stream.h traj.h vtmcP.h work.h
rgbsliders.o: ../lui5/lui.h ../lui5/browser.h ../lui5/list.h
rgbsliders.o: ../lui5/scrollbar.h ../lui5/field.h ../lui5/newbutton.h
rgbsliders.o: ../lui5/button.h ../lui5/buttonmatrix.h ../lui5/colorbar.h
rgbsliders.o: ../lui5/destroy.h ../lui5/dialog.h ../lui5/label.h
rgbsliders.o: ../lui5/layout.h ../lui5/newlabel.h ../lui5/newslider.h
rgbsliders.o: ../lui5/popup.h ../lui5/radio.h api.h
rgbsliders.o: graphics.h globals.h matrix.h sync.h v5d.h vis5d.h gui.h
rgbsliders.o: mwmborder.h rgbsliders.h
isocolor.o: ../lui5/lui.h ../lui5/browser.h ../lui5/list.h
isocolor.o: ../lui5/scrollbar.h ../lui5/field.h ../lui5/newbutton.h
isocolor.o: ../lui5/button.h ../lui5/buttonmatrix.h ../lui5/colorbar.h
isocolor.o: ../lui5/destroy.h ../lui5/dialog.h ../lui5/label.h
isocolor.o: ../lui5/layout.h ../lui5/newlabel.h ../lui5/newslider.h
isocolor.o: ../lui5/popup.h ../lui5/radio.h api.h gui.h
isocolor.o: matrix.h vis5d.h v5d.h graphics.h globals.h sync.h isocolor.h
isocolor.o: mwmborder.h
