makefile improvements
authorBrian Paul <brian.paul@tungstengraphics.com>
Fri, 12 Dec 2003 15:32:25 +0000 (15:32 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Fri, 12 Dec 2003 15:32:25 +0000 (15:32 +0000)
Make-config
Makefile.X11

index 5f20adbc9fd12e5fe9c006332633e4ceeacb516c..2abc9d806732fcfc06d985ff24f2e1724058834c 100644 (file)
@@ -20,6 +20,7 @@ VERSION=$(MESA_MAJOR).$(MESA_MINOR)
 # 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)
@@ -438,7 +439,7 @@ linux-x86:
        "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 -lm -lpthread" \
+       "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" \
@@ -457,7 +458,7 @@ linux-x86-sse:
        "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 -lm -lpthread" \
+       "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" \
@@ -473,7 +474,7 @@ linux-icc:
        "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 -lm -lpthread" \
+       "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" \
@@ -492,7 +493,7 @@ linux-ggi:
        "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 -ggi -lX11 -lXext -lm -lm -lpthread" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -ggi -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"
@@ -510,12 +511,26 @@ linux-x86-ggi:
        "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 -ggi -lX11 -lXext -lm -lm -lpthread" \
+       "GL_LIB_DEPS = -L/usr/X11R6/lib -ggi -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"  \
+       "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-glide:
        $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
        "GL_LIB = libGL.so" \
@@ -676,7 +691,7 @@ linux-sparc-ultra:
 # 16-bit/channel Mesa using OSMesa driver
 linux-osmesa16:
        $(MAKE) $(MFLAGS) -f Makefile.OSMesa16 targets \
-       "OSMESA16_LIB = libOSMesa16.so" \
+       "OSMESA_LIB = libOSMesa16.so" \
        "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" \
@@ -687,7 +702,7 @@ linux-osmesa16:
 
 linux-osmesa16-static:
        $(MAKE) $(MFLAGS) -f Makefile.OSMesa16 targets \
-       "OSMESA16_LIB = libOSMesa16.a" \
+       "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" \
@@ -700,7 +715,8 @@ linux-osmesa16-static:
 # 32-bit/channel Mesa using OSMesa driver
 linux-osmesa32:
        $(MAKE) $(MFLAGS) -f Makefile.OSMesa16 targets \
-       "OSMESA16_LIB = libOSMesa32.so" \
+       "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" \
@@ -712,20 +728,18 @@ linux-osmesa32:
 # standalone Mesa -- embedded
 # change -g to -O3 for non-debug
 linux-solo:
-       $(MAKE) $(MFLAGS) -f Makefile.X11 targets \
-       "SOLO = true" \
-       "LIBMESA = mesa.a" \
+       $(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 -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  -Wl,-rpath,$(TOP)/lib" \
-       "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -lm  -Wl,-rpath,$(TOP)/lib" \
-       "APP_LIB_DEPS = -L$(TOP)/lib -lglut -lGLU -lGL -lm  -lpthread -Wl,-rpath,$(TOP)/lib
+       "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 -DUSE_XSHM -funroll-loops
@@ -819,7 +833,7 @@ osf1:
        "OSMESA_LIB = libOSMesa.so" \
        "CC = cc" \
        "CFLAGS = -O0 -std1 -ieee_with_no_inexact -DUSE_XSHM" \
-       "GL_LIB_DEPS = -lX11 -lXext -lm -lm -lpthread" \
+       "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"
@@ -985,6 +999,24 @@ sunos5-gcc:
        "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.so" \
+       "GLU_LIB = libGLU.so" \
+       "GLUT_LIB = libglut.so" \
+       "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
+       "CC = gcc" \
+       "CXX = g++" \
+       "CFLAGS = -g -I/usr/openwin/include -DUSE_XSHM" \
+       "CXXFLAGS = -g -I/usr/openwin/include" \
+       "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 \
        "GL_LIB = libGL.a" \
@@ -1074,7 +1106,7 @@ linux-x86-debug:
        "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 -lm -lpthread" \
+       "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" \
index 01e0ea05b19825bfa4c81dfc8fd572bf0a89446e..81443cb0ee1b7ef60edc4bd792af8e8db524677c 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.X11,v 1.97 2003/12/10 02:44:38 brianp Exp $
+# $Id: Makefile.X11,v 1.98 2003/12/12 15:32:25 brianp Exp $
 
 # Mesa 3-D graphics library
 # Version:  5.1
@@ -74,7 +74,7 @@ default:
        @echo "  make linux-osmesa16        for 16-bit/channel OSMesa"
        @echo "  make linux-osmesa16-static for 16-bit/channel OSMesa, make static libs"
        @echo "  make linux-osmesa32        for 32-bit/channel OSMesa"
-       @echo "  make linux-solo            for Linux standalone with dri drivers"
+       @echo "  make linux-solo            for Linux standalone with DRI drivers"
        @echo "  make linux-icc             for Linux with the Intel C/C++ compiler"
        @echo "  make lynxos                for LynxOS systems with GCC"
        @echo "  make mklinux               for Linux on Power Macintosh"
@@ -92,6 +92,7 @@ default:
        @echo "  make sunos5                for Suns with SunOS 5.x"
        @echo "  make sunos5-smp            for Suns with SunOS 5.x, SMP optimization"
        @echo "  make sunos5-gcc            for Suns with SunOS 5.x and GCC"
+       @echo "  make sunos5-gcc-debug      for Suns with SunOS 5.x and GCC"
        @echo "  make ultrix-gcc            for DEC systems with Ultrix and GCC"
        @echo "  make unixware              for PCs running UnixWare"
        @echo "  make unixware-shared       for PCs running UnixWare, shared libs"
@@ -104,6 +105,7 @@ default:
 # have a C++ compiler and those that don't for the SI-GLU library.
 
 aix aix-sl darwin freebsd freebsd-386 gcc-sl \
+cygnus cygnus-linux:
 hpux9 hpux9-sl hpux9-gcc hpux9-gcc-sl \
 hpux10 hpux10-sl hpux10-gcc hpux10-gcc-sl \
 linux linux-debug \
@@ -115,102 +117,215 @@ linux-sparc linux-sparc5 linux-sparc-ultra \
 mklinux netbsd osf1 openbsd qnx \
 solaris-x86 solaris-x86-gcc \
 sunos4 sunos4-sl sunos4-gcc sunos4-gcc-sl sunos4-gcc-x11r6-sl \
-sunos5 sunos5-smp sunos5-gcc \
+sunos5 sunos5-smp sunos5-gcc sunos5-gcc-debug \
 ultrix-gcc unixware:
        -mkdir lib
-       if [ -d src/mesa     ] ; then touch src/mesa/depend     ; fi
-       if [ -d src/glu/sgi  ] ; then touch src/glu/sgi/depend  ; fi
-       if [ -d src/glut/glx ] ; then touch src/glut/glx/depend ; fi
-       if [ -d src/glw      ] ; then touch src/glw/depend      ; fi
-       if [ -d src/mesa      ] ; then cd src/mesa      ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/glu/sgi   ] ; then cd src/glu/sgi   ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/glut/glx  ] ; then cd src/glut/glx  ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/demos   ] ; then cd progs/demos   ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/xdemos  ] ; then cd progs/xdemos  ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/samples ] ; then cd progs/samples ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/redbook ] ; then cd progs/redbook ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/glw       ] ; then cd src/glw       ; $(MAKE) -f Makefile.X11 $@ ; fi
+       if [ -d src/mesa ] ; then \
+               cd src/mesa ; \
+               touch depend ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d src/glu/sgi ] ; then \
+               cd src/glu/sgi ; \
+               touch depend ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d src/glut/glx ] ; then \
+               cd src/glut/glx ; \
+               touch depend ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d src/glw ] ; then \
+               cd src/glw ; \
+               touch src/glw/depend ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d progs/demos ] ; then \
+               cd progs/demos ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d progs/xdemos ] ; then \
+               cd progs/xdemos ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d progs/samples ] ; then \
+               cd progs/samples ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d progs/redbook ] ; then \
+               cd progs/redbook ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+
 
 gcc-mesa-sl:
        if [ -d src ] ; then cd src  ; $(MAKE) -f Makefile.X11 $@ ; fi
 
+
 irix6-o32 irix6-o32-dso irix6-n32 irix6-n32-dso irix6-gcc-n32-sl:
        -mkdir lib32
-       if [ -d src/mesa      ] ; then touch src/mesa/depend      ; fi
-       if [ -d src/glu/sgi   ] ; then touch src/glu/sgi/depend   ; fi
-       if [ -d src/glut/glx ] ; then touch src/glut/glx/depend ; fi
-       if [ -d src/glw ] ; then touch src/glw/depend ; fi
-       if [ -d src/mesa      ] ; then cd src/mesa      ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/glu/sgi   ] ; then cd src/glu/sgi   ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/glut/glx ] ; then cd src/glut/glx ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/demos    ] ; then cd progs/demos    ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/xdemos   ] ; then cd progs/xdemos   ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/samples  ] ; then cd progs/samples  ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/redbook     ] ; then cd progs/redbook     ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/glw ] ; then cd src/glw; $(MAKE) -f Makefile.X11 $@ ; fi
+       if [ -d src/mesa ] ; then \
+               cd src/mesa ; \
+               touch depend ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d src/glu/sgi ] ; then \
+               cd src/glu/sgi ; \
+               touch depend ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d src/glut/glx ] ; then \
+               cd src/glut/glx ; \
+               touch depend ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d src/glw ] ; then \
+               cd src/glw ; \
+               touch src/glw/depend ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d progs/demos ] ; then \
+               cd progs/demos ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d progs/xdemos ] ; then \
+               cd progs/xdemos ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d progs/samples ] ; then \
+               cd progs/samples ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d progs/redbook ] ; then \
+               cd progs/redbook ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
 
 irix6-64 irix6-64-dso:
        -mkdir lib64
-       if [ -d src/mesa     ] ; then touch src/mesa/depend     ; fi
-       if [ -d src/glu/sgi  ] ; then touch src/glu/sgi/depend  ; fi
-       if [ -d src/glut/glx ] ; then touch src/glut/glx/depend ; fi
-       if [ -d src/glw      ] ; then touch src/glw/depend      ; fi
-       if [ -d src/mesa      ] ; then cd src/mesa      ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/glu/sgi   ] ; then cd src/glu/sgi   ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/glut/glx  ] ; then cd src/glut/glx  ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/demos   ] ; then cd progs/demos   ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/xdemos  ] ; then cd progs/xdemos  ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/samples ] ; then cd progs/samples ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/redbook ] ; then cd progs/redbook ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/glw ] ; then cd src/glw; $(MAKE) -f Makefile.X11 $@ ; fi
-
+       if [ -d src/mesa ] ; then \
+               cd src/mesa ; \
+               touch depend ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d src/glu/sgi ] ; then \
+               cd src/glu/sgi ; \
+               touch depend ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d src/glut/glx ] ; then \
+               cd src/glut/glx ; \
+               touch depend ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d src/glw ] ; then \
+               cd src/glw ; \
+               touch src/glw/depend ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d progs/demos ] ; then \
+               cd progs/demos ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d progs/xdemos ] ; then \
+               cd progs/xdemos ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d progs/samples ] ; then \
+               cd progs/samples ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d progs/redbook ] ; then \
+               cd progs/redbook ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
 
 beos-r4:
        -mkdir lib
-       -rm src/mesa/depend
-       touch src/mesa/depend
-       -rm src/glu/sgi/depend
-       touch src/glu/sgi/depend
-       if [ -d src/mesa      ] ; then cd src/mesa      ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
-       if [ -d src/glu/sgi   ] ; then cd src/glu/sgi   ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
-       if [ -d src/glut/beos ] ; then cd src/glut/beos ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
-       if [ -d src/glut/beos ] ; then cp src/glut/beos/obj*/libglut.so lib  ; fi
-       if [ -d progs/beos    ] ; then cd progs/beos    ; $(MAKE)                        ; fi
-       if [ -d progs/demos   ] ; then cd progs/demos   ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
-       if [ -d progs/samples ] ; then cd progs/samples ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
-       if [ -d progs/redbook ] ; then cd progs/redbook ; $(MAKE) -f Makefile.BeOS-R4 $@ ; fi
+       if [ -d src/mesa ] ; then \
+               cd src/mesa ; \
+               -rm depend ; \
+               touch depend ; \
+               $(MAKE) -f Makefile.BeOS-R4 $@ ; \
+       fi
+       if [ -d src/glu/sgi ] ; then \
+               cd src/glu/sgi ; \
+               -rm depend ; \
+               touch depend ; \
+               $(MAKE) -f Makefile.BeOS-R4 $@ ; \
+       fi
+       if [ -d src/glut/beos ] ; then \
+               cd src/glut/beos ; \
+               $(MAKE) -f Makefile.BeOS-R4 $@ ; \
+               cp obj*/libglut.so ../../../lib ; \
+       fi
+       if [ -d progs/beos ] ; then \
+               cd progs/beos ; \
+               $(MAKE) ; \
+       fi
+       if [ -d progs/demos ] ; then \
+               cd progs/demos ; \
+               $(MAKE) -f Makefile.BeOS-R4 $@ ; \
+       fi
+       if [ -d progs/samples ] ; then \
+               cd progs/samples ; \
+               $(MAKE) -f Makefile.BeOS-R4 $@ ; \
+       fi
+       if [ -d progs/redbook ] ; then \
+               cd progs/redbook ; \
+               $(MAKE) -f Makefile.BeOS-R4 $@ ; \
+       fi
 
-cygnus cygnus-linux:
-       -mkdir lib
-       touch src/depend
-       touch src-glu/depend
-       if [ -d src/mesa     ] ; then cd src/mesa     ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/glu/sgi  ] ; then cd src/glu/sgi  ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/glut/glx ] ; then cd src/glut/glx ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/demos  ] ; then cd progs/demos  ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/xdemos ] ; then cd progs/xdemos ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/glw      ] ; then cd src/glw      ; $(MAKE) -f Makefile.X11 $@ ; fi
 
 openstep:
        -mkdir lib
        cd src/mesa    ; $(MAKE) -f Makefile.X11 "MYCC=${CC}" $@
        cd src/glu/sgi ; $(MAKE) -f Makefile.X11 "MYCC=${CC}" $@
 
+
 linux-ggi linux-x86-ggi:
        -mkdir lib
-       touch src/depend
-       touch src/glu/sgi/depend
-       if [ -d src/glut/glx    ] ; then touch src/glut/glx/depend ; fi
-       if [ -d src/glw         ] ; then touch src/glw/depend ; fi
-       if [ -d src/mesa        ] ; then cd src            ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/glu/sgi     ] ; then cd src/glu/sgi    ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/glut/glx    ] ; then cd src/glut/glx   ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d ggi/demos       ] ; then cd ggi/demos      ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/demos     ] ; then cd progs/demos    ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/xdemos    ] ; then cd progs/xdemos   ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/samples   ] ; then cd progs/samples  ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/redbook   ] ; then cd progs/redbook  ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/glw ] ; then cd src/glw; $(MAKE) -f Makefile.X11 $@ ; fi
+       if [ -d src/mesa ] ; then \
+               cd src/mesa ; \
+               touch depend ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d src/glu/sgi ] ; then \
+               cd src/glu/sgi ; \
+               touch depend ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d src/glut/glx ] ; then \
+               cd src/glut/glx ; \
+               touch depend ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d src/glw ] ; then \
+               cd src/glw ; \
+               touch src/glw/depend ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d progs/demos ] ; then \
+               cd progs/demos ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d progs/xdemos ] ; then \
+               cd progs/xdemos ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d progs/samples ] ; then \
+               cd progs/samples ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d progs/redbook ] ; then \
+               cd progs/redbook ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+       if [ -d progs/ggi ] ; then \
+               cd progs/ggi ; \
+               $(MAKE) -f Makefile.X11 $@ ; \
+       fi
+
 
 # if you change GGI_DEST please change it in ggimesa.conf, too.
 DESTDIR=/usr/local
@@ -225,52 +340,67 @@ linux-ggi-install linux-x86-ggi-install:
 #      echo ".include $(DESTDIR)/etc/ggi/ggimesa.conf" >> $(DESTDIR)/etc/ggi/libggi.conf ; \
 #      fi
 
+
 linux-osmesa16 linux-osmesa16-static linux-osmesa32:
        -mkdir lib
-       if [ -d src/mesa ] ; then touch src/mesa/depend ; fi
-       if [ -d src/mesa ] ; then cd src/mesa ; $(MAKE) -f Makefile.OSMesa16 $@ ; fi
+       if [ -d src/mesa ] ; then \
+               cd src/mesa ; \
+               touch depend ; \
+               $(MAKE) -f Makefile.OSMesa16 $@ ; \
+       fi
 
+
+# Stand-alone DRI hardware drivers
 linux-solo:
        -mkdir lib
-       if [ -d src/mesa     ] ; then touch src/mesa/depend     ; fi
-       if [ -d src/glx/mini ] ; then touch src/glx/mini/depend  ; fi
-       if [ -d src/glu/mini ] ; then touch src/glu/mini/depend  ; fi
-       if [ -d src/glut/mini ] ; then touch src/glut/mini/depend  ; fi
-       if [ -d src/mesa/drivers/dri/r200 ] ; then touch src/mesa/drivers/dri/r200/depend ; fi
-       if [ -d src/mesa/drivers/dri/r128 ] ; then touch src/mesa/drivers/dri/r128/depend ; fi
-       if [ -d src/mesa/drivers/dri/radeon ] ; then touch src/mesa/drivers/dri/radeon/depend ; fi
-       if [ -d src/mesa/drivers/dri/mga ] ; then touch src/mesa/drivers/dri/mga/depend ; fi
-       if [ -d src/mesa/drivers/dri/i810 ] ; then touch src/mesa/drivers/dri/i810/depend ; fi
-       if [ -d src/mesa/drivers/dri/i830 ] ; then touch src/mesa/drivers/dri/i830/depend ; fi
-       if [ -d src/mesa/drivers/dri/sis ] ; then touch src/mesa/drivers/dri/sis/depend ; fi
-       if [ -d src/mesa/drivers/dri/gamma ] ; then touch src/mesa/drivers/dri/gamma/depend ; fi
-       if [ -d src/mesa/drivers/dri/tdfx ] ; then touch src/mesa/drivers/dri/tdfx/depend ; fi
-       if [ -d src/mesa/drivers/dri/fb ] ; then touch src/mesa/drivers/dri/fb/depend ; fi
-       if [ -d src/glut/mini ] ; then touch src/glut/mini/depend ; fi
-       if [ -d progs/miniglx ] ; then touch progs/miniglx/depend ; fi
-       if [ -d progs/tests ] ; then touch progs/tests/depend ; fi
-       if [ -d src/mesa      ] ; then cd src/mesa      ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/mesa/drivers/dri/r200 ] ; then cd src/mesa/drivers/dri/r200     ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/mesa/drivers/dri/r128 ] ; then cd src/mesa/drivers/dri/r128     ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/mesa/drivers/dri/radeon ] ; then cd src/mesa/drivers/dri/radeon ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/mesa/drivers/dri/mga ] ; then cd src/mesa/drivers/dri/mga       ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/mesa/drivers/dri/i810 ] ; then cd src/mesa/drivers/dri/i810       ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/mesa/drivers/dri/i830 ] ; then cd src/mesa/drivers/dri/i830       ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/mesa/drivers/dri/sis ] ; then cd src/mesa/drivers/dri/sis       ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/mesa/drivers/dri/gamma ] ; then cd src/mesa/drivers/dri/gamma       ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/mesa/drivers/dri/tdfx ] ; then cd src/mesa/drivers/dri/tdfx       ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/mesa/drivers/dri/fb ] ; then cd src/mesa/drivers/dri/fb         ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/glx/mini  ] ; then cd src/glx/mini  ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/glu/mini  ] ; then cd src/glu/mini  ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d src/glut/mini ] ; then cd src/glut/mini ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/miniglx ] ; then cd progs/miniglx ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/tests   ] ; then cd progs/tests   ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/demos   ] ; then cd progs/demos   ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/xdemos  ] ; then cd progs/xdemos  ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/samples ] ; then cd progs/samples ; $(MAKE) -f Makefile.X11 $@ ; fi
-       if [ -d progs/redbook ] ; then cd progs/redbook ; $(MAKE) -f Makefile.X11 $@ ; fi
+       cd src/mesa                    ; touch depend ; $(MAKE) -f Makefile.solo $@
+       cd src/mesa/drivers/dri/r200   ; touch depend ; $(MAKE) -f Makefile.solo $@
+       cd src/mesa/drivers/dri/radeon ; touch depend ; $(MAKE) -f Makefile.solo $@
+       cd src/mesa/drivers/dri/r128   ; touch depend ; $(MAKE) -f Makefile.solo $@
+       cd src/mesa/drivers/dri/mga    ; touch depend ; $(MAKE) -f Makefile.solo $@
+       cd src/mesa/drivers/dri/i810   ; touch depend ; $(MAKE) -f Makefile.solo $@
+       cd src/mesa/drivers/dri/i830   ; touch depend ; $(MAKE) -f Makefile.solo $@
+       cd src/mesa/drivers/dri/sis    ; touch depend ; $(MAKE) -f Makefile.solo $@
+       cd src/mesa/drivers/dri/gamma  ; touch depend ; $(MAKE) -f Makefile.solo $@
+#      cd src/mesa/drivers/dri/tdfx   ; touch depend ; $(MAKE) -f Makefile.solo $@
+       cd src/mesa/drivers/dri/fb     ; touch depend ; $(MAKE) -f Makefile.solo $@
+       cd src/glx/mini                ; touch depend ; $(MAKE) -f Makefile.solo $@
+       if [ -d src/glu/sgi ] ; then \
+               cd src/glu/sgi ; \
+               touch depend ; \
+               ln -s Makefile.X11 Makefile.solo ; \
+               $(MAKE) -f Makefile.solo $@ ; \
+       fi
+       if [ -d src/glut/mini ] ; then \
+               cd src/glut/mini ; \
+               touch depend ; \
+               $(MAKE) -f Makefile.solo $@ ; \
+       fi
+       if [ -d progs/miniglx ] ; then \
+               cd progs/miniglx ; \
+               touch depend ; \
+               $(MAKE) -f Makefile.solo $@ ; \
+       fi
+#      if [ -d progs/demos ] ; then \
+#              cd progs/demos ; \
+#              $(MAKE) -f Makefile.X11 $@ ; \
+#      fi
+#      if [ -d progs/xdemos ] ; then \
+#              cd progs/xdemos ; \
+#              $(MAKE) -f Makefile.X11 $@ ; \
+#      fi
+#      if [ -d progs/samples ] ; then \
+#              cd progs/samples ; \
+#              $(MAKE) -f Makefile.X11 $@ ; \
+#      fi
+#      if [ -d progs/redbook ] ; then \
+#              cd progs/redbook ; \
+#              $(MAKE) -f Makefile.X11 $@ ; \
+#      fi
+
 
 # Remove .o files, emacs backup files, etc.
+# XXX this should be cleaned up
 clean:
        if ! [ -f src/mesa/depend      ] ; then touch src/mesa/depend      ; fi
        if ! [ -f src/mesa/drivers/dri/r200/depend ];   then touch src/mesa/drivers/dri/r200/depend;   fi
@@ -321,6 +451,7 @@ clean:
        if [ -f progs/tests/depend   ] ; then rm -f progs/tests/depend   ; fi
        if [ -f progs/miniglx/depend ] ; then rm -f progs/miniglx/depend ; fi
 
+
 # Remove everything that can be remade
 realclean: clean
        -rm -fr lib lib32 lib64
@@ -329,6 +460,7 @@ realclean: clean
        cd progs/redbook     && $(MAKE) -f Makefile.X11 realclean || true
        cd progs/samples     && $(MAKE) -f Makefile.X11 realclean || true
 
+
 # Remove everything not in CVS
 cvsclean: realclean
        -rm -f acinclude.m4 aclocal.m4
@@ -408,7 +540,8 @@ LIB_FILES = \
        $(DIRECTORY)/src/mesa/drivers/common/*.[ch]                     \
        $(DIRECTORY)/src/mesa/drivers/dos/*.[chS]                       \
        $(DIRECTORY)/src/mesa/drivers/dos/mga/*.[ch]                    \
-       $(DIRECTORY)/src/mesa/drivers/fbdev/glfbdev.c                   \
+       $(DIRECTORY)/src/mesa/drivers/dri/common/*.[ch]                 \
+       $(DIRECTORY)/src/mesa/drivers/fbdev/glfbdev.c                   \
        $(DIRECTORY)/src/mesa/drivers/glide/*.[ch]                      \
        $(DIRECTORY)/src/mesa/drivers/glide/*.def                       \
        $(DIRECTORY)/src/mesa/drivers/ggi/*.[ch]                        \