diff --git a/progs/SConscript b/progs/SConscript
index 68a48b4..6484c76 100644
--- a/progs/SConscript
+++ b/progs/SConscript
@@ -1,7 +1,8 @@
 SConscript([
     'util/SConscript',
     'demos/SConscript',
-    'trivial/SConscript',
     'redbook/SConscript',
+    'samples/SConscript',
+    'trivial/SConscript',
     'vp/SConscript',
 ])
diff --git a/progs/samples/Makefile b/progs/samples/Makefile
index 63dca07..b300e38 100644
--- a/progs/samples/Makefile
+++ b/progs/samples/Makefile
@@ -7,7 +7,7 @@
 
 LIB_DEP = $(TOP)/$(LIB_DIR)/$(GL_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLU_LIB_NAME) $(TOP)/$(LIB_DIR)/$(GLUT_LIB_NAME)
 
-LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
+LIBS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLEW_LIB) -l$(GLU_LIB) -l$(GL_LIB) $(APP_LIB_DEPS)
 
 PROGS = accum bitmap1 bitmap2 blendeq blendxor copy cursor depth eval fog \
 	font line logo nurb olympic overlay point prim quad select \
diff --git a/progs/samples/SConscript b/progs/samples/SConscript
new file mode 100644
index 0000000..7a8a0d62
--- /dev/null
+++ b/progs/samples/SConscript
@@ -0,0 +1,58 @@
+Import('*')
+
+if not env['GLUT']:
+    Return()
+
+env = env.Clone()
+
+env.Prepend(CPPPATH = [
+	'../util',
+])
+
+env.Prepend(LIBS = [
+	util,
+	'$GLUT_LIB'
+])
+
+if env['platform'] == 'windows':
+    env.Append(CPPDEFINES = ['NOMINMAX'])
+    env.Prepend(LIBS = ['winmm'])
+
+progs = [
+    'accum',
+    'bitmap1',
+    'bitmap2',
+    'blendeq',
+    'blendxor',
+    'copy',
+    'cursor',
+    'depth',
+    'eval',
+    'fog',
+    'font',
+    'line',
+    'logo',
+    'nurb',
+    #'oglinfo',
+    'olympic',
+    'overlay',
+    'point',
+    'prim',
+    'quad',
+    'rgbtoppm',
+    'select',
+    'shape',
+    'sphere',
+    'star',
+    'stencil',
+    'stretch',
+    'texture',
+    'tri',
+    'wave',
+]
+
+for prog in progs:
+    env.Program(
+        target = prog,
+        source = prog + '.c',
+    )
diff --git a/progs/samples/blendeq.c b/progs/samples/blendeq.c
index d5143ec..cd0474c 100644
--- a/progs/samples/blendeq.c
+++ b/progs/samples/blendeq.c
@@ -11,10 +11,7 @@
 #include <string.h>
 #include <stdlib.h>
 #include <stdio.h>
-#ifdef _WIN32
-#include <windows.h>
-#endif
-#define GL_GLEXT_PROTOTYPES
+#include <GL/glew.h>
 #include <GL/glut.h>
 
 GLenum doubleBuffer;
@@ -274,6 +271,8 @@
 	exit(1);
     }
 
+    glewInit();
+
     /* Make sure blend_logic_op extension is there. */
     s = (char *) glGetString(GL_EXTENSIONS);
     version = (char*) glGetString(GL_VERSION);
diff --git a/progs/samples/blendxor.c b/progs/samples/blendxor.c
index 5bc4aa9..0571436 100644
--- a/progs/samples/blendxor.c
+++ b/progs/samples/blendxor.c
@@ -10,13 +10,8 @@
 #include <unistd.h>
 #endif
 #include <stdlib.h>
-#ifdef _WIN32
-#include <windows.h>
-#endif
-#define GL_GLEXT_LEGACY
-#define GL_GLEXT_PROTOTYPES
+#include <GL/glew.h>
 #include <GL/glut.h>
-#include <GL/glext.h>
 
 
 GLenum doubleBuffer;
@@ -176,6 +171,8 @@
 	exit(1);
     }
 
+    glewInit();
+
     /* Make sure blend_logic_op extension is there. */
     s = (char *) glGetString(GL_EXTENSIONS);
     version = (char*) glGetString(GL_VERSION);
