diff --git a/include/GL/Makefile.am b/include/GL/Makefile.am
index 58aded1..3283570 100644
--- a/include/GL/Makefile.am
+++ b/include/GL/Makefile.am
@@ -2,33 +2,41 @@
 
 GLincludedir = $(includedir)/GL
 
-if HAVE_FX
 INC_FX = fxmesa.h
+INC_GGI = ggimesa.h
+INC_OSMESA = osmesa.h
+INC_SVGA = svgamesa.h
+INC_X11 = glx.h glxext.h glx_mangle.h xmesa.h xmesa_x.h xmesa_xf86.h
+INC_GLUT = glut.h glutf90.h
+
+if HAVE_FX
+sel_inc_fx = $(INC_FX)
 endif
 
 if HAVE_GGI
-INC_GGI = ggimesa.h
+sel_inc_ggi = $(INC_GGI)
 endif
 
 if HAVE_OSMESA
-INC_OSMESA = osmesa.h
+sel_inc_osmesa = $(INC_OSMESA)
 endif
 
 if HAVE_SVGA
-INC_SVGA = svgamesa.h
+sel_inc_svga = $(INC_SVGA)
 endif
 
 if HAVE_X11
-INC_X11 = glx.h glx_mangle.h xmesa.h xmesa_x.h xmesa_xf86.h
+sel_inc_x11 = $(INC_X11)
 endif
 
 if NEED_GLUT
-INC_GLUT = glut.h
+sel_inc_glut = $(INC_GLUT)
 endif
 
-EXTRA_DIST = fxmesa.h ggimesa.h osmesa.h svgamesa.h \
-	glx.h glx_mangle.h xmesa.h xmesa_x.h xmesa_xf86.h
-
-GLinclude_HEADERS = gl.h glext.h gl_mangle.h glu.h glu_mangle.h \
+EXTRA_HEADERS = amesa.h dosmesa.h foomesa.h glut_h.dja mesa_wgl.h mglmesa.h \
+	vms_x_fix.h wmesa.h \
 	$(INC_FX) $(INC_GGI) $(INC_OSMESA) $(INC_SVGA) $(INC_X11) $(INC_GLUT)
 
+GLinclude_HEADERS = gl.h glext.h gl_mangle.h glu.h glu_mangle.h \
+	$(sel_inc_fx) $(sel_inc_ggi) $(sel_inc_osmesa) $(sel_inc_svga) \
+	$(sel_inc_x11) $(sel_inc_glut)
diff --git a/progs/demos/Makefile.BeOS-R4 b/progs/demos/Makefile.BeOS-R4
index ff3c675..dc8156b 100644
--- a/progs/demos/Makefile.BeOS-R4
+++ b/progs/demos/Makefile.BeOS-R4
@@ -1,4 +1,4 @@
-# $Id: Makefile.BeOS-R4,v 1.12 2000/06/27 16:54:18 brianp Exp $
+# $Id: Makefile.BeOS-R4,v 1.13 2000/12/24 22:53:54 pesco Exp $
 
 # Mesa 3-D graphics library
 # Version:  3.3
@@ -64,7 +64,7 @@
 .SUFFIXES: .c
 
 .c: $(LIB_DEP)
-	$(CC) -I$(INCDIR) $(CFLAGS) $< $(GL_LIBS) -o $@
+	$(CC) -I$(INCDIR) -I../util $(CFLAGS) $< $(GL_LIBS) -o $@
 
 
 
diff --git a/progs/demos/Makefile.X11 b/progs/demos/Makefile.X11
index 395d102..41175a1 100644
--- a/progs/demos/Makefile.X11
+++ b/progs/demos/Makefile.X11
@@ -1,4 +1,4 @@
-# $Id: Makefile.X11,v 1.15 2000/11/01 16:02:52 brianp Exp $
+# $Id: Makefile.X11,v 1.16 2000/12/24 22:53:54 pesco Exp $
 
 # Mesa 3-D graphics library
 # Version:  3.5
@@ -67,7 +67,7 @@
 
 # make executable from .c file:
 .c: $(LIB_DEP)
-	$(CC) -I$(INCDIR) $(CFLAGS) $< $(GL_LIBS) -o $@
+	$(CC) -I$(INCDIR) -I../util $(CFLAGS) $< $(GL_LIBS) -o $@
 
 # special case: need the -lOSMesa library:
 osdemo: osdemo.c
diff --git a/progs/demos/Makefile.cygnus b/progs/demos/Makefile.cygnus
index 1e5ab0f..c41c4a6 100644
--- a/progs/demos/Makefile.cygnus
+++ b/progs/demos/Makefile.cygnus
@@ -1,4 +1,4 @@
-# $Id: Makefile.cygnus,v 1.11 2000/06/27 16:54:18 brianp Exp $
+# $Id: Makefile.cygnus,v 1.12 2000/12/24 22:53:54 pesco Exp $
 
 # Mesa 3-D graphics library
 # Version:  3.3
@@ -66,7 +66,7 @@
 .SUFFIXES: .c
 
 .c: $(LIB_DEP)
-	$(CC) -I$(INCDIR) $(CFLAGS) $< $(GL_LIBS) -o $@
+	$(CC) -I$(INCDIR) -I../util $(CFLAGS) $< $(GL_LIBS) -o $@
 
 
 ##### TARGETS #####
diff --git a/progs/demos/drawpix.c b/progs/demos/drawpix.c
index f86b138..b0496c5 100644
--- a/progs/demos/drawpix.c
+++ b/progs/demos/drawpix.c
@@ -1,4 +1,4 @@
-/* $Id: drawpix.c,v 1.4 2000/09/08 21:45:21 brianp Exp $ */
+/* $Id: drawpix.c,v 1.5 2000/12/24 22:53:54 pesco Exp $ */
 
 /*
  * glDrawPixels demo/test/benchmark
@@ -8,6 +8,32 @@
 
 /*
  * $Log: drawpix.c,v $
+ * Revision 1.5  2000/12/24 22:53:54  pesco
+ * * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
+ * * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
+ * Essentially the same.
+ * Program files updated to include "readtex.c", not "../util/readtex.c".
+ * * demos/reflect.c: Likewise for "showbuffer.c".
+ *
+ *
+ * * Makefile.am (EXTRA_DIST): Added top-level regular files.
+ *
+ * * include/GL/Makefile.am (INC_X11): Added glxext.h.
+ *
+ *
+ * * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include
+ * Mesa GGI headers in dist even if HAVE_GGI is not given.
+ *
+ * * configure.in: Look for GLUT and demo source dirs in $srcdir.
+ *
+ * * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch].
+ * More source list updates in various Makefile.am's.
+ *
+ * * Makefile.am (dist-hook): Remove CVS directory from distribution.
+ * (DIST_SUBDIRS): List all possible subdirs here.
+ * (SUBDIRS): Only list subdirs selected for build again.
+ * The above two applied to all subdir Makefile.am's also.
+ *
  * Revision 1.4  2000/09/08 21:45:21  brianp
  * added dither key option
  *
@@ -40,7 +66,7 @@
 #include <math.h>
 #include <GL/glut.h>
 
-#include "../util/readtex.c"  /* a hack, I know */
+#include "readtex.c"
 
 #define IMAGE_FILE "../images/girl.rgb"
 
diff --git a/progs/demos/fire.c b/progs/demos/fire.c
index 100df81..6fa335c 100644
--- a/progs/demos/fire.c
+++ b/progs/demos/fire.c
@@ -17,7 +17,7 @@
 #endif
 
 #include <GL/glut.h>
-#include "../util/readtex.c"
+#include "readtex.c"
 
 #ifdef XMESA
 #include "GL/xmesa.h"
diff --git a/progs/demos/gloss.c b/progs/demos/gloss.c
index 228e448..f39d8d1 100644
--- a/progs/demos/gloss.c
+++ b/progs/demos/gloss.c
@@ -1,4 +1,4 @@
-/* $Id: gloss.c,v 1.5 2000/08/29 21:17:38 brianp Exp $ */
+/* $Id: gloss.c,v 1.6 2000/12/24 22:53:54 pesco Exp $ */
 
 /*
  * Specular reflection demo.  The specular highlight is modulated by
@@ -24,7 +24,7 @@
 #include <math.h>
 #include <GL/glut.h>
 
-#include "../util/readtex.c"   /* I know, this is a hack. */
+#include "readtex.c"   /* I know, this is a hack. */
 
 #define SPECULAR_TEXTURE_FILE "../images/reflect.rgb"
 #define BASE_TEXTURE_FILE "../images/tile.rgb"
diff --git a/progs/demos/ipers.c b/progs/demos/ipers.c
index aa15d67..d38c4d1 100644
--- a/progs/demos/ipers.c
+++ b/progs/demos/ipers.c
@@ -18,7 +18,7 @@
 
 #include <GL/glut.h>
 
-#include "../util/readtex.c"
+#include "readtex.c"
 
 #ifdef XMESA
 #include "GL/xmesa.h"
diff --git a/progs/demos/isosurf.c b/progs/demos/isosurf.c
index a25848d..d5b0ceb 100644
--- a/progs/demos/isosurf.c
+++ b/progs/demos/isosurf.c
@@ -1,4 +1,4 @@
-/* $Id: isosurf.c,v 1.6 2000/06/27 17:04:43 brianp Exp $ */
+/* $Id: isosurf.c,v 1.7 2000/12/24 22:53:54 pesco Exp $ */
 
 /*
  * Display an isosurface of 3-D wind speed volume.  
@@ -33,7 +33,7 @@
 #define GL_GLEXT_LEGACY
 #include "GL/glut.h"
 
-#include "../util/readtex.c"   /* I know, this is a hack.  KW: me too. */
+#include "readtex.c"   /* I know, this is a hack.  KW: me too. */
 #define TEXTURE_FILE "../images/reflect.rgb"
 
 #define LIT                 0x1
diff --git a/progs/demos/lodbias.c b/progs/demos/lodbias.c
index 1d01502..b2fab0b 100644
--- a/progs/demos/lodbias.c
+++ b/progs/demos/lodbias.c
@@ -33,7 +33,7 @@
 #include <GL/glut.h>
 #include <GL/glext.h>
 
-#include "../util/readtex.c"   /* I know, this is a hack. */
+#include "readtex.c"   /* I know, this is a hack. */
 
 #define TEXTURE_FILE "../images/girl.rgb"
 
diff --git a/progs/demos/multiarb.c b/progs/demos/multiarb.c
index aa0beb9..2d73098 100644
--- a/progs/demos/multiarb.c
+++ b/progs/demos/multiarb.c
@@ -1,4 +1,4 @@
-/* $Id: multiarb.c,v 1.7 2000/11/01 16:02:01 brianp Exp $ */
+/* $Id: multiarb.c,v 1.8 2000/12/24 22:53:54 pesco Exp $ */
 
 /*
  * GL_ARB_multitexture demo
@@ -12,6 +12,32 @@
 
 /*
  * $Log: multiarb.c,v $
+ * Revision 1.8  2000/12/24 22:53:54  pesco
+ * * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
+ * * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
+ * Essentially the same.
+ * Program files updated to include "readtex.c", not "../util/readtex.c".
+ * * demos/reflect.c: Likewise for "showbuffer.c".
+ *
+ *
+ * * Makefile.am (EXTRA_DIST): Added top-level regular files.
+ *
+ * * include/GL/Makefile.am (INC_X11): Added glxext.h.
+ *
+ *
+ * * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include
+ * Mesa GGI headers in dist even if HAVE_GGI is not given.
+ *
+ * * configure.in: Look for GLUT and demo source dirs in $srcdir.
+ *
+ * * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch].
+ * More source list updates in various Makefile.am's.
+ *
+ * * Makefile.am (dist-hook): Remove CVS directory from distribution.
+ * (DIST_SUBDIRS): List all possible subdirs here.
+ * (SUBDIRS): Only list subdirs selected for build again.
+ * The above two applied to all subdir Makefile.am's also.
+ *
  * Revision 1.7  2000/11/01 16:02:01  brianp
  * print number of texture units
  *
@@ -51,7 +77,7 @@
 #include <string.h>
 #include <GL/glut.h>
 
-#include "../util/readtex.c"   /* I know, this is a hack. */
+#include "readtex.c"   /* I know, this is a hack. */
 
 #define TEXTURE_1_FILE "../images/girl.rgb"
 #define TEXTURE_2_FILE "../images/reflect.rgb"
diff --git a/progs/demos/pixeltex.c b/progs/demos/pixeltex.c
index 4516b3f..96e46ef 100644
--- a/progs/demos/pixeltex.c
+++ b/progs/demos/pixeltex.c
@@ -56,7 +56,7 @@
 #include <string.h>
 #include <GL/glut.h>
 #include <GL/glext.h>
-#include "../util/readtex.c"   /* I know, this is a hack. */
+#include "readtex.c"   /* I know, this is a hack. */
 
 #define TEXTURE_FILE "../images/girl.rgb"
 
diff --git a/progs/demos/reflect.c b/progs/demos/reflect.c
index 6713e04..0d72c9d 100644
--- a/progs/demos/reflect.c
+++ b/progs/demos/reflect.c
@@ -1,4 +1,4 @@
-/* $Id: reflect.c,v 1.4 2000/09/15 16:43:57 brianp Exp $ */
+/* $Id: reflect.c,v 1.5 2000/12/24 22:53:54 pesco Exp $ */
 
 /*
  * Demo of a reflective, texture-mapped surface with OpenGL.
@@ -32,8 +32,8 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include "GL/glut.h"
-#include "../util/showbuffer.c"
-#include "../util/readtex.c"
+#include "showbuffer.c"
+#include "readtex.c"
 
 
 #define DEG2RAD (3.14159/180.0)
diff --git a/progs/demos/teapot.c b/progs/demos/teapot.c
index 93d1fcb..cb1ba4b 100644
--- a/progs/demos/teapot.c
+++ b/progs/demos/teapot.c
@@ -16,7 +16,7 @@
 #endif
 
 #include <GL/glut.h>
-#include "../util/readtex.c"
+#include "readtex.c"
 #include "shadow.c"
 
 #ifdef XMESA
diff --git a/progs/demos/texcyl.c b/progs/demos/texcyl.c
index a0e6224..30aded2 100644
--- a/progs/demos/texcyl.c
+++ b/progs/demos/texcyl.c
@@ -1,4 +1,4 @@
-/* $Id: texcyl.c,v 1.3 2000/09/29 23:09:39 brianp Exp $ */
+/* $Id: texcyl.c,v 1.4 2000/12/24 22:53:54 pesco Exp $ */
 
 /*
  * Textured cylinder demo: lighting, texturing, reflection mapping.
@@ -12,6 +12,32 @@
 
 /*
  * $Log: texcyl.c,v $
+ * Revision 1.4  2000/12/24 22:53:54  pesco
+ * * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
+ * * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
+ * Essentially the same.
+ * Program files updated to include "readtex.c", not "../util/readtex.c".
+ * * demos/reflect.c: Likewise for "showbuffer.c".
+ *
+ *
+ * * Makefile.am (EXTRA_DIST): Added top-level regular files.
+ *
+ * * include/GL/Makefile.am (INC_X11): Added glxext.h.
+ *
+ *
+ * * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include
+ * Mesa GGI headers in dist even if HAVE_GGI is not given.
+ *
+ * * configure.in: Look for GLUT and demo source dirs in $srcdir.
+ *
+ * * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch].
+ * More source list updates in various Makefile.am's.
+ *
+ * * Makefile.am (dist-hook): Remove CVS directory from distribution.
+ * (DIST_SUBDIRS): List all possible subdirs here.
+ * (SUBDIRS): Only list subdirs selected for build again.
+ * The above two applied to all subdir Makefile.am's also.
+ *
  * Revision 1.3  2000/09/29 23:09:39  brianp
  * added fps output
  *
@@ -41,7 +67,7 @@
 #include <math.h>
 #include <GL/glut.h>
 
-#include "../util/readtex.c"   /* I know, this is a hack. */
+#include "readtex.c"   /* I know, this is a hack. */
 
 #define TEXTURE_FILE "../images/reflect.rgb"
 
diff --git a/progs/demos/tunnel.c b/progs/demos/tunnel.c
index 431d286..2244024 100644
--- a/progs/demos/tunnel.c
+++ b/progs/demos/tunnel.c
@@ -16,7 +16,7 @@
 #endif
 
 #include <GL/glut.h>
-#include "../util/readtex.c"
+#include "readtex.c"
 #include "tunneldat.c"
 
 #ifdef XMESA
diff --git a/progs/demos/tunnel2.c b/progs/demos/tunnel2.c
index e82c2c6..3a6e9f8 100644
--- a/progs/demos/tunnel2.c
+++ b/progs/demos/tunnel2.c
@@ -19,7 +19,7 @@
 #endif
 
 #include <GL/glut.h>
-#include "../util/readtex.c"
+#include "readtex.c"
 #include "tunneldat.c"
 
 #ifdef FX
diff --git a/progs/demos/winpos.c b/progs/demos/winpos.c
index 7001165..b799657 100644
--- a/progs/demos/winpos.c
+++ b/progs/demos/winpos.c
@@ -1,4 +1,4 @@
-/* $Id: winpos.c,v 1.2 2000/06/27 17:04:43 brianp Exp $ */
+/* $Id: winpos.c,v 1.3 2000/12/24 22:53:54 pesco Exp $ */
 
 /*
  * Example of how to use the GL_MESA_window_pos extension.
@@ -8,6 +8,32 @@
 
 /*
  * $Log: winpos.c,v $
+ * Revision 1.3  2000/12/24 22:53:54  pesco
+ * * demos/Makefile.am (INCLUDES): Added -I$(top_srcdir)/util.
+ * * demos/Makefile.X11, demos/Makefile.BeOS-R4, demos/Makefile.cygnus:
+ * Essentially the same.
+ * Program files updated to include "readtex.c", not "../util/readtex.c".
+ * * demos/reflect.c: Likewise for "showbuffer.c".
+ *
+ *
+ * * Makefile.am (EXTRA_DIST): Added top-level regular files.
+ *
+ * * include/GL/Makefile.am (INC_X11): Added glxext.h.
+ *
+ *
+ * * src/GGI/include/ggi/mesa/Makefile.am (EXTRA_HEADERS): Include
+ * Mesa GGI headers in dist even if HAVE_GGI is not given.
+ *
+ * * configure.in: Look for GLUT and demo source dirs in $srcdir.
+ *
+ * * src/swrast/Makefile.am (libMesaSwrast_la_SOURCES): Set to *.[ch].
+ * More source list updates in various Makefile.am's.
+ *
+ * * Makefile.am (dist-hook): Remove CVS directory from distribution.
+ * (DIST_SUBDIRS): List all possible subdirs here.
+ * (SUBDIRS): Only list subdirs selected for build again.
+ * The above two applied to all subdir Makefile.am's also.
+ *
  * Revision 1.2  2000/06/27 17:04:43  brianp
  * fixed compiler warnings
  *
@@ -36,7 +62,7 @@
 #define GL_GLEXT_LEGACY
 #include "GL/glut.h"
 
-#include "../util/readtex.c"  /* a hack, I know */
+#include "readtex.c"  /* a hack, I know */
 
 #define IMAGE_FILE "../images/girl.rgb"
 
