make null-terminated copy of program string so that parse works correctly
[mesa.git] / Make-config
index b79d5df066185f313f341e99d8965c76bd645ba4..209db45588c710fc696e96edc514d6f669a630e8 100644 (file)
-# $Id: Make-config,v 1.8 1999/10/22 10:46:06 brianp Exp $
+# Mesa Make-config file
 
-MESA_MAJOR=3
+# This file describes the compiler options, etc needed to build Mesa
+# on various systems using conventional Makefiles (not autoconf/automake).
+#
+# To add a new system configuration use an existing config as an example,
+# then update the top-level Makefile.X11 file.  You may also have to add
+# new platform support to the bin/mklib script.
+
+
+MESA_MAJOR=6
 MESA_MINOR=1
 MESA_TINY=0
 VERSION=$(MESA_MAJOR).$(MESA_MINOR)
 
-# Mesa 3-D graphics library
-# 
-# Copyright (C) 1999  Brian Paul   All Rights Reserved.
-# 
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-# 
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-# 
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-# BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-# The following variables are passed to each Makefile:
-#
-# GL_LIB      the name of the Mesa "GL" library file (usually libGL.a)
-# GLU_LIB     the name of the Mesa "GLU" library file (usually libGLU.a)
-# GLUT_LIB    the name of the GLUT library file (usually libglut.a)
-# CC          the C compiler (usually cc or gcc)
-# CFLAGS      flags to C compiler (usually -O)
-# MAKELIB     the script or command to make a library file
-# XLIBS       libraries needed to link X apps (at least -lX11)
-#
-# Optionally, you can add definitions for the INCDIR and LIBDIR variables
-# which specify where to find the Mesa include files and where to put the
-# Mesa libraries.  The defaults are ../include and ../lib.  This use of
-# overriding makefile macros on the command line should work with most
-# variants of make.
-#
-# To enable profiling add -DPROFILE to the CFLAGS line.  Be sure to set the
-# MESA_PROFILE environment variable to enable printing of the profile report.
-#
-# If your system supports the X Shared Memory extension add -DSHM to the
-# CFLAGS line and add -lXext to the XLIBS line.
-#
-# Some compilers complain about const parameters.  Adding -DNO_CONST to the
-# CFLAGS line should silence suth warnings.
-#
-#
-# To add a new system configuration just follow the examples below and update
-# the top-level Makefile.
-
-
 
+# The following variables should be defined for each configuration:
+#
+# GL_LIB         the name of the Mesa "GL" library file (usually libGL.so)
+# GLU_LIB        the name of the Mesa "GLU" library file (usually libGLU.so)
+# GLUT_LIB       the name of the GLUT library file (usually libglut.so)
+# GLW_LIB        the name of the GLw widget library file (usually libGLw.so)
+# OSMESA_LIB     the name of the OSMesa library file (usually libOSMesa.so)
+# CC             the C compiler (usually cc or gcc)
+# CXX            the C++ compiler (usuall c++ or g++ or CC)
+# CFLAGS         options for C compiler (like -O)
+# CXXFLAGS       options for the C++ compiler (like -O)
+# GLUT_CFLAGS    extra flags for compiling GLUT
+# GL_LIB_DEPS    list of libraries which the GL library depends on
+# GLU_LIB_DEPS   list of libraries which the GLU library depends on
+# GLUT_LIB_DEPS  list of libraries which the GLUT library depends on
+# GLW_LIB_DEPS   list of libraries which the GLw (Xt/OpenGL) library depends on
+# OSMESA_LIB_DEPS list of libraries which OSMesa depends on (optional)
+# APP_LIB_DEPS   list of libraries which demo programs depend upon
+# ASM_SOURCES    optional list of assembly language files to assemble for libGL
+# MKLIB_OPTIONS  extra options to pass to the mklib script (like -arch)
+
+
+# XXX probably out of date
 aix:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = cc" \
-       "CFLAGS = -O -DAIXV3" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -lX11 -lXext -lXmu -lXi"
+       "CXX = xlC" \
+       "CFLAGS = -O -DAIXV3 -DPTHREADS" \
+       "CXXFLAGS = -O -DAIXV3 -DPTHREADS" \
+       "MKLIB_OPTIONS = -static" \
+       "APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm"
 
-aix-sl:
+aix-nothreads:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = cc" \
+       "CXX = xlC" \
        "CFLAGS = -O -DAIXV3" \
-       "MAKELIB = ../bin/mklib.aix" \
-       "XLIBS = -lX11 -lXext -lXmu -lXi"
-
-# Make-config additions for the Amiga 3000 UX
-# Carlyn Voss Iuzzolino   5/8/95: 
-# Modified gcc part as follows:
-# Needed to take out -pedantic because that makes gcc complain about 
-# ANSI-CC not allowing #ident in Amiga's /usr/include/*.h files.
-# Took out -O2 (unrecognized option for gcc on the Amiga).
-# Needs /usr/lib/libsocket.a file. 
-amix:
+       "CXXFLAGS = -O -DAIXV3" \
+       "MKLIB_OPTIONS = -static" \
+       "APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm"
+
+aix-64:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
+       "LIBDIR = $(TOP)/lib64" \
        "CC = cc" \
-       "CFLAGS =" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -lX11 -lsocket -lnsl "
-
-beos-r4:
-       $(MAKE) -f Makefile.BeOS-R4 targets \
-       "GL_LIB = libGL.so" \
-       "GLU_LIB = libGLU.so" \
-       "GLUT_LIB = libglut.so" \
-       "GLW_LIB = libGLw.so" \
-       "CC = g++" \
-       "CFLAGS = -O -DNO_CONST" \
-       "MAKELIB = ../bin/mklib.beos-r4" \
-       "XLIBS = "
+       "CXX = xlC" \
+       "CFLAGS = -q64 -O -DAIXV3 -DPTHREADS" \
+       "CXXFLAGS = -q64 -O -DAIXV3 -DPTHREADS" \
+       "MKLIB_OPTIONS = -static -arch AIX64" \
+       "APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm"
 
-bsdos:
+aix-64-nothreads:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
-       "CC = gcc" \
-       "CFLAGS = -I/usr/X11/include -O2" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/X11/lib -lX11 -lipc"
+       "OSMESA_LIB = libOSMesa.a" \
+       "LIBDIR = $(TOP)/lib64" \
+       "CC = cc" \
+       "CXX = xlC" \
+       "CFLAGS = -q64 -O -DAIXV3" \
+       "CXXFLAGS = -q64 -O -DAIXV3" \
+       "MKLIB_OPTIONS = -static -arch AIX64" \
+       "APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm"
 
-bsdos4:
+# XXX probably out of date
+aix-sl:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
+       "CC = cc" \
+       "CFLAGS = -O -DAIXV3" \
+       "APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm"
+
+aix-gcc:
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+       "GL_LIB = libGL.so" \
+       "GLU_LIB = libGLU.so" \
+       "GLUT_LIB = libglut.so" \
+       "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
        "CC = gcc" \
-       "CFLAGS = -I/usr/X11/include -O2 -fPIC" \
-       "MAKELIB = ../bin/mklib.bsdos4" \
-       "XLIBS = -L/usr/X11/lib -lX11 -lipc"
+       "CFLAGS = -O2 -DAIXV3" \
+       "CXX = g++" \
+       "CXXFLAGS = -O2 -DAIXV3" \
+       "MKLIB_OPTIONS = -arch aix-gcc" \
+       "GL_LIB_DEPS = -lX11 -lXext -lm" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -lXi -lXmu" \
+       "APP_LIB_DEPS = -Wl,-brtl -lglut -lGLU -lGL -lm -lX11 -lXext -lXmu -lXi"
+
+beos-r4:
+       $(MAKE) -f Makefile.BeOS-R4 targets \
+       "GL_LIB = libGL.so" \
+       "GLU_LIB = libGLU.so" \
+       "GLUT_LIB = libglut.so" \
+       "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
+       "CC = g++" \
+       "CFLAGS = -O -DNO_CONST" \
+       "APP_LIB_DEPS = "
 
 cygnus:
        $(MAKE) -f Makefile.cygnus $(MFLAGS) -f Makefile.X11 targets \
@@ -137,16 +141,20 @@ cygnus:
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
+       "CXX = g++" \
        "DLLTOOL = dlltool" \
        "WING_DIR= /wing" \
        "LD = ld" \
        "CFLAGS = -I. -DWIN32 -D__WIN32__ -D_WINDOWS \
                -O2 -funroll-loops \
-               -fexpensive-optimizations -fomit-frame-pointer -ffast-math \
-               -malign-loops=2 -malign-jumps=2 -malign-functions=2" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "WLIBS = ../lib/wing32.a -lkernel32 -luser32 -lgdi32"
+               -fexpensive-optimizations -fomit-frame-pointer -ffast-math" \
+       "CXXFLAGS = -I. -DWIN32 -D__WIN32__ -D_WINDOWS \
+               -O2 -funroll-loops \
+               -fexpensive-optimizations -fomit-frame-pointer -ffast-math" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "WLIBS = $(TOP)/lib/wing32.a -lkernel32 -luser32 -lgdi32"
 
 cygnus-linux:
        $(MAKE) -f Makefile.cygnus $(MFLAGS) -f Makefile.X11 targets \
@@ -154,61 +162,124 @@ cygnus-linux:
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gnuwin32gcc" \
        "DLLTOOL = gnuwin32dlltool --as gnuwin32as" \
        "LD = gnuwin32ld" \
        "WING_DIR= /dos/wing" \
        "CFLAGS = -I. -DWIN32 -D__WIN32__ -D_WINDOWS \
                -O2 -funroll-loops \
-               -fexpensive-optimizations -fomit-frame-pointer -ffast-math \
-               -malign-loops=2 -malign-jumps=2 -malign-functions=2" \
-       "MAKELIB = ../bin/mklib.cygnus-linux" \
-       "WLIBS = ../lib/wing32.a -lkernel32 -luser32 -lgdi32"
+               -fexpensive-optimizations -fomit-frame-pointer -ffast-math" \
+       "WLIBS = $(TOP)/lib/wing32.a -lkernel32 -luser32 -lgdi32"
 
-dgux:
+darwin:
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+       "GL_LIB = libGL.dylib" \
+       "GLU_LIB = libGLU.dylib" \
+       "GLUT_LIB = libglut.dylib" \
+       "GLW_LIB = libGLw.dylib" \
+       "OSMESA_LIB = libOSMesa.dylib" \
+       "CC = cc" \
+       "CXX = cc" \
+       "CFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math \
+                -funroll-loops -fexpensive-optimizations -no-cpp-precomp \
+                -dynamic -Ddarwin" \
+       "CXXFLAGS = -I/usr/X11R6/include -O3 -fPIC -fno-common -ffast-math \
+                -funroll-loops -fexpensive-optimizations -no-cpp-precomp \
+                -dynamic -Ddarwin" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL \
+                       -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" 
+
+darwin-static:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
-       "CFLAGS = -O" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -lX11"
-
-freebsd:
+       "CXX = g++" \
+       "CFLAGS = -I/sw/include -I/usr/X11R6/include -O3 -fPIC -fno-common \
+               -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp \
+               -Ddarwin -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include" \
+       "CXXFLAGS = $(CFLAGS)" \
+       "MKLIB_OPTIONS = -static" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L../lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "APP_LIB_DEPS = -lm"
+
+darwin-static-nothreads:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
-       "CFLAGS = -O2 -fPIC -pedantic -I/usr/X11R6/include -DSHM -DHZ=100" \
-       "MAKELIB = ../bin/mklib.freebsd" \
-       "XLIBS = -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11"
+       "CXX = g++" \
+       "CFLAGS = -I/sw/include -I/usr/X11R6/include -O3 -fPIC -fno-common \
+               -ffast-math -funroll-loops -fexpensive-optimizations -no-cpp-precomp \
+               -Ddarwin -DUSE_XSHM -I/usr/X11R6/include" \
+       "CXXFLAGS = $(CFLAGS)" \
+       "MKLIB_OPTIONS = -static" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm" \
+       "GLU_LIB_DEPS = -L../lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "APP_LIB_DEPS = -lm"
 
-freebsd-386:
+freebsd:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
-       "CFLAGS = -O3 -ffast-math -fPIC -pedantic -I/usr/X11R6/include -DSHM -DHZ=100 -DUSE_X86_ASM -DFREEBSD" \
-       "MAKELIB = ../bin/mklib.freebsd" \
-       "XLIBS = -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11" \
-       "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S"
+       "CXX = g++" \
+       "CFLAGS = -O2 -fPIC -pedantic -I/usr/X11R6/include -DUSE_XSHM -DHZ=100" \
+       "CXXFLAGS = -O2 -fPIC -pedantic" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "APP_LIB_DEPS = -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm"
 
-gcc:
+freebsd-386:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
-       "CFLAGS = -pedantic -O2" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -lX11"
+       "CXX = g++" \
+       "CFLAGS = -O3 -ffast-math -fPIC -pedantic -I/usr/X11R6/include -DUSE_XSHM -DHZ=100 -DUSE_X86_ASM -DFREEBSD" \
+       "CXXFLAGS = -O3 -ffast-math -fPIC -pedantic -DFREEBSD" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "APP_LIB_DEPS = -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm" \
+       "ASM_SOURCES = $(X86_SOURCES)"
+
+gcc-sl:
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+       "GL_LIB = libGL.so" \
+       "GLU_LIB = libGLU.so" \
+       "GLUT_LIB = libglut.so" \
+       "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
+       "CC = gcc" \
+       "CPLUSPLUS = g++" \
+       "CFLAGS = -fPIC -O3" \
+       "CXXFLAGS = -fPIC -O3" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "APP_LIB_DEPS = -lX11 -lm"
+
+#special hidden target, to make a shared lib for ONLY Mesa "core"
+gcc-mesa-sl:
+       $(MAKE) $(MFLAGS) -f Makefile.X11 libmesa \
+       "MESA_LIB = libMesa.so" \
+       "CC = gcc" \
+       "CFLAGS = -fPIC -O3" \
+       "GLUT_CFLAGS = -fexceptions"
 
 hpux9:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -216,10 +287,10 @@ hpux9:
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = cc" \
-       "CFLAGS = +O3 -Aa -D_HPUX_SOURCE -I/usr/include/X11R5 -DSHM" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/lib/X11R5 -lXext -lXmu -lXi -lX11"
+       "CFLAGS = +O3 -Aa -D_HPUX_SOURCE -I/usr/include/X11R5 -DUSE_XSHM" \
+       "APP_LIB_DEPS = -L/usr/lib/X11R5 -lXext -lXmu -lXi -lX11 -lm"
 
 hpux9-gcc:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -227,10 +298,13 @@ hpux9-gcc:
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
-       "CFLAGS = -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R5 -DSHM" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/lib/X11R5 -lXext -lXmu -lXi -lX11"
+       "CXX = g++" \
+       "CFLAGS = -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R5 -DUSE_XSHM" \
+       "CXXFLAGS = -ansi -O3 -D_HPUX_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "APP_LIB_DEPS = -L/usr/lib/X11R5 -lXext -lXmu -lXi -lX11 -lm"
 
 hpux9-sl:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -238,10 +312,10 @@ hpux9-sl:
        "GLU_LIB = libGLU.sl" \
        "GLUT_LIB = libglut.sl" \
        "GLW_LIB = libGLw.sl" \
+       "OSMESA_LIB = libOSMesa.sl" \
        "CC = cc" \
-       "CFLAGS = +z +O3 +Olibcalls +ESlit -Aa +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R5 -DSHM" \
-       "MAKELIB = ../bin/mklib.hpux" \
-       "XLIBS = -L/usr/lib/X11R5 -s -Wl,+s,-B,nonfatal,-B,immediate -lXext -lXmu -lXi -lX11"
+       "CFLAGS = +z +O3 +Olibcalls +ESlit -Aa +Onolimit -D_HPUX_SOURCE -I/usr/include/X11R5 -DUSE_XSHM" \
+       "APP_LIB_DEPS = -L/usr/lib/X11R5 -s -Wl,+s,-B,nonfatal,-B,immediate -lXext -lXmu -lXi -lX11 -lm"
 
 hpux9-gcc-sl:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -249,32 +323,40 @@ hpux9-gcc-sl:
        "GLU_LIB = libGLU.sl" \
        "GLUT_LIB = libglut.sl" \
        "GLW_LIB = libGLw.sl" \
+       "OSMESA_LIB = libOSMesa.sl" \
        "CC = gcc" \
-       "CFLAGS = -fPIC -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R5 -DSHM" \
-       "MAKELIB = ../bin/mklib.hpux" \
-       "XLIBS = -L/usr/lib/X11R5 -lXext -lXmu -lXi -lX11"
+       "CXX = g++" \
+       "CFLAGS = -fPIC -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R5 -DUSE_XSHM" \
+       "CXXFLAGS = -fPIC -ansi -O3 -D_HPUX_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "APP_LIB_DEPS = -L/usr/lib/X11R5 -lXext -lXmu -lXi -lX11 -lm"
 
+# The hpux10 configs should work for hpux11 as well.
 hpux10:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = cc" \
-       "CFLAGS = +O3 +DAportable -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DSHM" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11"
+       "CXX = aCC" \
+       "CFLAGS = +O3 +DAportable -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
+       "CXXFLAGS = +O3 +DAportable -Aa -D_HPUX_SOURCE" \
+       "APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm -L/usr/lib -lCsup"
 
 hpux10-sl:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL" \
        "GLU_LIB = libGLU" \
        "GLUT_LIB = libglut" \
-       "GLW_LIB = libGLw.a" \
+       "GLW_LIB = libGLw" \
+       "OSMESA_LIB = libOSMesa" \
        "CC = cc" \
-       "CFLAGS = +z -Ae +O2 +Onolimit +Oaggressive -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DSHM" \
-       "MAKELIB = ../bin/mklib.hpux" \
-       "XLIBS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11"
+       "CXX = aCC" \
+       "CFLAGS = +O3 +DAportable +z -Aa -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
+       "CXXFLAGS = +O3 +DAportable +Z -Aa -D_HPUX_SOURCE" \
+       "APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm"
 
 hpux10-gcc:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -282,10 +364,13 @@ hpux10-gcc:
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
-       "CFLAGS = -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include  -DSHM" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11"
+       "CXX = g++" \
+       "CFLAGS = -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include  -DUSE_XSHM" \
+       "CXXFLAGS = -ansi -O3 -D_HPUX_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm"
 
 hpux10-gcc-sl:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -293,107 +378,183 @@ hpux10-gcc-sl:
        "GLU_LIB = libGLU.sl" \
        "GLUT_LIB = libglut.sl" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
-       "CFLAGS = -fPIC -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DSHM" \
-       "MAKELIB = ../bin/mklib.hpux" \
-       "XLIBS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11"
+       "CXX = g++" \
+       "CFLAGS = -fPIC -ansi -O3 -D_HPUX_SOURCE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
+       "CXXFLAGS = -fPIC -ansi -O3 -D_HPUX_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm"
 
+hpux11-32:
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+       "GL_LIB = libGL.a" \
+       "GLU_LIB = libGLU.a" \
+       "GLUT_LIB = libglut.a" \
+       "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
+       "CC = cc" \
+       "CXX = aCC" \
+       "CFLAGS = +O3 +DA2.0 -Aa -D_HPUX_SOURCE -D_USE_ISFINITE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS" \
+       "CXXFLAGS = +O3 +DA2.0 -Aa -D_HPUX_SOURCE -D_USE_ISFINITE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS" \
+       "MKLIB_OPTIONS = -static" \
+       "APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm"
 
-# For IRIX 4: don't use -fullwarn because it causes too much garbage
-irix4:
-       pmake $(MFLAGS) -f Makefile.X11 targets \
+hpux11-32-nothreads:
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = cc" \
-       "CFLAGS = -O2 -ansi -prototypes -DSHM" \
-       "MAKELIB = ../bin/mklib.ar-rcv" \
-       "XLIBS = -lXext -lXmu -lXi -lX11"
+       "CXX = aCC" \
+       "CFLAGS = +O3 +DA2.0 -Aa -D_HPUX_SOURCE -D_USE_ISFINITE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
+       "CXXFLAGS = +O3 +DA2.0 -Aa -D_HPUX_SOURCE -D_USE_ISFINITE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
+       "MKLIB_OPTIONS = -static" \
+       "APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm"
 
-# On IRIX 5.3 -sopt causes a problem in drawpixels.c so we don't use it
-irix5:
-       pmake $(MFLAGS) -f Makefile.X11 targets \
+hpux11-64:
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
+       "LIBDIR = $(TOP)/lib64" \
        "CC = cc" \
-       "CFLAGS = -O2 -ansi -fullwarn -DSHM -DNO_CONST" \
-       "MAKELIB = ../bin/mklib.ar-rcv" \
-       "XLIBS = -lX11 -lXext -lXmu -lXi"
+       "CXX = aCC" \
+       "CFLAGS = +O3 +DA2.0W -Ae -D_HPUX_SOURCE -D_USE_ISFINITE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS" \
+       "CXXFLAGS = +O3 +DA2.0W -Aa -D_HPUX_SOURCE -D_USE_ISFINITE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS" \
+       "MKLIB_OPTIONS = -static" \
+       "APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm"
 
-# On IRIX 5.2+gcc
-irix5-gcc:
-       make $(MFLAGS) -f Makefile.X11 targets \
+hpux11-64-nothreads:
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
-       "CC = gcc" \
-       "CFLAGS = -O2 -pedantic -DSHM" \
-       "MAKELIB = ../bin/mklib.ar-rcv" \
-       "XLIBS = -lX11 -lXext -lXmu -lXi"
+       "OSMESA_LIB = libOSMesa.a" \
+       "LIBDIR = $(TOP)/lib64" \
+       "CC = cc" \
+       "CXX = aCC" \
+       "CFLAGS = +O3 +DA2.0W -Ae -D_HPUX_SOURCE -D_USE_ISFINITE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
+       "CXXFLAGS = +O3 +DA2.0W -Aa -D_HPUX_SOURCE -D_USE_ISFINITE -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
+       "MKLIB_OPTIONS = -static" \
+       "APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm"
 
-# IRIX 5 using Dynamic Shared Objects (DSO)
-irix5-dso:
-       pmake $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.so" \
-       "GLU_LIB = libGLU.so" \
-       "GLUT_LIB = libglut.so" \
-       "GLW_LIB = libGLw.so" \
+hpux11-ia64:
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+       "GL_LIB = libGL.a" \
+       "GLU_LIB = libGLU.a" \
+       "GLUT_LIB = libglut.a" \
+       "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
+       "LIBDIR = $(TOP)/lib64" \
        "CC = cc" \
-       "CFLAGS = -O2 -ansi -fullwarn -DSHM -DNO_CONST" \
-       "MAKELIB = ../bin/mklib.irix5" \
-       "XLIBS = -rpath ../lib -lX11 -lXmu -lXi"
+       "CXX = aCC" \
+       "CFLAGS = +O3 +DD64 -Ae -D_HPUX_SOURCE +DSmckinley -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS" \
+       "CXXFLAGS = +O3 +DD64 -Aa -D_HPUX_SOURCE +DSmckinley -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM -DPTHREADS" \
+       "MKLIB_OPTIONS = -static" \
+       "APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm"
 
+hpux11-ia64-nothreads:
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+       "GL_LIB = libGL.a" \
+       "GLU_LIB = libGLU.a" \
+       "GLUT_LIB = libglut.a" \
+       "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
+       "LIBDIR = $(TOP)/lib64" \
+       "CC = cc" \
+       "CXX = aCC" \
+       "CFLAGS = +O3 +DD64 -Ae -D_HPUX_SOURCE +DSmckinley -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
+       "CXXFLAGS = +O3 +DD64 -Aa -D_HPUX_SOURCE +DSmckinley -I/usr/include/X11R6 -I/usr/contrib/X11R6/include -DUSE_XSHM" \
+       "MKLIB_OPTIONS = -static" \
+       "APP_LIB_DEPS = -L/usr/lib/X11R6 -L/usr/contrib/X11R6/lib -lXext -lXmu -lXi -lX11 -lm"
+
+# IRIX 6 32-bit Targets
+#      Turn Warnings off for these errors (MIPSpro Compiler 7.30)
+#      1521:   A nonstandard preprocessing directive is used.
+#      1552:   The variable "" is set but never used.
+#      C++
+#      3262:   The variable "" was declared but never referenced.
+#      3666:   The variable "" is set but never used.
+#      Use -v if using pmake to compile files in subdirectories.
 irix6-o32:
-       pmake $(MFLAGS) -f Makefile.X11 targets \
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
+       "LIBDIR = $(TOP)/lib32" \
        "CC = cc" \
-       "CFLAGS = -32 -mips2 -O2 -ansi -DSHM -DNO_CONST" \
-       "MAKELIB = ../bin/mklib.ar-rcv" \
-       "XLIBS = -lX11 -lXext -lXmu -lXi"
+       "CXX = CC" \
+       "CFLAGS = -32 -mips2 -O2 -ansi -woff 1521,1552 -DUSE_XSHM" \
+       "CXXFLAGS = -32 -mips2 -O2 -ansi -woff 3262,3666" \
+       "MKLIB_OPTIONS = -archopt o32 -static" \
+       "APP_LIB_DEPS = -32 -glut -lGLU -lGL -lX11 -lXext -lXmu -lXi -lm"
 
 irix6-o32-dso:
-       pmake $(MFLAGS) -f Makefile.X11 targets \
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.so" \
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
+       "LIBDIR = $(TOP)/lib32" \
        "CC = cc" \
-       "CFLAGS = -32 -mips2 -O2 -ansi -DSHM -DNO_CONST" \
-       "MAKELIB = ../bin/mklib.irix6-32" \
-       "XLIBS = -rpath ../lib -lX11 -lXext -lXmu -lXi"
+       "CXX = CC" \
+       "CFLAGS = -32 -mips2 -O2 -ansi -woff 1521,1552 -DUSE_XSHM" \
+       "CXXFLAGS = -32 -mips2 -O2 -ansi -woff 3262,3666" \
+       "MKLIB_OPTIONS = -archopt o32" \
+       "APP_LIB_DEPS = -32 -rpath $(TOP)/lib32 -lglut -lGLU -lGL -lX11 -lXext -lXmu -lXi -lm"
 
-# For IRIX 6: -woff:
-#   1209 - controlling expression is constant
 irix6-n32:
-       pmake $(MFLAGS) -f Makefile.X11 targets \
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+       "GL_LIB = libGL.a" \
+       "GLU_LIB = libGLU.a" \
+       "GLUT_LIB = libglut.a" \
+       "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
+       "LIBDIR = $(TOP)/lib32" \
+       "CC = cc" \
+       "CXX = CC" \
+       "CFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1521,1552 -DUSE_XSHM -DPTHREAD" \
+       "CXXFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1552 -DPTHREAD" \
+       "MKLIB_OPTIONS = -static" \
+       "APP_LIB_DEPS = -n32 -lglut -lGLU -lGL -lX11 -lXext -lXmu -lXi -lm -lpthread"
+
+irix6-n32-nothreads:
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
-       "LIBDIR = ../lib32" \
+       "OSMESA_LIB = libOSMesa.a" \
+       "LIBDIR = $(TOP)/lib32" \
        "CC = cc" \
+       "CXX = CC" \
        "CFLAGS = -n32 -mips3 -O3 -ansi -woff 1209,1521" \
-       "MAKELIB = ../bin/mklib.ar-rcv" \
-       "XLIBS = -lX11 -lXext -lXmu -lXi"
+       "CXXFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1552" \
+       "MKLIB_OPTIONS = -static" \
+       "APP_LIB_DEPS = -n32 -lglut -lGLU -lGL -lX11 -lXext -lXmu -lXi -lm"
 
 irix6-n32-dso:
-       pmake $(MFLAGS) -f Makefile.X11 targets \
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.so" \
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
-       "GLW_LIB = libGLw.a" \
-       "LIBDIR = ../lib32" \
+       "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
+       "LIBDIR = $(TOP)/lib32" \
        "CC = cc" \
-       "CFLAGS = -n32 -mips3 -O3 -ansi -DSHM -woff 1185,1521" \
-       "MAKELIB = ../bin/mklib.irix6-n32" \
-       "XLIBS = -rpath ../lib32 -lX11 -lXmu -lXi -lfpe"
+       "CXX = CC" \
+       "CFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1521,1552 -DUSE_XSHM" \
+       "CXXFLAGS = -n32 -mips3 -O3 -ansi -woff 1174,1552" \
+       "APP_LIB_DEPS = -n32 -rpath $(TOP)/lib32 -lglut -lGLU -lGL -lX11 -lXmu -lXi -lfpe -lm"
 
 irix6-gcc-n32-sl:
        make $(MFLAGS) -f Makefile.X11 targets \
@@ -401,11 +562,14 @@ irix6-gcc-n32-sl:
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
-       "LIBDIR = ../lib32" \
+       "OSMESA_LIB = libOSMesa.so" \
+       "LIBDIR = $(TOP)/lib32" \
        "CC = gcc" \
-       "CFLAGS = -mabi=n32 -mips3 -O3 -DSHM" \
-       "MAKELIB = ../bin/mklib.irix6-n32" \
-       "XLIBS = -rpath ../lib32 -lX11 -lXmu -lXi"
+       "CXX = g++" \
+       "CFLAGS = -mabi=n32 -mips3 -O3 -DUSE_XSHM" \
+       "CXXFLAGS = -mabi=n32 -mips3 -O3" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "APP_LIB_DEPS = -rpath $(TOP)/lib32 -lX11 -lXmu -lXi -lm"
 
 # For IRIX 6-64: -woff:
 #   1068 - integer conversion resulted in a change of sign
@@ -416,193 +580,262 @@ irix6-gcc-n32-sl:
 #   1474 - declaring a void parameter list with a typedef is nonstandard
 #   1552 - variable was set but never used
 irix6-64:
-       pmake $(MFLAGS) -f Makefile.X11 targets \
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
-       "LIBDIR = ../lib64" \
+       "OSMESA_LIB = libOSMesa.a" \
+       "LIBDIR = $(TOP)/lib64" \
        "CC = cc" \
-       "CFLAGS = -64 -O3 -ansi -woff 1068,1069,1174,1185,1209,1474,1552 -DSHM" \
-       "MAKELIB = ../bin/mklib.ar-rcv" \
-       "XLIBS = -lX11 -lXext -lXmu -lXi"
+       "CXX = CC" \
+       "CFLAGS = -64 -O3 -ansi -woff 1068,1069,1174,1185,1209,1474,1552 -DUSE_XSHM -DPTHREAD" \
+       "CXXFLAGS = -64 -O3 -ansi -woff 1174 -DPTHREAD" \
+       "MKLIB_OPTIONS = -static" \
+       "APP_LIB_DEPS = -64 -lglut -lGLU -lGL -lX11 -lXext -lXmu -lXi -lm -lpthread"
 
-irix6-64-dso:
-       pmake $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.so" \
-       "GLU_LIB = libGLU.so" \
-       "GLUT_LIB = libglut.so" \
-       "GLW_LIB = libGLw.so" \
-       "LIBDIR = ../lib64" \
-       "CC = cc" \
-       "CFLAGS = -64 -O3 -ansi -woff 1068,1069,1174,1185,1209,1474,1552 -DSHM" \
-       "MAKELIB = ../bin/mklib.irix6-64" \
-       "XLIBS = -rpath ../lib64 -lX11 -lXmu -lXi"
-
-# May want to try these CFLAGS for better performance under Linux and GCC:
-# -fPIC -O2 -ansi -pedantic -mieee-fp -DSHM -funroll-loops
-# -fexpensive-optimizations -fomit-frame-pointer -ffast-math
-# and  -malign-loops=2 -malign-jumps=2 -malign-functions=2 for Pentium
-
-linux:
+irix6-64-nothreads:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
-       "CC = gcc" \
-       "CFLAGS = -O2 -funroll-loops -ansi -pedantic -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DSHM -I/usr/X11R6/include" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE"
+       "OSMESA_LIB = libOSMesa.a" \
+       "LIBDIR = $(TOP)/lib64" \
+       "CC = cc" \
+       "CXX = CC" \
+       "CFLAGS = -64 -O3 -ansi -woff 1068,1069,1174,1185,1209,1474,1552 -DUSE_XSHM" \
+       "CXXFLAGS = -64 -O3 -ansi -woff 1174" \
+       "MKLIB_OPTIONS = -archopt 64 -static" \
+       "APP_LIB_DEPS = -64 -lglut -lGLU -lGL -lX11 -lXext -lXmu -lXi -lm"
 
-# One Linux user reports having to use these XLIBS:
-#    -lMrm -lXmu -lXi -lXt -lXext -lXmu -lXi -lSM -lICE -lX11
+irix6-64-dso:
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+       "GL_LIB = libGL.so" \
+       "GLU_LIB = libGLU.so" \
+       "GLUT_LIB = libglut.so" \
+       "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
+       "LIBDIR = $(TOP)/lib64" \
+       "CC = cc" \
+       "CFLAGS = -64 -O3 -ansi -woff 1068,1069,1174,1185,1209,1474,1552 -DUSE_XSHM" \
+       "CXX = CC" \
+       "CXXFLAGS = -64 -O3 -ansi -woff 1174" \
+       "MKLIB_OPTIONS = -archopt 64" \
+       "APP_LIB_DEPS = -64 -rpath $(TOP)/lib64 -lglut -lGLU -lGL -lX11 -lXmu -lXi -lm"
 
-linux-elf:
+irix6-mgl-n32-dso:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.so" \
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
-       "CC = gcc" \
-       "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DSHM -I/usr/X11R6/include" \
-       "MAKELIB = ../bin/mklib.linux" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE"
+       "OSMESA_LIB = libOSMesa.so" \
+       "LIBDIR = $(TOP)/libMGL32" \
+       "CC = cc" \
+       "CXX = CC" \
+       "CFLAGS = -n32 -DUSE_MGL_NAMESPACE -mips3 -O3 -ansi -woff 1174,1521,1552 -DUSE_XSHM" \
+       "CXXFLAGS = -n32 -DUSE_MGL_NAMESPACE -mips3 -O3 -ansi -woff 1174,1552" \
+       "APP_LIB_DEPS = -n32 -rpath $(TOP)/libMGL32 -lglut -lGLU -lGL -lX11 -lXmu -lXi -lfpe -lm" 
 
-linux-glide:
+linux:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.so" \
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
        "CC = gcc" \
-       "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DSHM -DFX -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include" \
-       "MAKELIB = ../bin/mklib.linux" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -L/usr/local/glide/lib -lglide2x -lm"
-
-# Linux on Intel X86: assembly language optimizations
-linux-386:
+       "CXX = g++" \
+       "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include" \
+       "CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "GLW_LIB_DEPS = -L$(TOP)/lib -lGL -L/usr/X11R6/lib -lXt -lX11" \
+       "APP_LIB_DEPS = -lglut -lGLU -lGL -lm"
+
+linux-static:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
-       "CFLAGS = -O2 -funroll-loops -ansi -pedantic -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DSHM -DUSE_X86_ASM -I/usr/X11R6/include" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lm" \
-       "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S X86/vertex.S"
-
-linux-386-elf:
+       "CXX = g++" \
+       "CFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include" \
+       "CXXFLAGS = -O3 -ansi -pedantic -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = " \
+       "GLU_LIB_DEPS = " \
+       "GLUT_LIB_DEPS = " \
+       "GLW_LIB_DEPS = " \
+       "APP_LIB_DEPS = -lglut -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXext -lXi -lXmu -lpthread -lm -lstdc++" \
+       "MKLIB_OPTIONS = -static"
+
+linux-x86:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.so" \
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
        "CC = gcc" \
-       "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DSHM -DUSE_X86_ASM -I/usr/X11R6/include" \
-       "MAKELIB = ../bin/mklib.linux" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lm" \
-       "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S X86/vertex.S"
-
-linux-386-glide:
+       "CXX = g++" \
+       "CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include" \
+       "CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "GLW_LIB_DEPS = -L$(TOP)/lib -lGL -L/usr/X11R6/lib -lXt -lX11" \
+       "APP_LIB_DEPS = -lglut -lGLU -lGL -lm" \
+       "ASM_SOURCES = $(X86_SOURCES)"
+
+linux-x86-static:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.so" \
-       "GLU_LIB = libGLU.so" \
-       "GLUT_LIB = libglut.so" \
-       "GLW_LIB = libGLw.so" \
+       "GL_LIB = libGL.a" \
+       "GLU_LIB = libGLU.a" \
+       "GLUT_LIB = libglut.a" \
+       "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
-       "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_X86_ASM -DSHM -DFX -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include" \
-       "MAKELIB = ../bin/mklib.linux" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -L/usr/local/glide/lib -lglide2x -lm" \
-       "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S X86/vertex.S"
-
-linux-386-glide-mits:
+       "CXX = g++" \
+       "CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include" \
+       "CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE" \
+       "MKLIB_OPTIONS = -static" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "GLW_LIB_DEPS = -L$(TOP)/lib -lGL -L/usr/X11R6/lib -lXt -lX11" \
+       "APP_LIB_DEPS = -lglut -lGLU -lGL -lm" \
+       "ASM_SOURCES = $(X86_SOURCES)"
+
+linux-x86-static-nothreads:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.so" \
-       "GLU_LIB = libGLU.so" \
-       "GLUT_LIB = libglut.so" \
-       "GLW_LIB = libGLw.so" \
+       "GL_LIB = libGL.a" \
+       "GLU_LIB = libGLU.a" \
+       "GLUT_LIB = libglut.a" \
+       "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
-       "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DSHM -DFX -D_REENTRANT -DMITS -DUSE_X86_ASM -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include" \
-       "MAKELIB = ../bin/mklib.linux" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
-       "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S X86/vertex.S"
-
-linux-386-opt-V2-glide:
+       "CXX = g++" \
+       "CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -I/usr/X11R6/include" \
+       "CXXFLAGS = -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE" \
+       "MKLIB_OPTIONS = -static" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm " \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "GLW_LIB_DEPS = -L$(TOP)/lib -lGL -L/usr/X11R6/lib -lXt -lX11" \
+       "APP_LIB_DEPS = -lglut -lGLU -lGL -lm" \
+       "ASM_SOURCES = $(X86_SOURCES)"
+
+linux-x86-64-static:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.so" \
-       "GLU_LIB = libGLU.so" \
-       "GLUT_LIB = libglut.so" \
-       "GLW_LIB = libGLw.so" \
+       "GL_LIB = libGL.a" \
+       "GLU_LIB = libGLU.a" \
+       "GLUT_LIB = libglut.a" \
+       "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
-       "CFLAGS = -O3 -m486 -fomit-frame-pointer -pipe -ansi -pedantic -ffast-math -fexpensive-optimizations -malign-loops=2 -malign-jumps=2 -malign-functions=2 -D_SVID_SOURCE -D_BSD_SOURCE -DSHM -DFX -DFX_V2 -DUSE_X86_ASM -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include"\
-       "MAKELIB = ../bin/mklib.linux" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -L/usr/local/glide/lib -lglide2x -lm -lpthread" \
-       "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S X86/vertex.S"
+       "CPLUSPLUS = g++" \
+       "CFLAGS = -m64 -Wall -O3 -ansi -pedantic -fPIC -ffast-math -funroll-loops -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include" \
+       "MKLIB_OPTIONS = -static" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lm -lpthread" \
+       "GLU_LIB_DEPS = -L../lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "APP_LIB_DEPS = -lm"
 
-linux-386-opt-glide:
+linux-x86-64-static-nothreads:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.so" \
-       "GLU_LIB = libGLU.so" \
-       "GLUT_LIB = libglut.so" \
-       "GLW_LIB = libGLw.so" \
+       "GL_LIB = libGL.a" \
+       "GLU_LIB = libGLU.a" \
+       "GLUT_LIB = libglut.a" \
+       "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
-       "CFLAGS = -O3 -m486 -fomit-frame-pointer -pipe -ansi -pedantic -ffast-math -fexpensive-optimizations -malign-loops=2 -malign-jumps=2 -malign-functions=2 -D_SVID_SOURCE -D_BSD_SOURCE -DSHM -DFX -DUSE_X86_ASM -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include" \
-       "MAKELIB = ../bin/mklib.linux" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -L/usr/local/glide/lib -lglide2x -lm" \
-       "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S X86/vertex.S"
+       "CPLUSPLUS = g++" \
+       "CFLAGS = -m64 -Wall -O3 -ansi -pedantic -fPIC -ffast-math -funroll-loops -fomit-frame-pointer -falign-loops=2 -falign-jumps=2 -falign-functions=2 -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -I/usr/X11R6/include" \
+       "MKLIB_OPTIONS = -static" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lm" \
+       "GLU_LIB_DEPS = -L../lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "APP_LIB_DEPS = -lm"
 
-linux-3dnow:
+linux-x86-sse:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.so" \
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
-       "CC = gcc -malign-loops=2 -malign-jumps=2 -malign-functions=2" \
-       "CFLAGS = -Wall -O3 -ansi -pedantic -fPIC -ffast-math -funroll-loops -fomit-frame-pointer -D_SVID_SOURCE -D_BSD_SOURCE -DSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -I/usr/X11R6/include" \
-       "MAKELIB = ../bin/mklib.linux" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE" \
-       "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S \
-       X86/mmx_blend.S \
-       X86/3dnow_xform_raw1.S X86/3dnow_xform_raw2.S \
-       X86/3dnow_xform_raw3.S X86/3dnow_xform_raw4.S \
-       X86/3dnow_xform_masked1.S X86/3dnow_xform_masked2.S \
-       X86/3dnow_xform_masked3.S X86/3dnow_xform_masked4.S \
-       X86/3dnow_norm_raw.S X86/vertex.S X86/vertex_3dnow.S" 
-
-linux-3dnow-glide:
+       "OSMESA_LIB = libOSMesa.so" \
+       "CC = gcc" \
+       "CXX = g++" \
+       "CFLAGS = -mcpu=pentium4 -mfpmath=sse -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include" \
+       "CXXFLAGS = -mcpu=pentium4 -mfpmath=sse -Wall -O3 -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "APP_LIB_DEPS = -lglut -lGLU -lGL -lm" \
+       "ASM_SOURCES = $(X86_SOURCES)"
+
+linux-icc:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.so" \
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
-       "CC = gcc -malign-loops=2 -malign-jumps=2 -malign-functions=2" \
-       "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -funroll-loops -fomit-frame-pointer -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DSHM -DFX -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include -I/usr/src/mesa-glx/src/FX/X86" \
-       "MAKELIB = ../bin/mklib.linux" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -L/usr/local/glide/lib -lglide2x -lm" \
-       "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S \
-       X86/mmx_blend.S \
-       X86/3dnow_xform_raw1.S X86/3dnow_xform_raw2.S \
-       X86/3dnow_xform_raw3.S X86/3dnow_xform_raw4.S \
-       X86/3dnow_xform_masked1.S X86/3dnow_xform_masked2.S \
-       X86/3dnow_xform_masked3.S X86/3dnow_xform_masked4.S \
-       X86/3dnow_norm_raw.S X86/vertex.S X86/vertex_3dnow.S \
-       FX/X86/fx_3dnow_fastpath.S"
-
-
-# Contributed by C. Alex. North-Keys (erlkonig@talisman.org)
-linux-386-pthread-shared-glide:
-       $(MAKE) $(MFLAGS) targets \
-       "GL_LIB = libGL.so" \
-       "GLU_LIB = libGLU.so" \
-       "GLUT_LIB = libglut.so" \
-       "CC = gcc" \
-       "CFLAGS = -O3 -fPIC -funroll-loops -ansi -pedantic -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DSHM -DUSE_X86_ASM -D_REENTRANT -DTHREADS -DPTHREADS -DFX -I/usr/include/glide -I/usr/local/glide/include" \
-       "MAKELIB = ../mklib.glide" \
-       "XLIBS = -L/usr/X11/lib -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lpthread" \
-       "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S \
-       X86/mmx_blend.S X86/vertex.S"
+       "OSMESA_LIB = libOSMesa.so" \
+       "CC = icc" \
+       "CXX = g++" \
+       "CFLAGS = -O3 -tpp6 -axK -KPIC -D_GCC_LIMITS_H_ -D__GNUC__ -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "APP_LIB_DEPS = -lglut -lGLU -lGL -lm" \
+       "ASM_SOURCES = $(X86_SOURCES)" \
+       "MKLIB_OPTIONS = -arch icc"
+
+linux-icc-static:
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+       "GL_LIB = libGL.a" \
+       "GLU_LIB = libGLU.a" \
+       "GLUT_LIB = libglut.a" \
+       "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
+       "CC = icc" \
+       "CXX = icpc" \
+       "CFLAGS = -O3 -tpp6 -KPIC -D_GCC_LIMITS_H_ -D__GNUC__ -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include" \
+       "MKLIB_OPTIONS = -static" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "APP_LIB_DEPS = -lglut -lGLU -lGL -lm" \
+       "ASM_SOURCES = $(X86_SOURCES)" \
+       "MKLIB_OPTIONS = -static -arch icc"
+
+linux-icc-static-nothreads:
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+       "GL_LIB = libGL.a" \
+       "GLU_LIB = libGLU.a" \
+       "GLUT_LIB = libglut.a" \
+       "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
+       "CC = icc" \
+       "CXX = icpc" \
+       "CFLAGS = -O3 -tpp6 -KPIC -D_GCC_LIMITS_H_ -D__GNUC__ -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -I/usr/X11R6/include" \
+       "MKLIB_OPTIONS = -static" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "APP_LIB_DEPS = -lglut -lGLU -lGL -lm" \
+       "ASM_SOURCES = $(X86_SOURCES)" \
+       "MKLIB_OPTIONS = -static -arch icc"
 
 # Contributed by Uwe_Maurer@t-online.de
 linux-ggi:
@@ -611,121 +844,221 @@ linux-ggi:
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc"  \
-       "CFLAGS = -O3 -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DSHM -DGGI -DCDECL=" \
-       "MAKELIB = ../bin/mklib.ggi" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lggi"
+       "CXX = g++" \
+       "CFLAGS = -O3 -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DGGI -DCDECL=" \
+       "CXXFLAGS = -O3 -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DCDECL=" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lggi -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "APP_LIB_DEPS = -lm"
 
 # Contributed by Emmanuel marty core@ggi-project.org
-linux-386-ggi:
+linux-x86-ggi:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.so" \
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
+       "CC = gcc"  \
+       "CXX = g++" \
+       "CFLAGS = -O3 -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DUSE_X86_ASM -DGGI -DCDECL=" \
+       "CXXFLAGS = -O3 -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DCDECL=" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lggi -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "APP_LIB_DEPS = -lm" \
+       "ASM_SOURCES = $(X86_SOURCES)"
+
+linux-glfbdev:
+       $(MAKE) $(MFLAGS) -f Makefile.glfbdev targets \
+       "GL_LIB = libGL.so" \
+       "GLU_LIB = libGLU.so" \
+       "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc"  \
-       "CFLAGS = -O3 -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DSHM -DUSE_X86_ASM -DGGI -DCDECL=" \
-       "MAKELIB = ../bin/mklib.ggi" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lggi" \
-       "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S X86/vertex.S"
+       "CXX = g++" \
+       "CFLAGS = -O3 -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_GLFBDEV_DRIVER" \
+       "CXXFLAGS = -O3 -fPIC" \
+       "GL_LIB_DEPS = -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "APP_LIB_DEPS = -lm"
 
-# Linux on Alpha (based on email from John Ferguson ferguson@viz.tamu.edu)
-linux-alpha:
+linux-glide:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
+       "GL_LIB = libGL.so" \
+       "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
-       "GLW_LIB = libGLw.a" \
+       "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
        "CC = gcc" \
-       "CFLAGS = -O2 -mieee -pedantic -L/usr/X11R6/lib -D_XOPEN_SOURCE -DSHM" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/X11R6/lib -lX11"
+       "CXX = g++" \
+       "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DFX -DPTHREADS -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include" \
+       "CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread -L/usr/local/glide/lib -lglide3x" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "APP_LIB_DEPS = -L/usr/local/glide/lib -lglide3x -lglut -lGLU -lGL"
 
-linux-alpha-elf:
+linux-x86-glide:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.so" \
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
        "CC = gcc" \
-       "CFLAGS = -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE -DSHM" \
-       "MAKELIB = ../bin/mklib.linux" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXi"
-
-# Not tested, but should be okay on any RedHat-based linux for PowerPC machines
-# If your linux supports shared libraries, you might want to build with the 
-# the "linux-ppc-shared" entry instead
-# You might want to change the mcpu flag appropriately for your 
-# processor (601, 603, 604, etc.), it but doesn't make much difference
-linux-ppc:
+       "CXX = g++" \
+       "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -funroll-loops -fomit-frame-pointer -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DUSE_XSHM -DFX -DPTHREADS -I/usr/X11R6/include -I/usr/include/glide -I/usr/local/glide/include -I/usr/src/mesa-glx/src/FX/X86" \
+       "CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -funroll-loops -fomit-frame-pointer -D_SVID_SOURCE -D_BSD_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -L/usr/local/glide/lib -lglide3x -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "GLW_LIB_DEPS = -L$(TOP)/lib -lGL -L/usr/X11R6/lib -lXt -lX11" \
+       "APP_LIB_DEPS = -lglut -lGLU -lGL -lm" \
+       "ASM_SOURCES = $(X86_SOURCES)"
+
+linux-ia64-ecc-static:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
-       "CC = gcc" \
-       "CFLAGS = -O3 -mcpu=603 -ansi -pedantic -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DSHM" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE"
+       "OSMESA_LIB = libOSMesa.a" \
+       "CC = ecc" \
+       "CPLUSPLUS = ecpc" \
+       "CFLAGS = -O3 -ansi -KPIC -D_GCC_LIMITS_H_ -D__GNUC__ -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include" \
+       "CXXFLAGS = -O3 -ansi -KPIC -D_GCC_LIMITS_H_ -D__GNUC__ -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include" \
+       "MKLIB_OPTIONS = -static" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lm -lpthread" \
+       "GLU_LIB_DEPS = -L../lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "APP_LIB_DEPS = -lm" \
+       "ASM_SOURCES ="
+
+linux-ia64-ecc-static-nothreads:
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+       "GL_LIB = libGL.a" \
+       "GLU_LIB = libGLU.a" \
+       "GLUT_LIB = libglut.a" \
+       "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
+       "CC = ecc" \
+       "CPLUSPLUS = ecpc" \
+       "CFLAGS = -O3 -ansi -KPIC -D_GCC_LIMITS_H_ -D__GNUC__ -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -I/usr/X11R6/include" \
+       "CXXFLAGS = -O3 -ansi -KPIC -D_GCC_LIMITS_H_ -D__GNUC__ -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -I/usr/X11R6/include" \
+       "MKLIB_OPTIONS = -static" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lm -lpthread" \
+       "GLU_LIB_DEPS = -L../lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L../lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "APP_LIB_DEPS = -lm" \
+       "ASM_SOURCES ="
 
-# -O5 and -fexpensive-optimizations causes a compiler crash for Linux PPC R4
-linux-ppc-so:
-       $(MAKE) targets \
+linux-alpha:
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.so" \
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
        "CC = gcc" \
-       "CFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DSHM" \
-       "MAKELIB = ../bin/mklib.linux" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE"
-
-# Contributed by John Stone
-linux-386-pthread:
+       "CXX = g++" \
+       "CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE -DUSE_XSHM" \
+       "CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -fPIC -D_XOPEN_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "GLW_LIB_DEPS = -L$(TOP)/lib -lGL -L/usr/X11R6/lib -lXt -lX11" \
+       "APP_LIB_DEPS = -lglut -lGLU -lGL -lm"
+
+linux-alpha-static:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
+       "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
-       "CFLAGS = -O2 -funroll-loops -ansi -pedantic -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R\6/include -DSHM -DUSE_X86_ASM -D_REENTRANT -DTHREADS -DPTHREADS" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lpthread" \
-       "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S X86/vertex.S"
+       "CXX = g++" \
+       "CFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -L/usr/X11R6/lib -D_XOPEN_SOURCE -DUSE_XSHM" \
+       "CXXFLAGS = -O3 -mcpu=ev5 -ansi -mieee -pedantic -D_XOPEN_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "APP_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lm"
 
-# Contributed by John Gotts
-linux-386-pthread-shared:
+linux-ppc:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.so" \
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
+       "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
        "CC = gcc" \
-       "CFLAGS = -O3 -fPIC -funroll-loops -ansi -pedantic -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/us\r/X11R6/include -DSHM -DUSE_X86_ASM -D_REENTRANT -DTHREADS -DPTHREADS" \
-       "MAKELIB = ../bin/mklib.linux" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lpthread" \
-       "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S X86/vertex.S"
-
-linux-sparc:
+       "CXX = g++" \
+       "CFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM" \
+       "CXXFLAGS = -O3 -mcpu=603 -ansi -pedantic -fPIC -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "GLW_LIB_DEPS = -L$(TOP)/lib -lGL -L/usr/X11R6/lib -lXt -lX11" \
+       "APP_LIB_DEPS = -lglut -lGLU -lGL -lm"
+
+linux-ppc-static:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
-       "CFLAGS = -pedantic -funroll-loops -O3 -DSHM" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXt -lSM -lICE -lXmu -lXi"
+       "CXX = g++" \
+       "CFLAGS = -O3 -mcpu=603 -ansi -pedantic -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM" \
+       "CXXFLAGS = -O3 -mcpu=603 -ansi -pedantic -fsigned-char -ffast-math -funroll-loops -D_SVID_SOURCE -D_BSD_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "APP_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lm"
 
-# Replace -mv8 with -mcypress, -msupersparc or -msparclite as appropriate.
-linux-sparc5-elf:
+linux-sparc:
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+       "GL_LIB = libGL.so" \
+       "GLU_LIB = libGLU.so" \
+       "GLUT_LIB = libglut.so" \
+       "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
+       "CC = gcc" \
+       "CXX = g++" \
+       "CFLAGS = -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM" \
+       "CXXFLAGS = -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "GLW_LIB_DEPS = -L$(TOP)/lib -lGL -L/usr/X11R6/lib -lXt -lX11" \
+       "APP_LIB_DEPS = -lglut -lGLU -lGL -lm"
+
+linux-sparc5:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.so" \
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
        "CC = gcc" \
-       "CFLAGS = -mv8 -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DSHM" \
-       "MAKELIB = ../bin/mklib.linux" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE"
+       "CXX = g++" \
+       "CFLAGS = -mv8 -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM" \
+       "CXXFLAGS = -mv8 -O2 -ffast-math -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "GLW_LIB_DEPS = -L$(TOP)/lib -lGL -L/usr/X11R6/lib -lXt -lX11" \
+       "APP_LIB_DEPS = -lglut -lGLU -lGL -lm"
 
 # 32-bit Sparc ELF userland, on UltraSparc
 linux-sparc-ultra:
@@ -734,48 +1067,87 @@ linux-sparc-ultra:
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
+       "CC = gcc" \
+       "CXX = g++" \
+       "CFLAGS = -mv8 -O2 -mtune=ultrasparc -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM" \
+       "CXXFLAGS = -mv8 -O2 -mtune=ultrasparc -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "GLW_LIB_DEPS = -L$(TOP)/lib -lGL -L/usr/X11R6/lib -lXt -lX11" \
+       "APP_LIB_DEPS = -lglut -lGLU -lGL -lm"
+
+# 16-bit/channel Mesa using OSMesa driver
+linux-osmesa16:
+       $(MAKE) $(MFLAGS) -f Makefile.OSMesa16 targets \
+       "OSMESA_LIB = libOSMesa16.so" \
        "CC = gcc" \
-       "CFLAGS = -mv8 -O2 -mtune=ultrasparc -ansi -pedantic -fPIC -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DSHM" \
-       "MAKELIB = ../bin/mklib.linux" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE"
+       "CXX = g++" \
+       "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \
+       "CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -lm -lpthread" \
+       "APP_LIB_DEPS = -lOSMesa16 -lGL"
+
+linux-osmesa16-static:
+       $(MAKE) $(MFLAGS) -f Makefile.OSMesa16 targets \
+       "OSMESA_LIB = libOSMesa16.a" \
+       "CC = gcc" \
+       "CXX = g++" \
+       "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include -DCHAN_BITS=16 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \
+       "CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -lm -lpthread" \
+       "APP_LIB_DEPS = -lOSMesa16 -lGL" \
+       "MKLIB_OPTIONS = -static"
+
+# 32-bit/channel Mesa using OSMesa driver
+linux-osmesa32:
+       $(MAKE) $(MFLAGS) -f Makefile.OSMesa16 targets \
+       "OSMESA_LIB = libOSMesa32.so" \
+       "OSMESA_LIB_NAME = OSMesa32" \
+       "CC = gcc" \
+       "CXX = g++" \
+       "CFLAGS = -O3 -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DCHAN_BITS=32 -DDEFAULT_SOFTWARE_DEPTH_BITS=31" \
+       "CXXFLAGS = -O3 -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -lm -lpthread" \
+       "APP_LIB_DEPS = -lOSMesa32 -lGL"
+
+# standalone Mesa -- embedded
+# change -g to -O3 for non-debug
+linux-solo:
+       $(MAKE) $(MFLAGS) -f Makefile.solo targets \
+       "GLU_LIB = libGLU.so" \
+       "GLUT_LIB = libglut.so" \
+       "CC = gcc" \
+       "CXX = g++" \
+       "CFLAGS = -g -std=c99 -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE" \
+       "CXXFLAGS = -g -Wall -ansi -pedantic -fPIC -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -lm -lpthread -lexpat" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -lm" \
+       "APP_LIB_DEPS = -L$(TOP)/lib -lglut -lGLU -lGL -lm -lpthread" 
 
 # May want to add these CFLAGS for better performance under LynxOS and GCC:
-# -fPIC -O2 -ansi -pedantic -mieee-fp -DSHM -funroll-loops
+# -fPIC -O2 -ansi -pedantic -mieee-fp -DUSE_XSHM -funroll-loops
 # -fexpensive-optimizations -fomit-frame-pointer -ffast-math
-# and  -malign-loops=2 -malign-jumps=2 -malign-functions=2 for Pentium
-
 lynxos:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
-       "CFLAGS = -O2 -ansi -pedantic -funroll-loops -ffast-math -DSHM" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/X11/lib -lXext -lXi -lXmu -lX11 -lbsd"
-
-machten-2.2:
-       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "GLUT_LIB = libglut.a" \
-       "GLW_LIB = libGLw.a" \
-       "CC = gcc" \
-       "CFLAGS = -DTENON -D__MACHTEN__ -fstrength-reduce -m68881 -O2" \
-       "MAKELIB = ../bin/mklib.ar-rcv" \
-       "XLIBS = -L/usr/lib/X11 -lX11"
-
-machten-4.0:
-       $(MAKE) targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "GLUT_LIB = libglut.a" \
-       "GLW_LIB = libGLw.a" \
-       "CC = gcc" \
-       "CFLAGS = -DTENON -D__MACHTEN__ -fstrength-reduce -O2" \
-       "MAKELIB = ../bin/mklib.ar-rcv" \
-       "XLIBS = -L/usr/X11R5/lib -lX11"
+       "CXX = g++" \
+       "CFLAGS = -O2 -ansi -pedantic -funroll-loops -ffast-math -DUSE_XSHM" \
+       "CXXFLAGS = -O2 -ansi -pedantic -funroll-loops -ffast-math" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "APP_LIB_DEPS = -L/usr/X11/lib -lXext -lXi -lXmu -lX11 -lbsd -lm"
 
 mklinux:
        $(MAKE) targets \
@@ -783,10 +1155,13 @@ mklinux:
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
+       "CXX = g++" \
        "CFLAGS = -pedantic -O2" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -lmoto -L/usr/X11/lib -lXmu -lX11"
+       "CXXFLAGS = -pedantic -O2" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "APP_LIB_DEPS = -lmoto -L/usr/X11/lib -lXmu -lX11 -lm"
 
 netbsd:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -794,19 +1169,13 @@ netbsd:
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
        "CC = gcc" \
-       "CFLAGS = -O2 -fPIC -DSHM -I/usr/X11R6/include -DHZ=100"  \
-       "MAKELIB = ../bin/mklib.netbsd" \
-       "XLIBS = -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11"
-
-next:  
-       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "DRIVER_SOURCES = OSmesa/osmesa.c" \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "CC = ${MYCC}" \
-       "CFLAGS = -traditional-cpp -DOPENSTEP -O4" \
-       "MAKELIB = ../bin/mklib.ar-ruv"
+       "CXX = g++" \
+       "CFLAGS = -O2 -fPIC -DUSE_XSHM -I/usr/X11R6/include -DHZ=100"  \
+       "CXXFLAGS = -O2 -fPIC"  \
+       "GLUT_CFLAGS = -fexceptions" \
+       "APP_LIB_DEPS = -L/usr/X11R6/lib -lXext -lXmu -lXi -lX11 -lm"
 
 openbsd:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -814,40 +1183,37 @@ openbsd:
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
-       "CC = cc" \
-       "CFLAGS = -O2 -fPIC -I/usr/X11R6/include -DSHM -DHZ=100" \
-       "MAKELIB = ../bin/mklib.openbsd" \
-       "XLIBS = -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXi"
+       "OSMESA_LIB = libOSMesa.so" \
+       "CC = gcc" \
+       "CXX = g++" \
+       "CFLAGS = -O2 -fPIC -I/usr/X11R6/include -DUSE_XSHM -DHZ=100" \
+       "CXXFLAGS = -O2 -fPIC -I/usr/X11R6/include -DUSE_XSHM -DHZ=100" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm" \
+       "OSMESA_LIB_DEPS = -lm" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lm" \
+       "APP_LIB_DEPS = -L/usr/X11R6/lib -lglut -lGLU -lGL -lm"
 
 openstep:      
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "DRIVER_SOURCES = OSmesa/osmesa.c" \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = ${MYCC}" \
-       "CFLAGS = -traditional-cpp -DOPENSTEP -O4" \
-       "MAKELIB = ../bin/mklib.openstep"
+       "CFLAGS = -traditional-cpp -DOPENSTEP -O4"
 
 openstep-win32:        
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "DRIVER_SOURCES = OSmesa/osmesa.c" \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
+       "CXX = g++" \
        "CFLAGS = -DOPENSTEP -O4" \
-       "MAKELIB = ../bin/mklib.openstep"
-
-os2-x11:
-       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB   = MesaGL.a" \
-       "GLU_LIB  = MesaGLU.a" \
-       "GLUT_LIB = glut.a" \
-       "GLW_LIB = GLw.a" \
-       "CC = gcc" \
-       "CFLAGS = -Zmt -O3 -m486 -funroll-loops -Wall -Wno-unused -ansi -pedantic -ffast-math -DUSE_X86_ASM -D_SVID_SOURCE -D_BSD_SOURCE -I$(X11ROOT)/XFree86/include" \
-       "MAKELIB = ..\\bin\\mklib-emx.cmd " \
-       "XLIBS = -Zmt -Zcrtdll -Zexe -L$(X11ROOT)/XFree86/lib -lXt -lX11" \
-       "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S X86/vertex.S"
+       "CXXFLAGS = -DOPENSTEP -O4" \
+       "GLUT_CFLAGS = -fexceptions"
 
 osf1:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -855,43 +1221,33 @@ osf1:
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = cc" \
-       "CFLAGS = -O2 -std1 -ieee_with_no_inexact -DSHM -DNO_CONST" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -lX11 -lXext -lXmu -lXi"
+       "CXX = cxx" \
+       "CFLAGS = -O0 -std1 -ieee_with_no_inexact -DPTHREADS -D_REENTRANT -DUSE_XSHM" \
+       "CXXFLAGS = -O0 -std1 -ieee_with_no_inexact -DPTHREADS -D_REENTRANT -DUSE_XSHM" \
+       "MKLIB_OPTIONS = -static" \
+       "GL_LIB_DEPS = -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm" \
+       "APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm"
 
-osf1-sl:
-       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.so" \
-       "GLU_LIB = libGLU.so" \
-       "GLUT_LIB = libglut.so" \
-       "GLW_LIB = libGLw.so" \
-       "CC = cc" \
-       "CFLAGS = -O2 -std1 -ieee_with_no_inexact -DSHM -DNO_CONST" \
-       "MAKELIB = ../bin/mklib.osf1" \
-       "XLIBS = -lX11 -lXext -lXmu -lXi"
-
-pgi-cygnus:
+osf1-nothreads:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
-       "CC = pgcc" \
-       "CFLAGS = -fast -cyglibs -Munix -I. -DWIN32 -D__WIN32__ -D_WINDOWS " \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -lX11"
-
-pgi-mingw32:
-       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "GLUT_LIB = libglut.a" \
-       "GLW_LIB = libGLw.a" \
-       "CC = pgcc" \
-       "CFLAGS = -fast -msvcrt -Munix -I. -DWIN32 -D__WIN32__ -D_WINDOWS " \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -lX11"
+       "OSMESA_LIB = libOSMesa.a" \
+       "CC = cc" \
+       "CXX = cxx" \
+       "CFLAGS = -O0 -std1 -ieee_with_no_inexact -DUSE_XSHM" \
+       "CXXFLAGS = -O0 -std1 -ieee_with_no_inexact -DUSE_XSHM" \
+       "MKLIB_OPTIONS = -static" \
+       "GL_LIB_DEPS = -lX11 -lXext -lm" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm" \
+       "APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm"
 
 # QNX V4 & Watcom Compiler
 qnx:
@@ -900,32 +1256,10 @@ qnx:
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = cc" \
        "CFLAGS = -O" \
-       "MAKELIB = ../bin/mklib.qnx" \
-       "XLIBS = -L/usr/X11/lib -lX11"
-
-sco:
-       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "GLUT_LIB = libglut.a" \
-       "GLW_LIB = libGLw.a" \
-       "CC = gcc" \
-       "CFLAGS = -pedantic -O2 -mieee-fp" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/X11/lib -lX11"
-
-sco5:
-       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "GLUT_LIB = libglut.a" \
-       "GLW_LIB = libGLw.a" \
-       "CC = gcc" \
-       "CFLAGS = -pedantic -O2 -mieee-fp" \
-       "MAKELIB = ../mklib.ar-ruv" \
-       "XLIBS = -lXm -lXt -lX11 -lXmu -lXext -lsocket -lx"
+       "APP_LIB_DEPS = -L/usr/X11/lib -lX11 -lm"
 
 solaris-x86:
        $(MAKE) -f Makefile.X11 targets \
@@ -933,10 +1267,10 @@ solaris-x86:
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = cc" \
-       "CFLAGS = -Xa -xO3 -xpentium -KPIC -I/usr/openwin/include -DSHM" \
-       "MAKELIB = ../bin/mklib.solaris" \
-       "XLIBS = -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+       "CFLAGS = -Xa -xO3 -xpentium -KPIC -I/usr/openwin/include -DUSE_XSHM" \
+       "APP_LIB_DEPS = -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm"
 
 solaris-x86-gcc:
        $(MAKE) -f Makefile.X11 targets \
@@ -944,10 +1278,16 @@ solaris-x86-gcc:
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
-       "CFLAGS = -O3 -m486 -fPIC -I/usr/openwin/include -DSHM" \
-       "MAKELIB = ../bin/mklib.solaris" \
-       "XLIBS = -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+       "CXX = g++" \
+       "CFLAGS = -O3 -m486 -fPIC -I/usr/openwin/include -DUSE_XSHM" \
+       "CXXFLAGS = -O3 -m486 -fPIC" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/openwin/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "APP_LIB_DEPS = -L/usr/openwin/lib -R/usr/openwin/lib -lglut -lGLU -lGL -lm"
 
 sunos4:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -955,10 +1295,10 @@ sunos4:
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = acc" \
-       "CFLAGS = -O -DSHM -DSUNOS4" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -lX11 -lXext -lXmu -lXi"
+       "CFLAGS = -O -DUSE_XSHM -DSUNOS4" \
+       "APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lm"
 
 sunos4-sl:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -966,10 +1306,10 @@ sunos4-sl:
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
        "CC = acc" \
-       "CFLAGS = -Kpic -O -I/usr/include/X11R5 -DSHM -DSUNOS4" \
-       "MAKELIB = ld -assert pure-text -o" \
-       "XLIBS = -L/usr/lib/X11R5 -lX11 -lXext -lXmu -lXi"
+       "CFLAGS = -Kpic -O -I/usr/include/X11R5 -DUSE_XSHM -DSUNOS4" \
+       "APP_LIB_DEPS = -L/usr/lib/X11R5 -lX11 -lXext -lXmu -lXi -lm"
 
 sunos4-gcc:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -977,10 +1317,13 @@ sunos4-gcc:
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
-       "CFLAGS = -O3 -DSHM -DSUNOS4 -I/usr/openwin/include" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+       "CXX = g++" \
+       "CFLAGS = -O3 -DUSE_XSHM -DSUNOS4 -I/usr/openwin/include" \
+       "CXXFLAGS = -O3 -DSUNOS4 -I/usr/openwin/include" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "APP_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm"
 
 sunos4-gcc-sl:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -988,10 +1331,13 @@ sunos4-gcc-sl:
        "GLU_LIB = libGLU.so.$(VERSION)" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
        "CC = gcc" \
-       "CFLAGS = -fPIC -O3 -I/usr/openwin/include -I/usr/include/X11R5 -I/usr/include/X11R5 -DSHM -DSUNOS4 -DSOLARIS_2_4_BUG" \
-       "MAKELIB = ../bin/mklib.sunos4" \
-       "XLIBS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+       "CXX = g++" \
+       "CFLAGS = -fPIC -O3 -I/usr/openwin/include -I/usr/include/X11R5 -I/usr/include/X11R5 -DUSE_XSHM -DSUNOS4" \
+       "CXXFLAGS = -fPIC -O3 -I/usr/openwin/include -DSUNOS4" \
+       "GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG" \
+       "APP_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm"
 
 sunos4-gcc-x11r6-sl:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -999,155 +1345,143 @@ sunos4-gcc-x11r6-sl:
        "GLU_LIB = libGLU.so.$(VERSION)" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
        "CC = gcc" \
-       "CFLAGS = -fPIC -O3 -I/usr/X11R6.3/include -DSHM -DSUNOS4 -DSOLARIS_2_4_BUG" \
-       "MAKELIB = ../bin/mklib.sunos4" \
-       "XLIBS = -L/usr/X11R6.3/lib/X11 -lX11 -lXext -lXmu -lXi"
+       "CXX = g++" \
+       "CFLAGS = -fPIC -O3 -I/usr/X11R6.3/include -DUSE_XSHM -DSUNOS4" \
+       "CXXFLAGS = -fPIC -O3 -I/usr/X11R6.3/include -DSUNOS4" \
+       "GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG" \
+       "APP_LIB_DEPS = -L/usr/X11R6.3/lib/X11 -lX11 -lXext -lXmu -lXi -lm"
 
 sunos5:
-       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "GLUT_LIB = libglut.a" \
-       "GLW_LIB = libGLw.a" \
-       "CC = cc" \
-       "CFLAGS = -Xa -fast -xO4 -native -I/usr/openwin/include -I/usr/dt/include -DSHM -DSOLARIS_2_4_BUG" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
-
-sunos5-sl:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.so" \
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
+       "CC = cc" \
+       "CXX = c++" \
+       "CFLAGS = -KPIC -Xa -O -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM" \
+       "CXXFLAGS = -KPIC -Xa -O -I/usr/openwin/include -I/usr/dt/include" \
+       "GL_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -lX11 -lXext -lXmu -lXi -lm" \
+       "GLUT_CFLAGS = -DSOLARIS_2_4_BUG" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -lm" \
+       "GLW_LIB_DEPS = -L$(TOP)/lib -lGL -L/usr/openwin/lib -lXt -lX11" \
+       "APP_LIB_DEPS = -lCrun -lX11 -lglut -lGLU -lGL -lm"
+
+sunos5-v8:
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
+       "GL_LIB = libGL.a" \
+       "GLU_LIB = libGLU.a" \
+       "GLUT_LIB = libglut.a" \
+       "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = cc" \
-       "CFLAGS = -KPIC -Xa -O -I/usr/openwin/include -I/usr/dt/include -DSHM -DSOLARIS_2_4_BUG" \
-       "MAKELIB = ../bin/mklib.sunos5" \
-       "XLIBS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+       "CXX = CC" \
+       "CFLAGS = -xarch=v8 -Xa -xO4 -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \
+       "CXXFLAGS = -xarch=v8 -Xa -xO4 -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \
+       "MKLIB_OPTIONS = -static" \
+       "APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm"
 
-sunos5-ultra:
+sunos5-v9:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
+       "LIBDIR = $(TOP)/lib64" \
        "CC = cc" \
-       "CFLAGS = -Xa -fast -xO5 -xtarget=ultra -I/usr/openwin/include -I/usr/dt/include -DSHM -DSOLARIS_2_4_BUG" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+       "CXX = CC" \
+       "CFLAGS = -xarch=v9 -Xa -xO4 -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \
+       "CXXFLAGS = -xarch=v9 -Xa -xO4 -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \
+       "MKLIB_OPTIONS = -static" \
+       "APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm"
 
-sunos5-ultra-sl:
+sunos5-v8-pthread:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.so" \
-       "GLU_LIB = libGLU.so" \
-       "GLUT_LIB = libglut.so" \
-       "GLW_LIB = libGLw.so" \
+       "GL_LIB = libGL.a" \
+       "GLU_LIB = libGLU.a" \
+       "GLUT_LIB = libglut.a" \
+       "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = cc" \
-       "CFLAGS = -KPIC -Xa -fast -xO5 -xtarget=ultra -I/usr/openwin/include -I/usr/dt/include -DSHM -DSOLARIS_2_4_BUG" \
-       "MAKELIB = ../bin/mklib.sunos5" \
-       "XLIBS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+       "CXX = CC" \
+       "CFLAGS = -xarch=v8 -mt -Xa -xO4 -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG -DPTHREADS" \
+       "CXXFLAGS = -xarch=v8 -mt -Xa -xO4 -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG -DPTHREADS" \
+       "MKLIB_OPTIONS = -static" \
+       "APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lpthread -lm"
 
-sunos5-gcc:
+sunos5-v9-pthread:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
-       "CC = gcc" \
-       "CFLAGS = -O3 -I/usr/openwin/include -DSHM -DSOLARIS_2_4_BUG" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+       "OSMESA_LIB = libOSMesa.a" \
+       "LIBDIR = $(TOP)/lib64" \
+       "CC = cc" \
+       "CXX = CC" \
+       "CFLAGS = -xarch=v9 -mt -Xa -xO4 -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG -DPTHREADS" \
+       "CXXFLAGS = -xarch=v9 -mt -Xa -xO4 -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG -DPTHREADS" \
+       "MKLIB_OPTIONS = -static" \
+       "APP_LIB_DEPS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lpthread -lm"
 
-sunos5-gcc-sl:
+sunos5-smp:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.so" \
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
-       "CC = gcc" \
-       "CFLAGS = -fPIC -O3 -I/usr/openwin/include -DSHM -DSOLARIS_2_4_BUG" \
-       "MAKELIB = ../bin/mklib.sunos5" \
-       "XLIBS = -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
+       "OSMESA_LIB = libOSMesa.so" \
+       "CC = cc" \
+       "CXX = c++" \
+       "CFLAGS = -KPIC -Xa -native -fast -xO5 -xlibmil -xsafe=mem -xdepend -I/usr/openwin/include -I/usr/dt/include -DUSE_XSHM -DSOLARIS_2_4_BUG" \
+       "CXXFLAGS = -KPIC -Xa -native -fast -xO5 -xlibmil -xsafe=mem -xdepend -I/usr/openwin/include -I/usr/dt/include" \
+       "GLUT_CFLAGS = -DSOLARIS_2_4_BUG" \
+       "GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -lm" \
+       "GLW_LIB_DEPS = -L$(TOP)/lib -lGL -L/usr/openwin/lib -lXt -lX11" \
+       "APP_LIB_DEPS = -lX11 -lglut -lGLU -lGL -lm -lCrun"
 
-sunos5-x11r6-gcc-sl:
+sunos5-gcc:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.so" \
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
        "CC = gcc" \
-       "CFLAGS = -fPIC -O3 -DSHM -DSOLARIS_2_4_BUG" \
-       "MAKELIB = ../bin/mklib.sunos5" \
-       "XLIBS = -lSM -lICE -lX11 -lXext -lXmu -lXi -lnsl -lsocket"
-
-# Contributed by John Stone
-sunos5-pthread:
+       "CXX = g++" \
+       "CFLAGS = -O3 -I/usr/openwin/include -fPIC -fomit-frame-pointer -D_REENTRANT -DUSE_XSHM" \
+       "CXXFLAGS = -O3 -I/usr/openwin/include -fPIC -fomit-frame-pointer -D_REENTRANT" \
+       "GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG" \
+       "GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -lm" \
+       "GLW_LIB_DEPS = -L$(TOP)/lib -lGL -L/usr/openwin/lib -lXt -lX11" \
+       "APP_LIB_DEPS = -lX11 -lglut -lGLU -lGL -lm"
+
+sunos5-gcc-debug:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "GLUT_LIB = libglut.a" \
-       "CC = cc" \
-       "CFLAGS = -mt -Xa -fast -xO4 -native -I/usr/openwin/include -I/usr/dt/include -DSHM -DSOLARIS_2_4\_BUG -DTHREADS -DPTHREADS" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lpthread"
-
-# Contributed by John Stone
-sunos5-thread:
-       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "GLUT_LIB = libglut.a" \
-       "CC = cc" \
-       "CFLAGS = -mt -Xa -fast -xO4 -native -I/usr/openwin/include -I/usr/dt/include -DSHM -DSOLARIS_2_4\_BUG -DTHREADS -DSOLARIS_THREADS" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/openwin/lib -L/usr/dt/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lthread"
-
-# Contributed by John Stone
-sunos5-gcc-thread:
-       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "GLUT_LIB = libglut.a" \
-       "CC = gcc" \
-       "CFLAGS = -O3 -I/usr/openwin/include -DSHM -DSOLARIS_2_4_BUG -D_REENTRANT -DTHREADS -DSOLARIS_THR\EADS" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lthread"
-
-# Contributed by John Stone
-sunos5-gcc-pthread:
-       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "GLUT_LIB = libglut.a" \
+       "GL_LIB = libGL.so" \
+       "GLU_LIB = libGLU.so" \
+       "GLUT_LIB = libglut.so" \
+       "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
        "CC = gcc" \
-       "CFLAGS = -O3 -I/usr/openwin/include -DSHM -DSOLARIS_2_4_BUG -D_REENTRANT -DTHREADS -DPTHREADS" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lpthread"
-
-# from Ron Metoyer (metoyer@iexist.flw.lucent.com)
-sunSolaris-CC:
-       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "GLUT_LIB = libglut.a" \
-       "GLW_LIB = libGLw.a" \
-       "CC = CC" \
-       "CFLAGS = -O -I/usr/openwin/include -DSHM -DSOLARIS_2_4_BUG" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/openwin/lib -R/usr/openwin/lib -lX11 -lXext -lXmu -lXi"
-
-#This config doesn't work, Ultrix C compiler isn't ANSI compliant
-ultrix:
-       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "GLUT_LIB = libglut.a" \
-       "GLW_LIB = libGLw.a" \
-       "CC = cc" \
-       "CFLAGS = -O -Dconst=/**/" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -lXmu -lX11 -lXi"
+       "CXX = g++" \
+       "CFLAGS = -g -I/usr/openwin/include -fPIC -fomit-frame-pointer -D_REENTRANT -DUSE_XSHM" \
+       "CXXFLAGS = -g -I/usr/openwin/include -fPIC -fomit-frame-pointer -D_REENTRANT" \
+       "GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG" \
+       "GL_LIB_DEPS = -L/usr/openwin/lib -lX11 -lXext -lXmu -lXi -lm" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -lm" \
+       "GLW_LIB_DEPS = -L$(TOP)/lib -lGL -L/usr/openwin/lib -lXt -lX11" \
+       "APP_LIB_DEPS = -lX11 -lglut -lGLU -lGL -lm"
 
 ultrix-gcc:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -1155,22 +1489,13 @@ ultrix-gcc:
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = gcc" \
+       "CXX = g++" \
        "CFLAGS = -pedantic -O2" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -lXmu -lX11 -lXi"
-
-# tested on Cray C90 running UNICOS 8.0.4
-unicos:
-       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "GLUT_LIB = libglut.a" \
-       "GLW_LIB = libGLw.a" \
-       "CC = cc" \
-       "CFLAGS =" \
-       "MAKELIB = ../bin/mklib/ar-rcv" \
-       "XLIBS = -lX11 -lXext -lXmu -lXi"
+       "CXXFLAGS = -pedantic -O2" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "APP_LIB_DEPS = -lXmu -lX11 -lXi -lm"
 
 unixware:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -1178,10 +1503,11 @@ unixware:
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
        "CC = cc" \
-       "CFLAGS = -O -I/usr/X/include -DSHM" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -lX11 -lXext -lXmu -lXi -lsocket -lnsl"
+       "CFLAGS = -O -I/usr/X/include -DUSE_XSHM" \
+       "CXXFLAGS = -O" \
+       "APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lsocket -lnsl -lm"
 
 unixware-shared:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
@@ -1189,32 +1515,11 @@ unixware-shared:
        "GLU_LIB = libGLU" \
        "GLUT_LIB = libglut" \
        "GLW_LIB = libGLw" \
+       "OSMESA_LIB = libOSMesa" \
        "CC = cc" \
-       "CFLAGS = -O -I/usr/X/include -KPIC,inline -DSHM" \
-       "MAKELIB = ../bin/mklib.solaris" \
-       "XLIBS = -lX11 -lXext -lXmu -lXi -lsocket -lnsl"
-
-uwin:
-       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "GLUT_LIB = libglut.a" \
-       "CC = gcc" \
-       "CFLAGS = -pedantic -O2 -I/usr/X11/include " \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/X11/lib -lX11"
-
-vistra:
-       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "GLUT_LIB = libglut.a" \
-       "GLW_LIB = libGLw.a" \
-       "CC = gcc" \
-       "CFLAGS = -pedantic -O2" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -lX11 -lsocket -lnsl -lgen"
-
+       "CFLAGS = -O -I/usr/X/include -KPIC,inline -DUSE_XSHM" \
+       "CXXFLAGS = -O -KPIC,inline" \
+       "APP_LIB_DEPS = -lX11 -lXext -lXmu -lXi -lsocket -lnsl -lm"
 
 # for debugging on IRIX 5.x systems
 # -woff 1209 = "controlling expression is constant"
@@ -1223,69 +1528,65 @@ vistra:
 # -woff 1521 = "nonstandard preprocessing directive is used"
 # -woff 3496 = "bitwise operator precedence"
 irix-debug:
-       pmake $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "GLUT_LIB = libglut.a" \
-       "GLW_LIB = libGLw.a" \
-       "LIBDIR = ../lib32" \
-       "CC = cc" \
-       "CFLAGS = -g -n32 -ansi -fullwarn -DSHM -DDEBUG -woff 1209,1210,1506,1521,3496" \
-       "MAKELIB = ../bin/mklib.ar-rcv" \
-       "XLIBS = -rpath ../lib32 -lX11 -lXext -lXmu -lXi -lfpe -lXext -lXmu -lXi"
-
-DEBUG:
-       pmake $(MFLAGS) -f Makefile.X11 targets \
+       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.a" \
        "GLU_LIB = libGLU.a" \
        "GLUT_LIB = libglut.a" \
        "GLW_LIB = libGLw.a" \
+       "OSMESA_LIB = libOSMesa.a" \
+       "LIBDIR = $(TOP)/lib32" \
        "CC = cc" \
-       "CFLAGS = -g -ansi -prototypes -fullwarn -DSHM -DDEBUG" \
-       "MAKELIB = ../bin/mklib.ar-rcv" \
-       "XLIBS = -lX11 -lXext -lXmu -lXi -lfpe"
+       "CFLAGS = -g -n32 -ansi -fullwarn -DUSE_XSHM -DDEBUG -woff 1209,1210,1506,1521,3496" \
+       "APP_LIB_DEPS = -rpath $(TOP)/lib32 -lX11 -lXext -lXmu -lXi -lfpe -lXext -lXmu -lXi -lm"
 
 # for debugging on Linux systems
 linux-debug:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "GLUT_LIB = libglut.a" \
-       "GLW_LIB = libGLw.a" \
+       "GL_LIB = libGL.so" \
+       "GLU_LIB = libGLU.so" \
+       "GLUT_LIB = libglut.so" \
+       "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
        "CC = gcc" \
-       "CFLAGS = -g -ansi -pedantic -Wall -DSHM -DDEBUG -DSVGA -DFX -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_X86_ASM_not -I/usr/include/glide -I/usr/local/glide/include" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/local/glide/lib -lglide2x -ltexus -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lvga" \
-       "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S X86/vertex.S"
-
-linux-elf-debug:
+       "CXX = g++" \
+       "CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DDEBUG -DMESA_DEBUG" \
+       "CXXFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -Wundef -fPIC -ffast-math -D_POSIX_SOURCE -D_SVID_SOURCE -D_BSD_SOURCE -DDEBUG -DMESA_DEBUG" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "GLW_LIB_DEPS = -L$(TOP)/lib -lGL -L/usr/X11R6/lib -lXt -lX11" \
+       "APP_LIB_DEPS = -L$(TOP)/lib -lglut -lGLU -lGL"
+
+linux-x86-debug:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.so" \
        "GLU_LIB = libGLU.so" \
        "GLUT_LIB = libglut.so" \
        "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
        "CC = gcc" \
-       "CFLAGS = -g -ansi -pedantic -Wall -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DSHM -DFX -DDEBUG -I/usr/local/glide/include -I/usr/include/glide" \
-       "MAKELIB = ../bin/mklib.linux" \
-       "XLIBS = -L/usr/local/glide/lib -lglide2x -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE -lvga -lm" \
-       "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S X86/vertex.S"
-
-# for profiling on Linux systems
-linux-prof:
+       "CXX = g++" \
+       "CFLAGS = -O2 -g -ansi -pedantic -Wall -Wmissing-prototypes -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -DPTHREADS -I/usr/X11R6/include -DDEBUG -DMESA_DEBUG" \
+       "CXXFLAGS = -O2 -g -ansi -pedantic -Wall -Wmissing-prototypes -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DDEBUG" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+       "APP_LIB_DEPS = -lm" \
+       "ASM_SOURCES = $(X86_SOURCES)"
+
+linux-glide-debug:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "GL_LIB = libGL.a" \
-       "GLU_LIB = libGLU.a" \
-       "GLUT_LIB = libglut.a" \
-       "GLW_LIB = libGLw.a" \
+       "GL_LIB = libGL.so" \
+       "GLU_LIB = libGLU.so" \
+       "GLUT_LIB = libglut.so" \
+       "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
        "CC = gcc" \
-       "CFLAGS = -O2 -pg -ansi -pedantic -Wall -DSHM -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -I/usr/include/glide -I/usr/local/glide/include" \
-       "MAKELIB = ../bin/mklib.ar-ruv" \
-       "XLIBS = -L/usr/local/glide/lib -lglide2x -L/usr/X11/lib -lX11 -lXext -lXmu -lXt -lXi -lSM -lICE" \
-       "ASM_SOURCES = X86/x86a.S X86/common_x86asm.S \
-       X86/mmx_blend.S \
-       X86/3dnow_xform_raw1.S X86/3dnow_xform_raw2.S \
-       X86/3dnow_xform_raw3.S X86/3dnow_xform_raw4.S \
-       X86/3dnow_xform_masked1.S X86/3dnow_xform_masked2.S \
-       X86/3dnow_xform_masked3.S X86/3dnow_xform_masked4.S \
-       X86/3dnow_norm_raw.S X86/vertex.S X86/vertex_3dnow.S \
-       FX/X86/fx_3dnow_fastpath.S"
+       "CXX = g++" \
+       "CFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -I/usr/X11R6/include -DUSE_XSHM -DPTHREADS -DFX -DDEBUG -I/usr/local/glide/include -I/usr/include/glide" \
+       "CXXFLAGS = -g -ansi -pedantic -Wall -Wmissing-prototypes -fPIC -ffast-math -D_SVID_SOURCE -D_BSD_SOURCE -DDEBUG" \
+       "GLUT_CFLAGS = -fexceptions" \
+       "APP_LIB_DEPS = -L/usr/local/glide/lib -lglide3x -L/usr/X11R6/lib -lX11 -lXext -lXmu -lXt -lXi -lvga -lm -lpthread"
+