From http://www.jwz.org/xscreensaver/xscreensaver-5.38.tar.gz
[xscreensaver] / hacks / glx / Makefile.in
index 50ad7225e7a6132b0d4eaea065b04118277cc387..56443f1b29552c2d79319f7e1e8b9b2481e7f48f 100644 (file)
@@ -82,10 +82,10 @@ UTILDIR_OBJS        = $(UTILS_BIN)/colors.o $(UTILS_BIN)/grabclient.o \
                  $(UTILS_BIN)/aligned_malloc.o $(UTILS_BIN)/thread_util.o \
                  $(UTILS_BIN)/spline.o $(UTILS_BIN)/pow2.o
 JWXYZ_OBJS     = $(JWXYZ_BIN)/jwzgles.o
-HACKDIR_OBJS   = $(HACK_SRC)/screenhack.o $(UTILS_SRC)/xlockmore.o \
+HACKDIR_OBJS   = $(HACK_SRC)/screenhack.o $(HACK_SRC)/xlockmore.o \
                  $(HACK_SRC)/fps.o
 
-SRCS           = xscreensaver-gl-helper.c normals.c fps-gl.c \
+SRCS           = xscreensaver-gl-helper.c normals.c erase-gl.c fps-gl.c \
                  atlantis.c b_draw.c b_lockglue.c b_sphere.c bubble3d.c \
                  buildlwo.c cage.c dolphin.c gears.c lament.c lament_model.c \
                  moebius.c morph3d.c pipeobjs.c pipes.c rubik.c s1_1.c s1_2.c \
@@ -128,9 +128,9 @@ SRCS                = xscreensaver-gl-helper.c normals.c fps-gl.c \
                  cityflow.c romanboy.c splitflap.c splitflap_obj.c \
                  dymaxionmap.c unicrud.c energystream.c raverhoop.c \
                  hydrostat.c discoball.c cubetwist.c cubestack.c splodesic.c \
-                 hexstrut.c vigilance.c seccam.c
+                 hexstrut.c vigilance.c seccam.c esper.c
 
-OBJS           = xscreensaver-gl-helper.o normals.o fps-gl.o \
+OBJS           = xscreensaver-gl-helper.o normals.o erase-gl.o fps-gl.o \
                  atlantis.o b_draw.o b_lockglue.o b_sphere.o bubble3d.o \
                  buildlwo.o cage.o dolphin.o gears.o lament.o lament_model.o \
                  moebius.o morph3d.o pipeobjs.o pipes.o rubik.o s1_1.o s1_2.o \
@@ -173,7 +173,7 @@ OBJS                = xscreensaver-gl-helper.o normals.o fps-gl.o \
                  cityflow.o romanboy.o splitflap.o splitflap_obj.o \
                  dymaxionmap.o unicrud.o energystream.o raverhoop.o \
                  hydrostat.o discoball.o cubetwist.o cubestack.o splodesic.o \
-                 hexstrut.o vigilance.o seccam.o
+                 hexstrut.o vigilance.o seccam.o esper.o
 
 GL_EXES                = cage gears moebius pipes sproingies stairs superquadrics \
                  morph3d rubik atlantis lament bubble3d glplanet pulsar \
@@ -193,7 +193,7 @@ GL_EXES             = cage gears moebius pipes sproingies stairs superquadrics \
                  geodesicgears projectiveplane winduprobot cityflow romanboy \
                  splitflap dymaxionmap unicrud energystream raverhoop \
                  hydrostat discoball cubetwist cubestack splodesic \
-                 hexstrut vigilance
+                 hexstrut vigilance esper
 GLE_EXES       = extrusion
 SUID_EXES      = sonar
 GL_UTIL_EXES   = xscreensaver-gl-helper
@@ -211,8 +211,8 @@ RETIRED_GL_EXES     = glforestfire
 
 FPS_OBJS       = texfont.o $(HACK_BIN)/fps.o fps-gl.o @XFT_OBJS@
 HACK_OBJS      = $(JWZGLES_OBJS) $(HACK_BIN)/screenhack.o @ANIM_OBJS@ \
-                 xlockmore-gl.o xlock-gl-utils.o ${FPS_OBJS} \
-                 $(UTILS_BIN)/resources.o $(UTILS_BIN)/visual.o \
+                 $(HACK_BIN)/xlockmore.o xlock-gl-utils.o erase-gl.o \
+                 ${FPS_OBJS} $(UTILS_BIN)/resources.o $(UTILS_BIN)/visual.o \
                  $(UTILS_BIN)/visual-gl.o $(UTILS_BIN)/usleep.o \
                  $(UTILS_BIN)/yarandom.o $(UTILS_BIN)/hsv.o \
                  $(UTILS_BIN)/colors.o $(UTILS_BIN)/async_netdb.o \
@@ -222,13 +222,13 @@ HACK_OBJS = $(JWZGLES_OBJS) $(HACK_BIN)/screenhack.o @ANIM_OBJS@ \
 HDRS           = atlantis.h bubble3d.h buildlwo.h e_textures.h xpm-ximage.h \
                  grab-ximage.h tube.h sphere.h boxed.h \
                  stonerview.h stonerview-move.h stonerview-osc.h \
-                 glutstroke.h glut_roman.h marching.h rotator.h trackball.h \
-                 gltrackball.h chessmodels.h chessgames.h gllist.h flurry.h \
-                 tunnel_draw.h ants.h polyhedra.h normals.h \
-                 texfont.h tangram_shapes.h sproingies.h extrusion.h \
-                 glschool.h glschool_gl.h glschool_alg.h topblock.h \
-                 involute.h teapot.h sonar.h dropshadow.h starwars.h \
-                 teapot2.h dnapizza.h curlicue.h
+                 glutstroke.h glut_roman.h glut_mroman.h marching.h \
+                 rotator.h trackball.h gltrackball.h chessmodels.h \
+                 chessgames.h gllist.h flurry.h tunnel_draw.h ants.h \
+                 polyhedra.h normals.h texfont.h tangram_shapes.h \
+                 sproingies.h extrusion.h glschool.h glschool_gl.h \
+                 glschool_alg.h topblock.h involute.h teapot.h sonar.h \
+                 dropshadow.h starwars.h teapot2.h dnapizza.h curlicue.h
 GL_MEN         = atlantis.man boxed.man bubble3d.man cage.man circuit.man \
                  cubenetic.man dangerball.man engine.man extrusion.man \
                  flipscreen3d.man gears.man gflux.man \
@@ -256,7 +256,7 @@ GL_MEN              = atlantis.man boxed.man bubble3d.man cage.man circuit.man \
                  cityflow.man romanboy.man splitflap.man dymaxionmap.man \
                  unicrud.man energystream.man raverhoop.man hydrostat.man \
                  discoball.man cubetwist.man cubestack.man splodesic.man \
-                 hexstrut.man vigilance.man
+                 hexstrut.man vigilance.man esper.man
 MEN            = @GL_MEN@
 RETIRED_MEN    = glforestfire.man
 EXTRAS         = README Makefile.in dxf2gl.pl vrml2gl.pl wfront2gl.pl \
@@ -529,12 +529,10 @@ xscreensaver-gl-helper: $(HELPER_OBJS)
        $(CC) $(LDFLAGS) -o $@ $(HELPER_OBJS) $(LIBS) $(X_LIBS) $(HACK_POST2)
 
 
-# These hacks use a slightly-differently-compiled variant of xlockmore.c.
+# These hacks use a slightly-differently-compiled variant of recanim.c.
 # This is how to make the the other .o file from it.
 #
 XLM_CFLAGS=-DUSE_GL $(INCLUDES) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS)
-xlockmore-gl.o: $(HACK_SRC)/xlockmore.c
-       $(CC) -o $@ -c $(XLM_CFLAGS) $(HACK_SRC)/xlockmore.c
 recanim-gl.o: $(HACK_SRC)/recanim.c
        $(CC) -o $@ -c $(XLM_CFLAGS) $(HACK_SRC)/recanim.c
 
@@ -965,6 +963,9 @@ splodesic:  splodesic.o     $(HACK_TRACK_OBJS)
 hexstrut:      hexstrut.o       normals.o $(HACK_TRACK_OBJS)
        $(CC_HACK) -o $@ $@.o    normals.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
 
+esper: esper.o                 $(HACK_GRAB_OBJS)
+       $(CC_HACK) -o $@ $@.o   $(HACK_GRAB_OBJS) $(HACK_LIBS)
+
 ##############################################################################
 #
 # DO NOT DELETE: updated by make distdepend
@@ -975,12 +976,12 @@ antinspect.o: $(srcdir)/gltrackball.h
 antinspect.o: $(HACK_SRC)/screenhackI.h
 antinspect.o: $(srcdir)/sphere.h
 antinspect.o: $(UTILS_SRC)/colors.h
+antinspect.o: $(UTILS_SRC)/erase.h
 antinspect.o: $(UTILS_SRC)/grabscreen.h
 antinspect.o: $(UTILS_SRC)/hsv.h
 antinspect.o: $(UTILS_SRC)/resources.h
 antinspect.o: $(UTILS_SRC)/usleep.h
 antinspect.o: $(UTILS_SRC)/visual.h
-antinspect.o: $(UTILS_SRC)/xshm.h
 antinspect.o: $(UTILS_SRC)/yarandom.h
 antinspect.o: $(HACK_SRC)/xlockmoreI.h
 antinspect.o: $(HACK_SRC)/xlockmore.h
@@ -993,12 +994,12 @@ antmaze.o: $(HACK_SRC)/screenhackI.h
 antmaze.o: $(srcdir)/sphere.h
 antmaze.o: $(srcdir)/tube.h
 antmaze.o: $(UTILS_SRC)/colors.h
+antmaze.o: $(UTILS_SRC)/erase.h
 antmaze.o: $(UTILS_SRC)/grabscreen.h
 antmaze.o: $(UTILS_SRC)/hsv.h
 antmaze.o: $(UTILS_SRC)/resources.h
 antmaze.o: $(UTILS_SRC)/usleep.h
 antmaze.o: $(UTILS_SRC)/visual.h
-antmaze.o: $(UTILS_SRC)/xshm.h
 antmaze.o: $(UTILS_SRC)/yarandom.h
 antmaze.o: $(HACK_SRC)/xlockmoreI.h
 antmaze.o: $(HACK_SRC)/xlockmore.h
@@ -1012,12 +1013,12 @@ antspotlight.o: $(HACK_SRC)/screenhackI.h
 antspotlight.o: $(srcdir)/sphere.h
 antspotlight.o: $(srcdir)/tube.h
 antspotlight.o: $(UTILS_SRC)/colors.h
+antspotlight.o: $(UTILS_SRC)/erase.h
 antspotlight.o: $(UTILS_SRC)/grabscreen.h
 antspotlight.o: $(UTILS_SRC)/hsv.h
 antspotlight.o: $(UTILS_SRC)/resources.h
 antspotlight.o: $(UTILS_SRC)/usleep.h
 antspotlight.o: $(UTILS_SRC)/visual.h
-antspotlight.o: $(UTILS_SRC)/xshm.h
 antspotlight.o: $(UTILS_SRC)/yarandom.h
 antspotlight.o: $(HACK_SRC)/xlockmoreI.h
 antspotlight.o: $(HACK_SRC)/xlockmore.h
@@ -1027,12 +1028,12 @@ atlantis.o: $(HACK_SRC)/fps.h
 atlantis.o: $(HACK_SRC)/images/sea-texture.xpm
 atlantis.o: $(HACK_SRC)/screenhackI.h
 atlantis.o: $(UTILS_SRC)/colors.h
+atlantis.o: $(UTILS_SRC)/erase.h
 atlantis.o: $(UTILS_SRC)/grabscreen.h
 atlantis.o: $(UTILS_SRC)/hsv.h
 atlantis.o: $(UTILS_SRC)/resources.h
 atlantis.o: $(UTILS_SRC)/usleep.h
 atlantis.o: $(UTILS_SRC)/visual.h
-atlantis.o: $(UTILS_SRC)/xshm.h
 atlantis.o: $(UTILS_SRC)/yarandom.h
 atlantis.o: $(HACK_SRC)/xlockmoreI.h
 atlantis.o: $(HACK_SRC)/xlockmore.h
@@ -1048,12 +1049,12 @@ atunnel.o: $(HACK_SRC)/images/tunnel5.xpm
 atunnel.o: $(HACK_SRC)/screenhackI.h
 atunnel.o: $(srcdir)/tunnel_draw.h
 atunnel.o: $(UTILS_SRC)/colors.h
+atunnel.o: $(UTILS_SRC)/erase.h
 atunnel.o: $(UTILS_SRC)/grabscreen.h
 atunnel.o: $(UTILS_SRC)/hsv.h
 atunnel.o: $(UTILS_SRC)/resources.h
 atunnel.o: $(UTILS_SRC)/usleep.h
 atunnel.o: $(UTILS_SRC)/visual.h
-atunnel.o: $(UTILS_SRC)/xshm.h
 atunnel.o: $(UTILS_SRC)/yarandom.h
 atunnel.o: $(HACK_SRC)/xlockmoreI.h
 atunnel.o: $(HACK_SRC)/xlockmore.h
@@ -1063,12 +1064,12 @@ b_draw.o: ../../config.h
 b_draw.o: $(HACK_SRC)/fps.h
 b_draw.o: $(HACK_SRC)/screenhackI.h
 b_draw.o: $(UTILS_SRC)/colors.h
+b_draw.o: $(UTILS_SRC)/erase.h
 b_draw.o: $(UTILS_SRC)/grabscreen.h
 b_draw.o: $(UTILS_SRC)/hsv.h
 b_draw.o: $(UTILS_SRC)/resources.h
 b_draw.o: $(UTILS_SRC)/usleep.h
 b_draw.o: $(UTILS_SRC)/visual.h
-b_draw.o: $(UTILS_SRC)/xshm.h
 b_draw.o: $(UTILS_SRC)/yarandom.h
 b_draw.o: $(HACK_SRC)/xlockmoreI.h
 blinkbox.o: ../../config.h
@@ -1076,12 +1077,12 @@ blinkbox.o: $(HACK_SRC)/fps.h
 blinkbox.o: $(HACK_SRC)/screenhackI.h
 blinkbox.o: $(srcdir)/sphere.h
 blinkbox.o: $(UTILS_SRC)/colors.h
+blinkbox.o: $(UTILS_SRC)/erase.h
 blinkbox.o: $(UTILS_SRC)/grabscreen.h
 blinkbox.o: $(UTILS_SRC)/hsv.h
 blinkbox.o: $(UTILS_SRC)/resources.h
 blinkbox.o: $(UTILS_SRC)/usleep.h
 blinkbox.o: $(UTILS_SRC)/visual.h
-blinkbox.o: $(UTILS_SRC)/xshm.h
 blinkbox.o: $(UTILS_SRC)/yarandom.h
 blinkbox.o: $(HACK_SRC)/xlockmoreI.h
 blinkbox.o: $(HACK_SRC)/xlockmore.h
@@ -1090,12 +1091,12 @@ b_lockglue.o: ../../config.h
 b_lockglue.o: $(HACK_SRC)/fps.h
 b_lockglue.o: $(HACK_SRC)/screenhackI.h
 b_lockglue.o: $(UTILS_SRC)/colors.h
+b_lockglue.o: $(UTILS_SRC)/erase.h
 b_lockglue.o: $(UTILS_SRC)/grabscreen.h
 b_lockglue.o: $(UTILS_SRC)/hsv.h
 b_lockglue.o: $(UTILS_SRC)/resources.h
 b_lockglue.o: $(UTILS_SRC)/usleep.h
 b_lockglue.o: $(UTILS_SRC)/visual.h
-b_lockglue.o: $(UTILS_SRC)/xshm.h
 b_lockglue.o: $(UTILS_SRC)/yarandom.h
 b_lockglue.o: $(HACK_SRC)/xlockmoreI.h
 b_lockglue.o: $(HACK_SRC)/xlockmore.h
@@ -1104,12 +1105,12 @@ blocktube.o: $(HACK_SRC)/fps.h
 blocktube.o: $(HACK_SRC)/images/blocktube.xpm
 blocktube.o: $(HACK_SRC)/screenhackI.h
 blocktube.o: $(UTILS_SRC)/colors.h
+blocktube.o: $(UTILS_SRC)/erase.h
 blocktube.o: $(UTILS_SRC)/grabscreen.h
 blocktube.o: $(UTILS_SRC)/hsv.h
 blocktube.o: $(UTILS_SRC)/resources.h
 blocktube.o: $(UTILS_SRC)/usleep.h
 blocktube.o: $(UTILS_SRC)/visual.h
-blocktube.o: $(UTILS_SRC)/xshm.h
 blocktube.o: $(UTILS_SRC)/yarandom.h
 blocktube.o: $(HACK_SRC)/xlockmoreI.h
 blocktube.o: $(HACK_SRC)/xlockmore.h
@@ -1119,12 +1120,12 @@ boing.o: $(HACK_SRC)/fps.h
 boing.o: $(srcdir)/gltrackball.h
 boing.o: $(HACK_SRC)/screenhackI.h
 boing.o: $(UTILS_SRC)/colors.h
+boing.o: $(UTILS_SRC)/erase.h
 boing.o: $(UTILS_SRC)/grabscreen.h
 boing.o: $(UTILS_SRC)/hsv.h
 boing.o: $(UTILS_SRC)/resources.h
 boing.o: $(UTILS_SRC)/usleep.h
 boing.o: $(UTILS_SRC)/visual.h
-boing.o: $(UTILS_SRC)/xshm.h
 boing.o: $(UTILS_SRC)/yarandom.h
 boing.o: $(HACK_SRC)/xlockmoreI.h
 boing.o: $(HACK_SRC)/xlockmore.h
@@ -1135,12 +1136,12 @@ bouncingcow.o: $(srcdir)/gltrackball.h
 bouncingcow.o: $(srcdir)/rotator.h
 bouncingcow.o: $(HACK_SRC)/screenhackI.h
 bouncingcow.o: $(UTILS_SRC)/colors.h
+bouncingcow.o: $(UTILS_SRC)/erase.h
 bouncingcow.o: $(UTILS_SRC)/grabscreen.h
 bouncingcow.o: $(UTILS_SRC)/hsv.h
 bouncingcow.o: $(UTILS_SRC)/resources.h
 bouncingcow.o: $(UTILS_SRC)/usleep.h
 bouncingcow.o: $(UTILS_SRC)/visual.h
-bouncingcow.o: $(UTILS_SRC)/xshm.h
 bouncingcow.o: $(UTILS_SRC)/yarandom.h
 bouncingcow.o: $(HACK_SRC)/xlockmoreI.h
 bouncingcow.o: $(HACK_SRC)/xlockmore.h
@@ -1150,12 +1151,12 @@ boxed.o: ../../config.h
 boxed.o: $(HACK_SRC)/fps.h
 boxed.o: $(HACK_SRC)/screenhackI.h
 boxed.o: $(UTILS_SRC)/colors.h
+boxed.o: $(UTILS_SRC)/erase.h
 boxed.o: $(UTILS_SRC)/grabscreen.h
 boxed.o: $(UTILS_SRC)/hsv.h
 boxed.o: $(UTILS_SRC)/resources.h
 boxed.o: $(UTILS_SRC)/usleep.h
 boxed.o: $(UTILS_SRC)/visual.h
-boxed.o: $(UTILS_SRC)/xshm.h
 boxed.o: $(UTILS_SRC)/yarandom.h
 boxed.o: $(HACK_SRC)/xlockmoreI.h
 boxed.o: $(HACK_SRC)/xlockmore.h
@@ -1164,12 +1165,12 @@ b_sphere.o: ../../config.h
 b_sphere.o: $(HACK_SRC)/fps.h
 b_sphere.o: $(HACK_SRC)/screenhackI.h
 b_sphere.o: $(UTILS_SRC)/colors.h
+b_sphere.o: $(UTILS_SRC)/erase.h
 b_sphere.o: $(UTILS_SRC)/grabscreen.h
 b_sphere.o: $(UTILS_SRC)/hsv.h
 b_sphere.o: $(UTILS_SRC)/resources.h
 b_sphere.o: $(UTILS_SRC)/usleep.h
 b_sphere.o: $(UTILS_SRC)/visual.h
-b_sphere.o: $(UTILS_SRC)/xshm.h
 b_sphere.o: $(UTILS_SRC)/yarandom.h
 b_sphere.o: $(HACK_SRC)/xlockmoreI.h
 bubble3d.o: $(srcdir)/bubble3d.h
@@ -1177,12 +1178,12 @@ bubble3d.o: ../../config.h
 bubble3d.o: $(HACK_SRC)/fps.h
 bubble3d.o: $(HACK_SRC)/screenhackI.h
 bubble3d.o: $(UTILS_SRC)/colors.h
+bubble3d.o: $(UTILS_SRC)/erase.h
 bubble3d.o: $(UTILS_SRC)/grabscreen.h
 bubble3d.o: $(UTILS_SRC)/hsv.h
 bubble3d.o: $(UTILS_SRC)/resources.h
 bubble3d.o: $(UTILS_SRC)/usleep.h
 bubble3d.o: $(UTILS_SRC)/visual.h
-bubble3d.o: $(UTILS_SRC)/xshm.h
 bubble3d.o: $(UTILS_SRC)/yarandom.h
 bubble3d.o: $(HACK_SRC)/xlockmoreI.h
 buildlwo.o: $(srcdir)/buildlwo.h
@@ -1192,12 +1193,12 @@ cage.o: $(HACK_SRC)/fps.h
 cage.o: $(HACK_SRC)/images/wood.xpm
 cage.o: $(HACK_SRC)/screenhackI.h
 cage.o: $(UTILS_SRC)/colors.h
+cage.o: $(UTILS_SRC)/erase.h
 cage.o: $(UTILS_SRC)/grabscreen.h
 cage.o: $(UTILS_SRC)/hsv.h
 cage.o: $(UTILS_SRC)/resources.h
 cage.o: $(UTILS_SRC)/usleep.h
 cage.o: $(UTILS_SRC)/visual.h
-cage.o: $(UTILS_SRC)/xshm.h
 cage.o: $(UTILS_SRC)/yarandom.h
 cage.o: $(HACK_SRC)/xlockmoreI.h
 cage.o: $(HACK_SRC)/xlockmore.h
@@ -1210,12 +1211,12 @@ carousel.o: $(srcdir)/rotator.h
 carousel.o: $(HACK_SRC)/screenhackI.h
 carousel.o: $(srcdir)/texfont.h
 carousel.o: $(UTILS_SRC)/colors.h
+carousel.o: $(UTILS_SRC)/erase.h
 carousel.o: $(UTILS_SRC)/grabscreen.h
 carousel.o: $(UTILS_SRC)/hsv.h
 carousel.o: $(UTILS_SRC)/resources.h
 carousel.o: $(UTILS_SRC)/usleep.h
 carousel.o: $(UTILS_SRC)/visual.h
-carousel.o: $(UTILS_SRC)/xshm.h
 carousel.o: $(UTILS_SRC)/yarandom.h
 carousel.o: $(HACK_SRC)/xlockmoreI.h
 carousel.o: $(HACK_SRC)/xlockmore.h
@@ -1226,12 +1227,12 @@ circuit.o: $(HACK_SRC)/fps.h
 circuit.o: $(HACK_SRC)/screenhackI.h
 circuit.o: $(srcdir)/texfont.h
 circuit.o: $(UTILS_SRC)/colors.h
+circuit.o: $(UTILS_SRC)/erase.h
 circuit.o: $(UTILS_SRC)/grabscreen.h
 circuit.o: $(UTILS_SRC)/hsv.h
 circuit.o: $(UTILS_SRC)/resources.h
 circuit.o: $(UTILS_SRC)/usleep.h
 circuit.o: $(UTILS_SRC)/visual.h
-circuit.o: $(UTILS_SRC)/xshm.h
 circuit.o: $(UTILS_SRC)/yarandom.h
 circuit.o: $(HACK_SRC)/xlockmoreI.h
 circuit.o: $(HACK_SRC)/xlockmore.h
@@ -1240,12 +1241,12 @@ cityflow.o: $(HACK_SRC)/fps.h
 cityflow.o: $(srcdir)/gltrackball.h
 cityflow.o: $(HACK_SRC)/screenhackI.h
 cityflow.o: $(UTILS_SRC)/colors.h
+cityflow.o: $(UTILS_SRC)/erase.h
 cityflow.o: $(UTILS_SRC)/grabscreen.h
 cityflow.o: $(UTILS_SRC)/hsv.h
 cityflow.o: $(UTILS_SRC)/resources.h
 cityflow.o: $(UTILS_SRC)/usleep.h
 cityflow.o: $(UTILS_SRC)/visual.h
-cityflow.o: $(UTILS_SRC)/xshm.h
 cityflow.o: $(UTILS_SRC)/yarandom.h
 cityflow.o: $(HACK_SRC)/xlockmoreI.h
 cityflow.o: $(HACK_SRC)/xlockmore.h
@@ -1260,12 +1261,12 @@ companion.o: $(srcdir)/gltrackball.h
 companion.o: $(srcdir)/rotator.h
 companion.o: $(HACK_SRC)/screenhackI.h
 companion.o: $(UTILS_SRC)/colors.h
+companion.o: $(UTILS_SRC)/erase.h
 companion.o: $(UTILS_SRC)/grabscreen.h
 companion.o: $(UTILS_SRC)/hsv.h
 companion.o: $(UTILS_SRC)/resources.h
 companion.o: $(UTILS_SRC)/usleep.h
 companion.o: $(UTILS_SRC)/visual.h
-companion.o: $(UTILS_SRC)/xshm.h
 companion.o: $(UTILS_SRC)/yarandom.h
 companion.o: $(HACK_SRC)/xlockmoreI.h
 companion.o: $(HACK_SRC)/xlockmore.h
@@ -1288,12 +1289,12 @@ crackberg.o: ../../config.h
 crackberg.o: $(HACK_SRC)/fps.h
 crackberg.o: $(HACK_SRC)/screenhackI.h
 crackberg.o: $(UTILS_SRC)/colors.h
+crackberg.o: $(UTILS_SRC)/erase.h
 crackberg.o: $(UTILS_SRC)/grabscreen.h
 crackberg.o: $(UTILS_SRC)/hsv.h
 crackberg.o: $(UTILS_SRC)/resources.h
 crackberg.o: $(UTILS_SRC)/usleep.h
 crackberg.o: $(UTILS_SRC)/visual.h
-crackberg.o: $(UTILS_SRC)/xshm.h
 crackberg.o: $(UTILS_SRC)/yarandom.h
 crackberg.o: $(HACK_SRC)/xlockmoreI.h
 crackberg.o: $(HACK_SRC)/xlockmore.h
@@ -1302,12 +1303,12 @@ cube21.o: $(HACK_SRC)/fps.h
 cube21.o: $(srcdir)/gltrackball.h
 cube21.o: $(HACK_SRC)/screenhackI.h
 cube21.o: $(UTILS_SRC)/colors.h
+cube21.o: $(UTILS_SRC)/erase.h
 cube21.o: $(UTILS_SRC)/grabscreen.h
 cube21.o: $(UTILS_SRC)/hsv.h
 cube21.o: $(UTILS_SRC)/resources.h
 cube21.o: $(UTILS_SRC)/usleep.h
 cube21.o: $(UTILS_SRC)/visual.h
-cube21.o: $(UTILS_SRC)/xshm.h
 cube21.o: $(UTILS_SRC)/yarandom.h
 cube21.o: $(HACK_SRC)/xlockmoreI.h
 cube21.o: $(HACK_SRC)/xlockmore.h
@@ -1317,12 +1318,12 @@ cubenetic.o: $(srcdir)/gltrackball.h
 cubenetic.o: $(srcdir)/rotator.h
 cubenetic.o: $(HACK_SRC)/screenhackI.h
 cubenetic.o: $(UTILS_SRC)/colors.h
+cubenetic.o: $(UTILS_SRC)/erase.h
 cubenetic.o: $(UTILS_SRC)/grabscreen.h
 cubenetic.o: $(UTILS_SRC)/hsv.h
 cubenetic.o: $(UTILS_SRC)/resources.h
 cubenetic.o: $(UTILS_SRC)/usleep.h
 cubenetic.o: $(UTILS_SRC)/visual.h
-cubenetic.o: $(UTILS_SRC)/xshm.h
 cubenetic.o: $(UTILS_SRC)/yarandom.h
 cubenetic.o: $(HACK_SRC)/xlockmoreI.h
 cubenetic.o: $(HACK_SRC)/xlockmore.h
@@ -1332,12 +1333,12 @@ cubestack.o: $(srcdir)/gltrackball.h
 cubestack.o: $(srcdir)/rotator.h
 cubestack.o: $(HACK_SRC)/screenhackI.h
 cubestack.o: $(UTILS_SRC)/colors.h
+cubestack.o: $(UTILS_SRC)/erase.h
 cubestack.o: $(UTILS_SRC)/grabscreen.h
 cubestack.o: $(UTILS_SRC)/hsv.h
 cubestack.o: $(UTILS_SRC)/resources.h
 cubestack.o: $(UTILS_SRC)/usleep.h
 cubestack.o: $(UTILS_SRC)/visual.h
-cubestack.o: $(UTILS_SRC)/xshm.h
 cubestack.o: $(UTILS_SRC)/yarandom.h
 cubestack.o: $(HACK_SRC)/xlockmoreI.h
 cubestack.o: $(HACK_SRC)/xlockmore.h
@@ -1347,12 +1348,12 @@ cubestorm.o: $(srcdir)/gltrackball.h
 cubestorm.o: $(srcdir)/rotator.h
 cubestorm.o: $(HACK_SRC)/screenhackI.h
 cubestorm.o: $(UTILS_SRC)/colors.h
+cubestorm.o: $(UTILS_SRC)/erase.h
 cubestorm.o: $(UTILS_SRC)/grabscreen.h
 cubestorm.o: $(UTILS_SRC)/hsv.h
 cubestorm.o: $(UTILS_SRC)/resources.h
 cubestorm.o: $(UTILS_SRC)/usleep.h
 cubestorm.o: $(UTILS_SRC)/visual.h
-cubestorm.o: $(UTILS_SRC)/xshm.h
 cubestorm.o: $(UTILS_SRC)/yarandom.h
 cubestorm.o: $(HACK_SRC)/xlockmoreI.h
 cubestorm.o: $(HACK_SRC)/xlockmore.h
@@ -1363,12 +1364,12 @@ cubetwist.o: $(srcdir)/normals.h
 cubetwist.o: $(srcdir)/rotator.h
 cubetwist.o: $(HACK_SRC)/screenhackI.h
 cubetwist.o: $(UTILS_SRC)/colors.h
+cubetwist.o: $(UTILS_SRC)/erase.h
 cubetwist.o: $(UTILS_SRC)/grabscreen.h
 cubetwist.o: $(UTILS_SRC)/hsv.h
 cubetwist.o: $(UTILS_SRC)/resources.h
 cubetwist.o: $(UTILS_SRC)/usleep.h
 cubetwist.o: $(UTILS_SRC)/visual.h
-cubetwist.o: $(UTILS_SRC)/xshm.h
 cubetwist.o: $(UTILS_SRC)/yarandom.h
 cubetwist.o: $(HACK_SRC)/xlockmoreI.h
 cubetwist.o: $(HACK_SRC)/xlockmore.h
@@ -1378,12 +1379,12 @@ cubicgrid.o: $(srcdir)/gltrackball.h
 cubicgrid.o: $(srcdir)/rotator.h
 cubicgrid.o: $(HACK_SRC)/screenhackI.h
 cubicgrid.o: $(UTILS_SRC)/colors.h
+cubicgrid.o: $(UTILS_SRC)/erase.h
 cubicgrid.o: $(UTILS_SRC)/grabscreen.h
 cubicgrid.o: $(UTILS_SRC)/hsv.h
 cubicgrid.o: $(UTILS_SRC)/resources.h
 cubicgrid.o: $(UTILS_SRC)/usleep.h
 cubicgrid.o: $(UTILS_SRC)/visual.h
-cubicgrid.o: $(UTILS_SRC)/xshm.h
 cubicgrid.o: $(UTILS_SRC)/yarandom.h
 cubicgrid.o: $(HACK_SRC)/xlockmoreI.h
 cubicgrid.o: $(HACK_SRC)/xlockmore.h
@@ -1395,12 +1396,12 @@ dangerball.o: $(HACK_SRC)/screenhackI.h
 dangerball.o: $(srcdir)/sphere.h
 dangerball.o: $(srcdir)/tube.h
 dangerball.o: $(UTILS_SRC)/colors.h
+dangerball.o: $(UTILS_SRC)/erase.h
 dangerball.o: $(UTILS_SRC)/grabscreen.h
 dangerball.o: $(UTILS_SRC)/hsv.h
 dangerball.o: $(UTILS_SRC)/resources.h
 dangerball.o: $(UTILS_SRC)/usleep.h
 dangerball.o: $(UTILS_SRC)/visual.h
-dangerball.o: $(UTILS_SRC)/xshm.h
 dangerball.o: $(UTILS_SRC)/yarandom.h
 dangerball.o: $(HACK_SRC)/xlockmoreI.h
 dangerball.o: $(HACK_SRC)/xlockmore.h
@@ -1411,12 +1412,12 @@ discoball.o: $(srcdir)/normals.h
 discoball.o: $(srcdir)/rotator.h
 discoball.o: $(HACK_SRC)/screenhackI.h
 discoball.o: $(UTILS_SRC)/colors.h
+discoball.o: $(UTILS_SRC)/erase.h
 discoball.o: $(UTILS_SRC)/grabscreen.h
 discoball.o: $(UTILS_SRC)/hsv.h
 discoball.o: $(UTILS_SRC)/resources.h
 discoball.o: $(UTILS_SRC)/usleep.h
 discoball.o: $(UTILS_SRC)/visual.h
-discoball.o: $(UTILS_SRC)/xshm.h
 discoball.o: $(UTILS_SRC)/yarandom.h
 discoball.o: $(HACK_SRC)/xlockmoreI.h
 discoball.o: $(HACK_SRC)/xlockmore.h
@@ -1430,13 +1431,13 @@ dnalogo.o: $(srcdir)/sphere.h
 dnalogo.o: $(srcdir)/texfont.h
 dnalogo.o: $(srcdir)/tube.h
 dnalogo.o: $(UTILS_SRC)/colors.h
+dnalogo.o: $(UTILS_SRC)/erase.h
 dnalogo.o: $(UTILS_SRC)/grabscreen.h
 dnalogo.o: $(UTILS_SRC)/hsv.h
 dnalogo.o: $(UTILS_SRC)/resources.h
 dnalogo.o: $(UTILS_SRC)/usleep.h
 dnalogo.o: $(UTILS_SRC)/utf8wc.h
 dnalogo.o: $(UTILS_SRC)/visual.h
-dnalogo.o: $(UTILS_SRC)/xshm.h
 dnalogo.o: $(UTILS_SRC)/yarandom.h
 dnalogo.o: $(HACK_SRC)/xlockmoreI.h
 dnalogo.o: $(HACK_SRC)/xlockmore.h
@@ -1456,12 +1457,12 @@ dropshadow.o: $(srcdir)/dropshadow.h
 dropshadow.o: $(HACK_SRC)/fps.h
 dropshadow.o: $(HACK_SRC)/screenhackI.h
 dropshadow.o: $(UTILS_SRC)/colors.h
+dropshadow.o: $(UTILS_SRC)/erase.h
 dropshadow.o: $(UTILS_SRC)/grabscreen.h
 dropshadow.o: $(UTILS_SRC)/hsv.h
 dropshadow.o: $(UTILS_SRC)/resources.h
 dropshadow.o: $(UTILS_SRC)/usleep.h
 dropshadow.o: $(UTILS_SRC)/visual.h
-dropshadow.o: $(UTILS_SRC)/xshm.h
 dropshadow.o: $(UTILS_SRC)/yarandom.h
 dropshadow.o: $(HACK_SRC)/xlockmoreI.h
 dymaxionmap.o: ../../config.h
@@ -1475,12 +1476,12 @@ dymaxionmap.o: $(HACK_SRC)/screenhackI.h
 dymaxionmap.o: $(srcdir)/sphere.h
 dymaxionmap.o: $(srcdir)/texfont.h
 dymaxionmap.o: $(UTILS_SRC)/colors.h
+dymaxionmap.o: $(UTILS_SRC)/erase.h
 dymaxionmap.o: $(UTILS_SRC)/grabscreen.h
 dymaxionmap.o: $(UTILS_SRC)/hsv.h
 dymaxionmap.o: $(UTILS_SRC)/resources.h
 dymaxionmap.o: $(UTILS_SRC)/usleep.h
 dymaxionmap.o: $(UTILS_SRC)/visual.h
-dymaxionmap.o: $(UTILS_SRC)/xshm.h
 dymaxionmap.o: $(UTILS_SRC)/yarandom.h
 dymaxionmap.o: $(HACK_SRC)/xlockmoreI.h
 dymaxionmap.o: $(HACK_SRC)/xlockmore.h
@@ -1492,12 +1493,12 @@ endgame.o: $(HACK_SRC)/fps.h
 endgame.o: $(srcdir)/gltrackball.h
 endgame.o: $(HACK_SRC)/screenhackI.h
 endgame.o: $(UTILS_SRC)/colors.h
+endgame.o: $(UTILS_SRC)/erase.h
 endgame.o: $(UTILS_SRC)/grabscreen.h
 endgame.o: $(UTILS_SRC)/hsv.h
 endgame.o: $(UTILS_SRC)/resources.h
 endgame.o: $(UTILS_SRC)/usleep.h
 endgame.o: $(UTILS_SRC)/visual.h
-endgame.o: $(UTILS_SRC)/xshm.h
 endgame.o: $(UTILS_SRC)/yarandom.h
 endgame.o: $(HACK_SRC)/xlockmoreI.h
 endgame.o: $(HACK_SRC)/xlockmore.h
@@ -1507,12 +1508,12 @@ energystream.o: $(srcdir)/gltrackball.h
 energystream.o: $(srcdir)/rotator.h
 energystream.o: $(HACK_SRC)/screenhackI.h
 energystream.o: $(UTILS_SRC)/colors.h
+energystream.o: $(UTILS_SRC)/erase.h
 energystream.o: $(UTILS_SRC)/grabscreen.h
 energystream.o: $(UTILS_SRC)/hsv.h
 energystream.o: $(UTILS_SRC)/resources.h
 energystream.o: $(UTILS_SRC)/usleep.h
 energystream.o: $(UTILS_SRC)/visual.h
-energystream.o: $(UTILS_SRC)/xshm.h
 energystream.o: $(UTILS_SRC)/yarandom.h
 energystream.o: $(HACK_SRC)/xlockmoreI.h
 energystream.o: $(HACK_SRC)/xlockmore.h
@@ -1523,15 +1524,34 @@ engine.o: $(srcdir)/rotator.h
 engine.o: $(HACK_SRC)/screenhackI.h
 engine.o: $(srcdir)/texfont.h
 engine.o: $(UTILS_SRC)/colors.h
+engine.o: $(UTILS_SRC)/erase.h
 engine.o: $(UTILS_SRC)/grabscreen.h
 engine.o: $(UTILS_SRC)/hsv.h
 engine.o: $(UTILS_SRC)/resources.h
 engine.o: $(UTILS_SRC)/usleep.h
 engine.o: $(UTILS_SRC)/visual.h
-engine.o: $(UTILS_SRC)/xshm.h
 engine.o: $(UTILS_SRC)/yarandom.h
 engine.o: $(HACK_SRC)/xlockmoreI.h
 engine.o: $(HACK_SRC)/xlockmore.h
+erase-gl.o: ../../config.h
+erase-gl.o: $(UTILS_SRC)/erase.h
+erase-gl.o: $(UTILS_SRC)/utils.h
+esper.o: ../../config.h
+esper.o: $(HACK_SRC)/fps.h
+esper.o: $(srcdir)/grab-ximage.h
+esper.o: $(HACK_SRC)/screenhackI.h
+esper.o: $(srcdir)/texfont.h
+esper.o: $(UTILS_SRC)/colors.h
+esper.o: $(UTILS_SRC)/erase.h
+esper.o: $(UTILS_SRC)/grabscreen.h
+esper.o: $(UTILS_SRC)/hsv.h
+esper.o: $(UTILS_SRC)/resources.h
+esper.o: $(UTILS_SRC)/usleep.h
+esper.o: $(UTILS_SRC)/visual.h
+esper.o: $(UTILS_SRC)/xshm.h
+esper.o: $(UTILS_SRC)/yarandom.h
+esper.o: $(HACK_SRC)/xlockmoreI.h
+esper.o: $(HACK_SRC)/xlockmore.h
 extrusion-helix2.o: ../../config.h
 extrusion-helix2.o: $(srcdir)/extrusion.h
 extrusion-helix3.o: ../../config.h
@@ -1547,12 +1567,12 @@ extrusion.o: $(srcdir)/gltrackball.h
 extrusion.o: $(srcdir)/rotator.h
 extrusion.o: $(HACK_SRC)/screenhackI.h
 extrusion.o: $(UTILS_SRC)/colors.h
+extrusion.o: $(UTILS_SRC)/erase.h
 extrusion.o: $(UTILS_SRC)/grabscreen.h
 extrusion.o: $(UTILS_SRC)/hsv.h
 extrusion.o: $(UTILS_SRC)/resources.h
 extrusion.o: $(UTILS_SRC)/usleep.h
 extrusion.o: $(UTILS_SRC)/visual.h
-extrusion.o: $(UTILS_SRC)/xshm.h
 extrusion.o: $(UTILS_SRC)/yarandom.h
 extrusion.o: $(HACK_SRC)/xlockmoreI.h
 extrusion.o: $(HACK_SRC)/xlockmore.h
@@ -1569,12 +1589,12 @@ flipflop.o: $(srcdir)/gltrackball.h
 flipflop.o: $(srcdir)/grab-ximage.h
 flipflop.o: $(HACK_SRC)/screenhackI.h
 flipflop.o: $(UTILS_SRC)/colors.h
+flipflop.o: $(UTILS_SRC)/erase.h
 flipflop.o: $(UTILS_SRC)/grabscreen.h
 flipflop.o: $(UTILS_SRC)/hsv.h
 flipflop.o: $(UTILS_SRC)/resources.h
 flipflop.o: $(UTILS_SRC)/usleep.h
 flipflop.o: $(UTILS_SRC)/visual.h
-flipflop.o: $(UTILS_SRC)/xshm.h
 flipflop.o: $(UTILS_SRC)/yarandom.h
 flipflop.o: $(HACK_SRC)/xlockmoreI.h
 flipflop.o: $(HACK_SRC)/xlockmore.h
@@ -1584,12 +1604,12 @@ flipscreen3d.o: $(srcdir)/gltrackball.h
 flipscreen3d.o: $(srcdir)/grab-ximage.h
 flipscreen3d.o: $(HACK_SRC)/screenhackI.h
 flipscreen3d.o: $(UTILS_SRC)/colors.h
+flipscreen3d.o: $(UTILS_SRC)/erase.h
 flipscreen3d.o: $(UTILS_SRC)/grabscreen.h
 flipscreen3d.o: $(UTILS_SRC)/hsv.h
 flipscreen3d.o: $(UTILS_SRC)/resources.h
 flipscreen3d.o: $(UTILS_SRC)/usleep.h
 flipscreen3d.o: $(UTILS_SRC)/visual.h
-flipscreen3d.o: $(UTILS_SRC)/xshm.h
 flipscreen3d.o: $(UTILS_SRC)/yarandom.h
 flipscreen3d.o: $(HACK_SRC)/xlockmoreI.h
 flipscreen3d.o: $(HACK_SRC)/xlockmore.h
@@ -1598,13 +1618,13 @@ fliptext.o: $(HACK_SRC)/fps.h
 fliptext.o: $(HACK_SRC)/screenhackI.h
 fliptext.o: $(srcdir)/texfont.h
 fliptext.o: $(UTILS_SRC)/colors.h
+fliptext.o: $(UTILS_SRC)/erase.h
 fliptext.o: $(UTILS_SRC)/grabscreen.h
 fliptext.o: $(UTILS_SRC)/hsv.h
 fliptext.o: $(UTILS_SRC)/resources.h
 fliptext.o: $(UTILS_SRC)/textclient.h
 fliptext.o: $(UTILS_SRC)/usleep.h
 fliptext.o: $(UTILS_SRC)/visual.h
-fliptext.o: $(UTILS_SRC)/xshm.h
 fliptext.o: $(UTILS_SRC)/yarandom.h
 fliptext.o: $(HACK_SRC)/xlockmoreI.h
 fliptext.o: $(HACK_SRC)/xlockmore.h
@@ -1615,12 +1635,12 @@ flurry.o: $(srcdir)/gltrackball.h
 flurry.o: $(srcdir)/rotator.h
 flurry.o: $(HACK_SRC)/screenhackI.h
 flurry.o: $(UTILS_SRC)/colors.h
+flurry.o: $(UTILS_SRC)/erase.h
 flurry.o: $(UTILS_SRC)/grabscreen.h
 flurry.o: $(UTILS_SRC)/hsv.h
 flurry.o: $(UTILS_SRC)/resources.h
 flurry.o: $(UTILS_SRC)/usleep.h
 flurry.o: $(UTILS_SRC)/visual.h
-flurry.o: $(UTILS_SRC)/xshm.h
 flurry.o: $(UTILS_SRC)/yarandom.h
 flurry.o: $(HACK_SRC)/xlockmoreI.h
 flurry.o: $(HACK_SRC)/xlockmore.h
@@ -1652,12 +1672,12 @@ flyingtoasters.o: $(HACK_SRC)/images/chromesphere.xpm
 flyingtoasters.o: $(HACK_SRC)/images/toast.xpm
 flyingtoasters.o: $(HACK_SRC)/screenhackI.h
 flyingtoasters.o: $(UTILS_SRC)/colors.h
+flyingtoasters.o: $(UTILS_SRC)/erase.h
 flyingtoasters.o: $(UTILS_SRC)/grabscreen.h
 flyingtoasters.o: $(UTILS_SRC)/hsv.h
 flyingtoasters.o: $(UTILS_SRC)/resources.h
 flyingtoasters.o: $(UTILS_SRC)/usleep.h
 flyingtoasters.o: $(UTILS_SRC)/visual.h
-flyingtoasters.o: $(UTILS_SRC)/xshm.h
 flyingtoasters.o: $(UTILS_SRC)/yarandom.h
 flyingtoasters.o: $(HACK_SRC)/xlockmoreI.h
 flyingtoasters.o: $(HACK_SRC)/xlockmore.h
@@ -1668,12 +1688,12 @@ fps-gl.o: $(HACK_SRC)/fps.h
 fps-gl.o: $(HACK_SRC)/screenhackI.h
 fps-gl.o: $(srcdir)/texfont.h
 fps-gl.o: $(UTILS_SRC)/colors.h
+fps-gl.o: $(UTILS_SRC)/erase.h
 fps-gl.o: $(UTILS_SRC)/grabscreen.h
 fps-gl.o: $(UTILS_SRC)/hsv.h
 fps-gl.o: $(UTILS_SRC)/resources.h
 fps-gl.o: $(UTILS_SRC)/usleep.h
 fps-gl.o: $(UTILS_SRC)/visual.h
-fps-gl.o: $(UTILS_SRC)/xshm.h
 fps-gl.o: $(UTILS_SRC)/yarandom.h
 fps-gl.o: $(HACK_SRC)/xlockmoreI.h
 gears.o: ../../config.h
@@ -1685,12 +1705,12 @@ gears.o: $(srcdir)/rotator.h
 gears.o: $(HACK_SRC)/screenhackI.h
 gears.o: $(srcdir)/tube.h
 gears.o: $(UTILS_SRC)/colors.h
+gears.o: $(UTILS_SRC)/erase.h
 gears.o: $(UTILS_SRC)/grabscreen.h
 gears.o: $(UTILS_SRC)/hsv.h
 gears.o: $(UTILS_SRC)/resources.h
 gears.o: $(UTILS_SRC)/usleep.h
 gears.o: $(UTILS_SRC)/visual.h
-gears.o: $(UTILS_SRC)/xshm.h
 gears.o: $(UTILS_SRC)/yarandom.h
 gears.o: $(HACK_SRC)/xlockmoreI.h
 gears.o: $(HACK_SRC)/xlockmore.h
@@ -1704,12 +1724,12 @@ geodesicgears.o: $(srcdir)/rotator.h
 geodesicgears.o: $(HACK_SRC)/screenhackI.h
 geodesicgears.o: $(srcdir)/texfont.h
 geodesicgears.o: $(UTILS_SRC)/colors.h
+geodesicgears.o: $(UTILS_SRC)/erase.h
 geodesicgears.o: $(UTILS_SRC)/grabscreen.h
 geodesicgears.o: $(UTILS_SRC)/hsv.h
 geodesicgears.o: $(UTILS_SRC)/resources.h
 geodesicgears.o: $(UTILS_SRC)/usleep.h
 geodesicgears.o: $(UTILS_SRC)/visual.h
-geodesicgears.o: $(UTILS_SRC)/xshm.h
 geodesicgears.o: $(UTILS_SRC)/yarandom.h
 geodesicgears.o: $(HACK_SRC)/xlockmoreI.h
 geodesicgears.o: $(HACK_SRC)/xlockmore.h
@@ -1721,12 +1741,12 @@ geodesic.o: $(srcdir)/normals.h
 geodesic.o: $(srcdir)/rotator.h
 geodesic.o: $(HACK_SRC)/screenhackI.h
 geodesic.o: $(UTILS_SRC)/colors.h
+geodesic.o: $(UTILS_SRC)/erase.h
 geodesic.o: $(UTILS_SRC)/grabscreen.h
 geodesic.o: $(UTILS_SRC)/hsv.h
 geodesic.o: $(UTILS_SRC)/resources.h
 geodesic.o: $(UTILS_SRC)/usleep.h
 geodesic.o: $(UTILS_SRC)/visual.h
-geodesic.o: $(UTILS_SRC)/xshm.h
 geodesic.o: $(UTILS_SRC)/yarandom.h
 geodesic.o: $(HACK_SRC)/xlockmoreI.h
 geodesic.o: $(HACK_SRC)/xlockmore.h
@@ -1736,12 +1756,12 @@ gflux.o: $(srcdir)/gltrackball.h
 gflux.o: $(srcdir)/grab-ximage.h
 gflux.o: $(HACK_SRC)/screenhackI.h
 gflux.o: $(UTILS_SRC)/colors.h
+gflux.o: $(UTILS_SRC)/erase.h
 gflux.o: $(UTILS_SRC)/grabscreen.h
 gflux.o: $(UTILS_SRC)/hsv.h
 gflux.o: $(UTILS_SRC)/resources.h
 gflux.o: $(UTILS_SRC)/usleep.h
 gflux.o: $(UTILS_SRC)/visual.h
-gflux.o: $(UTILS_SRC)/xshm.h
 gflux.o: $(UTILS_SRC)/yarandom.h
 gflux.o: $(HACK_SRC)/xlockmoreI.h
 gflux.o: $(HACK_SRC)/xlockmore.h
@@ -1751,12 +1771,12 @@ glblur.o: $(srcdir)/gltrackball.h
 glblur.o: $(srcdir)/rotator.h
 glblur.o: $(HACK_SRC)/screenhackI.h
 glblur.o: $(UTILS_SRC)/colors.h
+glblur.o: $(UTILS_SRC)/erase.h
 glblur.o: $(UTILS_SRC)/grabscreen.h
 glblur.o: $(UTILS_SRC)/hsv.h
 glblur.o: $(UTILS_SRC)/resources.h
 glblur.o: $(UTILS_SRC)/usleep.h
 glblur.o: $(UTILS_SRC)/visual.h
-glblur.o: $(UTILS_SRC)/xshm.h
 glblur.o: $(UTILS_SRC)/yarandom.h
 glblur.o: $(HACK_SRC)/xlockmoreI.h
 glblur.o: $(HACK_SRC)/xlockmore.h
@@ -1764,12 +1784,12 @@ glcells.o: ../../config.h
 glcells.o: $(HACK_SRC)/fps.h
 glcells.o: $(HACK_SRC)/screenhackI.h
 glcells.o: $(UTILS_SRC)/colors.h
+glcells.o: $(UTILS_SRC)/erase.h
 glcells.o: $(UTILS_SRC)/grabscreen.h
 glcells.o: $(UTILS_SRC)/hsv.h
 glcells.o: $(UTILS_SRC)/resources.h
 glcells.o: $(UTILS_SRC)/usleep.h
 glcells.o: $(UTILS_SRC)/visual.h
-glcells.o: $(UTILS_SRC)/xshm.h
 glcells.o: $(UTILS_SRC)/yarandom.h
 glcells.o: $(HACK_SRC)/xlockmoreI.h
 glcells.o: $(HACK_SRC)/xlockmore.h
@@ -1778,12 +1798,12 @@ gleidescope.o: $(HACK_SRC)/fps.h
 gleidescope.o: $(srcdir)/grab-ximage.h
 gleidescope.o: $(HACK_SRC)/screenhackI.h
 gleidescope.o: $(UTILS_SRC)/colors.h
+gleidescope.o: $(UTILS_SRC)/erase.h
 gleidescope.o: $(UTILS_SRC)/grabscreen.h
 gleidescope.o: $(UTILS_SRC)/hsv.h
 gleidescope.o: $(UTILS_SRC)/resources.h
 gleidescope.o: $(UTILS_SRC)/usleep.h
 gleidescope.o: $(UTILS_SRC)/visual.h
-gleidescope.o: $(UTILS_SRC)/xshm.h
 gleidescope.o: $(UTILS_SRC)/yarandom.h
 gleidescope.o: $(HACK_SRC)/xlockmoreI.h
 gleidescope.o: $(HACK_SRC)/xlockmore.h
@@ -1795,12 +1815,12 @@ glforestfire.o: $(HACK_SRC)/images/ground.xpm
 glforestfire.o: $(HACK_SRC)/images/tree.xpm
 glforestfire.o: $(HACK_SRC)/screenhackI.h
 glforestfire.o: $(UTILS_SRC)/colors.h
+glforestfire.o: $(UTILS_SRC)/erase.h
 glforestfire.o: $(UTILS_SRC)/grabscreen.h
 glforestfire.o: $(UTILS_SRC)/hsv.h
 glforestfire.o: $(UTILS_SRC)/resources.h
 glforestfire.o: $(UTILS_SRC)/usleep.h
 glforestfire.o: $(UTILS_SRC)/visual.h
-glforestfire.o: $(UTILS_SRC)/xshm.h
 glforestfire.o: $(UTILS_SRC)/yarandom.h
 glforestfire.o: $(HACK_SRC)/xlockmoreI.h
 glforestfire.o: $(HACK_SRC)/xlockmore.h
@@ -1810,12 +1830,12 @@ glhanoi.o: $(HACK_SRC)/fps.h
 glhanoi.o: $(srcdir)/rotator.h
 glhanoi.o: $(HACK_SRC)/screenhackI.h
 glhanoi.o: $(UTILS_SRC)/colors.h
+glhanoi.o: $(UTILS_SRC)/erase.h
 glhanoi.o: $(UTILS_SRC)/grabscreen.h
 glhanoi.o: $(UTILS_SRC)/hsv.h
 glhanoi.o: $(UTILS_SRC)/resources.h
 glhanoi.o: $(UTILS_SRC)/usleep.h
 glhanoi.o: $(UTILS_SRC)/visual.h
-glhanoi.o: $(UTILS_SRC)/xshm.h
 glhanoi.o: $(UTILS_SRC)/yarandom.h
 glhanoi.o: $(HACK_SRC)/xlockmoreI.h
 glhanoi.o: $(HACK_SRC)/xlockmore.h
@@ -1826,12 +1846,12 @@ glknots.o: $(srcdir)/rotator.h
 glknots.o: $(HACK_SRC)/screenhackI.h
 glknots.o: $(srcdir)/tube.h
 glknots.o: $(UTILS_SRC)/colors.h
+glknots.o: $(UTILS_SRC)/erase.h
 glknots.o: $(UTILS_SRC)/grabscreen.h
 glknots.o: $(UTILS_SRC)/hsv.h
 glknots.o: $(UTILS_SRC)/resources.h
 glknots.o: $(UTILS_SRC)/usleep.h
 glknots.o: $(UTILS_SRC)/visual.h
-glknots.o: $(UTILS_SRC)/xshm.h
 glknots.o: $(UTILS_SRC)/yarandom.h
 glknots.o: $(HACK_SRC)/xlockmoreI.h
 glknots.o: $(HACK_SRC)/xlockmore.h
@@ -1842,12 +1862,12 @@ glmatrix.o: $(HACK_SRC)/fps.h
 glmatrix.o: $(HACK_SRC)/images/matrix3.xpm
 glmatrix.o: $(HACK_SRC)/screenhackI.h
 glmatrix.o: $(UTILS_SRC)/colors.h
+glmatrix.o: $(UTILS_SRC)/erase.h
 glmatrix.o: $(UTILS_SRC)/grabscreen.h
 glmatrix.o: $(UTILS_SRC)/hsv.h
 glmatrix.o: $(UTILS_SRC)/resources.h
 glmatrix.o: $(UTILS_SRC)/usleep.h
 glmatrix.o: $(UTILS_SRC)/visual.h
-glmatrix.o: $(UTILS_SRC)/xshm.h
 glmatrix.o: $(UTILS_SRC)/yarandom.h
 glmatrix.o: $(HACK_SRC)/xlockmoreI.h
 glmatrix.o: $(HACK_SRC)/xlockmore.h
@@ -1861,12 +1881,12 @@ glplanet.o: $(srcdir)/rotator.h
 glplanet.o: $(HACK_SRC)/screenhackI.h
 glplanet.o: $(srcdir)/sphere.h
 glplanet.o: $(UTILS_SRC)/colors.h
+glplanet.o: $(UTILS_SRC)/erase.h
 glplanet.o: $(UTILS_SRC)/grabscreen.h
 glplanet.o: $(UTILS_SRC)/hsv.h
 glplanet.o: $(UTILS_SRC)/resources.h
 glplanet.o: $(UTILS_SRC)/usleep.h
 glplanet.o: $(UTILS_SRC)/visual.h
-glplanet.o: $(UTILS_SRC)/xshm.h
 glplanet.o: $(UTILS_SRC)/yarandom.h
 glplanet.o: $(HACK_SRC)/xlockmoreI.h
 glplanet.o: $(HACK_SRC)/xlockmore.h
@@ -1886,12 +1906,12 @@ glschool.o: $(srcdir)/glschool_gl.h
 glschool.o: $(srcdir)/glschool.h
 glschool.o: $(HACK_SRC)/screenhackI.h
 glschool.o: $(UTILS_SRC)/colors.h
+glschool.o: $(UTILS_SRC)/erase.h
 glschool.o: $(UTILS_SRC)/grabscreen.h
 glschool.o: $(UTILS_SRC)/hsv.h
 glschool.o: $(UTILS_SRC)/resources.h
 glschool.o: $(UTILS_SRC)/usleep.h
 glschool.o: $(UTILS_SRC)/visual.h
-glschool.o: $(UTILS_SRC)/xshm.h
 glschool.o: $(UTILS_SRC)/yarandom.h
 glschool.o: $(HACK_SRC)/xlockmoreI.h
 glschool.o: $(HACK_SRC)/xlockmore.h
@@ -1901,12 +1921,12 @@ glslideshow.o: $(srcdir)/grab-ximage.h
 glslideshow.o: $(HACK_SRC)/screenhackI.h
 glslideshow.o: $(srcdir)/texfont.h
 glslideshow.o: $(UTILS_SRC)/colors.h
+glslideshow.o: $(UTILS_SRC)/erase.h
 glslideshow.o: $(UTILS_SRC)/grabscreen.h
 glslideshow.o: $(UTILS_SRC)/hsv.h
 glslideshow.o: $(UTILS_SRC)/resources.h
 glslideshow.o: $(UTILS_SRC)/usleep.h
 glslideshow.o: $(UTILS_SRC)/visual.h
-glslideshow.o: $(UTILS_SRC)/xshm.h
 glslideshow.o: $(UTILS_SRC)/yarandom.h
 glslideshow.o: $(HACK_SRC)/xlockmoreI.h
 glslideshow.o: $(HACK_SRC)/xlockmore.h
@@ -1915,18 +1935,19 @@ glsnake.o: $(HACK_SRC)/fps.h
 glsnake.o: $(HACK_SRC)/screenhackI.h
 glsnake.o: $(srcdir)/texfont.h
 glsnake.o: $(UTILS_SRC)/colors.h
+glsnake.o: $(UTILS_SRC)/erase.h
 glsnake.o: $(UTILS_SRC)/grabscreen.h
 glsnake.o: $(UTILS_SRC)/hsv.h
 glsnake.o: $(UTILS_SRC)/resources.h
 glsnake.o: $(UTILS_SRC)/usleep.h
 glsnake.o: $(UTILS_SRC)/visual.h
-glsnake.o: $(UTILS_SRC)/xshm.h
 glsnake.o: $(UTILS_SRC)/yarandom.h
 glsnake.o: $(HACK_SRC)/xlockmoreI.h
 glsnake.o: $(HACK_SRC)/xlockmore.h
 gltext.o: ../../config.h
 gltext.o: $(HACK_SRC)/fps.h
 gltext.o: $(srcdir)/gltrackball.h
+gltext.o: $(srcdir)/glut_mroman.h
 gltext.o: $(srcdir)/glut_roman.h
 gltext.o: $(srcdir)/glutstroke.h
 gltext.o: $(srcdir)/rotator.h
@@ -1934,6 +1955,7 @@ gltext.o: $(HACK_SRC)/screenhackI.h
 gltext.o: $(srcdir)/sphere.h
 gltext.o: $(srcdir)/tube.h
 gltext.o: $(UTILS_SRC)/colors.h
+gltext.o: $(UTILS_SRC)/erase.h
 gltext.o: $(UTILS_SRC)/grabscreen.h
 gltext.o: $(UTILS_SRC)/hsv.h
 gltext.o: $(UTILS_SRC)/resources.h
@@ -1941,7 +1963,6 @@ gltext.o: $(UTILS_SRC)/textclient.h
 gltext.o: $(UTILS_SRC)/usleep.h
 gltext.o: $(UTILS_SRC)/utf8wc.h
 gltext.o: $(UTILS_SRC)/visual.h
-gltext.o: $(UTILS_SRC)/xshm.h
 gltext.o: $(UTILS_SRC)/yarandom.h
 gltext.o: $(HACK_SRC)/xlockmoreI.h
 gltext.o: $(HACK_SRC)/xlockmore.h
@@ -1965,12 +1986,12 @@ hexstrut.o: $(srcdir)/normals.h
 hexstrut.o: $(srcdir)/rotator.h
 hexstrut.o: $(HACK_SRC)/screenhackI.h
 hexstrut.o: $(UTILS_SRC)/colors.h
+hexstrut.o: $(UTILS_SRC)/erase.h
 hexstrut.o: $(UTILS_SRC)/grabscreen.h
 hexstrut.o: $(UTILS_SRC)/hsv.h
 hexstrut.o: $(UTILS_SRC)/resources.h
 hexstrut.o: $(UTILS_SRC)/usleep.h
 hexstrut.o: $(UTILS_SRC)/visual.h
-hexstrut.o: $(UTILS_SRC)/xshm.h
 hexstrut.o: $(UTILS_SRC)/yarandom.h
 hexstrut.o: $(HACK_SRC)/xlockmoreI.h
 hexstrut.o: $(HACK_SRC)/xlockmore.h
@@ -1982,12 +2003,12 @@ hilbert.o: $(HACK_SRC)/screenhackI.h
 hilbert.o: $(srcdir)/sphere.h
 hilbert.o: $(srcdir)/tube.h
 hilbert.o: $(UTILS_SRC)/colors.h
+hilbert.o: $(UTILS_SRC)/erase.h
 hilbert.o: $(UTILS_SRC)/grabscreen.h
 hilbert.o: $(UTILS_SRC)/hsv.h
 hilbert.o: $(UTILS_SRC)/resources.h
 hilbert.o: $(UTILS_SRC)/usleep.h
 hilbert.o: $(UTILS_SRC)/visual.h
-hilbert.o: $(UTILS_SRC)/xshm.h
 hilbert.o: $(UTILS_SRC)/yarandom.h
 hilbert.o: $(HACK_SRC)/xlockmoreI.h
 hilbert.o: $(HACK_SRC)/xlockmore.h
@@ -1998,12 +2019,12 @@ hydrostat.o: $(srcdir)/normals.h
 hydrostat.o: $(HACK_SRC)/screenhackI.h
 hydrostat.o: $(srcdir)/sphere.h
 hydrostat.o: $(UTILS_SRC)/colors.h
+hydrostat.o: $(UTILS_SRC)/erase.h
 hydrostat.o: $(UTILS_SRC)/grabscreen.h
 hydrostat.o: $(UTILS_SRC)/hsv.h
 hydrostat.o: $(UTILS_SRC)/resources.h
 hydrostat.o: $(UTILS_SRC)/usleep.h
 hydrostat.o: $(UTILS_SRC)/visual.h
-hydrostat.o: $(UTILS_SRC)/xshm.h
 hydrostat.o: $(UTILS_SRC)/yarandom.h
 hydrostat.o: $(HACK_SRC)/xlockmoreI.h
 hydrostat.o: $(HACK_SRC)/xlockmore.h
@@ -2012,12 +2033,12 @@ hypertorus.o: $(HACK_SRC)/fps.h
 hypertorus.o: $(srcdir)/gltrackball.h
 hypertorus.o: $(HACK_SRC)/screenhackI.h
 hypertorus.o: $(UTILS_SRC)/colors.h
+hypertorus.o: $(UTILS_SRC)/erase.h
 hypertorus.o: $(UTILS_SRC)/grabscreen.h
 hypertorus.o: $(UTILS_SRC)/hsv.h
 hypertorus.o: $(UTILS_SRC)/resources.h
 hypertorus.o: $(UTILS_SRC)/usleep.h
 hypertorus.o: $(UTILS_SRC)/visual.h
-hypertorus.o: $(UTILS_SRC)/xshm.h
 hypertorus.o: $(UTILS_SRC)/yarandom.h
 hypertorus.o: $(HACK_SRC)/xlockmoreI.h
 hypertorus.o: $(HACK_SRC)/xlockmore.h
@@ -2026,12 +2047,12 @@ hypnowheel.o: $(HACK_SRC)/fps.h
 hypnowheel.o: $(srcdir)/rotator.h
 hypnowheel.o: $(HACK_SRC)/screenhackI.h
 hypnowheel.o: $(UTILS_SRC)/colors.h
+hypnowheel.o: $(UTILS_SRC)/erase.h
 hypnowheel.o: $(UTILS_SRC)/grabscreen.h
 hypnowheel.o: $(UTILS_SRC)/hsv.h
 hypnowheel.o: $(UTILS_SRC)/resources.h
 hypnowheel.o: $(UTILS_SRC)/usleep.h
 hypnowheel.o: $(UTILS_SRC)/visual.h
-hypnowheel.o: $(UTILS_SRC)/xshm.h
 hypnowheel.o: $(UTILS_SRC)/yarandom.h
 hypnowheel.o: $(HACK_SRC)/xlockmoreI.h
 hypnowheel.o: $(HACK_SRC)/xlockmore.h
@@ -2053,12 +2074,12 @@ jigglypuff.o: $(srcdir)/gltrackball.h
 jigglypuff.o: $(HACK_SRC)/images/jigglymap.xpm
 jigglypuff.o: $(HACK_SRC)/screenhackI.h
 jigglypuff.o: $(UTILS_SRC)/colors.h
+jigglypuff.o: $(UTILS_SRC)/erase.h
 jigglypuff.o: $(UTILS_SRC)/grabscreen.h
 jigglypuff.o: $(UTILS_SRC)/hsv.h
 jigglypuff.o: $(UTILS_SRC)/resources.h
 jigglypuff.o: $(UTILS_SRC)/usleep.h
 jigglypuff.o: $(UTILS_SRC)/visual.h
-jigglypuff.o: $(UTILS_SRC)/xshm.h
 jigglypuff.o: $(UTILS_SRC)/yarandom.h
 jigglypuff.o: $(HACK_SRC)/xlockmoreI.h
 jigglypuff.o: $(HACK_SRC)/xlockmore.h
@@ -2072,13 +2093,13 @@ jigsaw.o: $(srcdir)/rotator.h
 jigsaw.o: $(HACK_SRC)/screenhackI.h
 jigsaw.o: $(srcdir)/texfont.h
 jigsaw.o: $(UTILS_SRC)/colors.h
+jigsaw.o: $(UTILS_SRC)/erase.h
 jigsaw.o: $(UTILS_SRC)/grabscreen.h
 jigsaw.o: $(UTILS_SRC)/hsv.h
 jigsaw.o: $(UTILS_SRC)/resources.h
 jigsaw.o: $(UTILS_SRC)/spline.h
 jigsaw.o: $(UTILS_SRC)/usleep.h
 jigsaw.o: $(UTILS_SRC)/visual.h
-jigsaw.o: $(UTILS_SRC)/xshm.h
 jigsaw.o: $(UTILS_SRC)/yarandom.h
 jigsaw.o: $(HACK_SRC)/xlockmoreI.h
 jigsaw.o: $(HACK_SRC)/xlockmore.h
@@ -2091,12 +2112,12 @@ juggler3d.o: $(srcdir)/sphere.h
 juggler3d.o: $(srcdir)/texfont.h
 juggler3d.o: $(srcdir)/tube.h
 juggler3d.o: $(UTILS_SRC)/colors.h
+juggler3d.o: $(UTILS_SRC)/erase.h
 juggler3d.o: $(UTILS_SRC)/grabscreen.h
 juggler3d.o: $(UTILS_SRC)/hsv.h
 juggler3d.o: $(UTILS_SRC)/resources.h
 juggler3d.o: $(UTILS_SRC)/usleep.h
 juggler3d.o: $(UTILS_SRC)/visual.h
-juggler3d.o: $(UTILS_SRC)/xshm.h
 juggler3d.o: $(UTILS_SRC)/yarandom.h
 juggler3d.o: $(HACK_SRC)/xlockmoreI.h
 juggler3d.o: $(HACK_SRC)/xlockmore.h
@@ -2107,12 +2128,12 @@ kaleidocycle.o: $(srcdir)/normals.h
 kaleidocycle.o: $(srcdir)/rotator.h
 kaleidocycle.o: $(HACK_SRC)/screenhackI.h
 kaleidocycle.o: $(UTILS_SRC)/colors.h
+kaleidocycle.o: $(UTILS_SRC)/erase.h
 kaleidocycle.o: $(UTILS_SRC)/grabscreen.h
 kaleidocycle.o: $(UTILS_SRC)/hsv.h
 kaleidocycle.o: $(UTILS_SRC)/resources.h
 kaleidocycle.o: $(UTILS_SRC)/usleep.h
 kaleidocycle.o: $(UTILS_SRC)/visual.h
-kaleidocycle.o: $(UTILS_SRC)/xshm.h
 kaleidocycle.o: $(UTILS_SRC)/yarandom.h
 kaleidocycle.o: $(HACK_SRC)/xlockmoreI.h
 kaleidocycle.o: $(HACK_SRC)/xlockmore.h
@@ -2122,12 +2143,12 @@ klein.o: $(HACK_SRC)/fps.h
 klein.o: $(srcdir)/gltrackball.h
 klein.o: $(HACK_SRC)/screenhackI.h
 klein.o: $(UTILS_SRC)/colors.h
+klein.o: $(UTILS_SRC)/erase.h
 klein.o: $(UTILS_SRC)/grabscreen.h
 klein.o: $(UTILS_SRC)/hsv.h
 klein.o: $(UTILS_SRC)/resources.h
 klein.o: $(UTILS_SRC)/usleep.h
 klein.o: $(UTILS_SRC)/visual.h
-klein.o: $(UTILS_SRC)/xshm.h
 klein.o: $(UTILS_SRC)/yarandom.h
 klein.o: $(HACK_SRC)/xlockmoreI.h
 klein.o: $(HACK_SRC)/xlockmore.h
@@ -2142,12 +2163,12 @@ lament.o: $(srcdir)/normals.h
 lament.o: $(srcdir)/rotator.h
 lament.o: $(HACK_SRC)/screenhackI.h
 lament.o: $(UTILS_SRC)/colors.h
+lament.o: $(UTILS_SRC)/erase.h
 lament.o: $(UTILS_SRC)/grabscreen.h
 lament.o: $(UTILS_SRC)/hsv.h
 lament.o: $(UTILS_SRC)/resources.h
 lament.o: $(UTILS_SRC)/usleep.h
 lament.o: $(UTILS_SRC)/visual.h
-lament.o: $(UTILS_SRC)/xshm.h
 lament.o: $(UTILS_SRC)/yarandom.h
 lament.o: $(HACK_SRC)/xlockmoreI.h
 lament.o: $(HACK_SRC)/xlockmore.h
@@ -2159,12 +2180,12 @@ lavalite.o: $(srcdir)/marching.h
 lavalite.o: $(srcdir)/rotator.h
 lavalite.o: $(HACK_SRC)/screenhackI.h
 lavalite.o: $(UTILS_SRC)/colors.h
+lavalite.o: $(UTILS_SRC)/erase.h
 lavalite.o: $(UTILS_SRC)/grabscreen.h
 lavalite.o: $(UTILS_SRC)/hsv.h
 lavalite.o: $(UTILS_SRC)/resources.h
 lavalite.o: $(UTILS_SRC)/usleep.h
 lavalite.o: $(UTILS_SRC)/visual.h
-lavalite.o: $(UTILS_SRC)/xshm.h
 lavalite.o: $(UTILS_SRC)/yarandom.h
 lavalite.o: $(HACK_SRC)/xlockmoreI.h
 lavalite.o: $(HACK_SRC)/xlockmore.h
@@ -2173,12 +2194,12 @@ lockward.o: ../../config.h
 lockward.o: $(HACK_SRC)/fps.h
 lockward.o: $(HACK_SRC)/screenhackI.h
 lockward.o: $(UTILS_SRC)/colors.h
+lockward.o: $(UTILS_SRC)/erase.h
 lockward.o: $(UTILS_SRC)/grabscreen.h
 lockward.o: $(UTILS_SRC)/hsv.h
 lockward.o: $(UTILS_SRC)/resources.h
 lockward.o: $(UTILS_SRC)/usleep.h
 lockward.o: $(UTILS_SRC)/visual.h
-lockward.o: $(UTILS_SRC)/xshm.h
 lockward.o: $(UTILS_SRC)/yarandom.h
 lockward.o: $(HACK_SRC)/xlockmoreI.h
 lockward.o: $(HACK_SRC)/xlockmore.h
@@ -2191,12 +2212,12 @@ menger.o: $(srcdir)/gltrackball.h
 menger.o: $(srcdir)/rotator.h
 menger.o: $(HACK_SRC)/screenhackI.h
 menger.o: $(UTILS_SRC)/colors.h
+menger.o: $(UTILS_SRC)/erase.h
 menger.o: $(UTILS_SRC)/grabscreen.h
 menger.o: $(UTILS_SRC)/hsv.h
 menger.o: $(UTILS_SRC)/resources.h
 menger.o: $(UTILS_SRC)/usleep.h
 menger.o: $(UTILS_SRC)/visual.h
-menger.o: $(UTILS_SRC)/xshm.h
 menger.o: $(UTILS_SRC)/yarandom.h
 menger.o: $(HACK_SRC)/xlockmoreI.h
 menger.o: $(HACK_SRC)/xlockmore.h
@@ -2206,12 +2227,12 @@ mirrorblob.o: $(srcdir)/gltrackball.h
 mirrorblob.o: $(srcdir)/grab-ximage.h
 mirrorblob.o: $(HACK_SRC)/screenhackI.h
 mirrorblob.o: $(UTILS_SRC)/colors.h
+mirrorblob.o: $(UTILS_SRC)/erase.h
 mirrorblob.o: $(UTILS_SRC)/grabscreen.h
 mirrorblob.o: $(UTILS_SRC)/hsv.h
 mirrorblob.o: $(UTILS_SRC)/resources.h
 mirrorblob.o: $(UTILS_SRC)/usleep.h
 mirrorblob.o: $(UTILS_SRC)/visual.h
-mirrorblob.o: $(UTILS_SRC)/xshm.h
 mirrorblob.o: $(UTILS_SRC)/yarandom.h
 mirrorblob.o: $(HACK_SRC)/xlockmoreI.h
 mirrorblob.o: $(HACK_SRC)/xlockmore.h
@@ -2223,12 +2244,12 @@ moebiusgears.o: $(srcdir)/normals.h
 moebiusgears.o: $(srcdir)/rotator.h
 moebiusgears.o: $(HACK_SRC)/screenhackI.h
 moebiusgears.o: $(UTILS_SRC)/colors.h
+moebiusgears.o: $(UTILS_SRC)/erase.h
 moebiusgears.o: $(UTILS_SRC)/grabscreen.h
 moebiusgears.o: $(UTILS_SRC)/hsv.h
 moebiusgears.o: $(UTILS_SRC)/resources.h
 moebiusgears.o: $(UTILS_SRC)/usleep.h
 moebiusgears.o: $(UTILS_SRC)/visual.h
-moebiusgears.o: $(UTILS_SRC)/xshm.h
 moebiusgears.o: $(UTILS_SRC)/yarandom.h
 moebiusgears.o: $(HACK_SRC)/xlockmoreI.h
 moebiusgears.o: $(HACK_SRC)/xlockmore.h
@@ -2240,12 +2261,12 @@ moebius.o: $(HACK_SRC)/screenhackI.h
 moebius.o: $(srcdir)/sphere.h
 moebius.o: $(srcdir)/tube.h
 moebius.o: $(UTILS_SRC)/colors.h
+moebius.o: $(UTILS_SRC)/erase.h
 moebius.o: $(UTILS_SRC)/grabscreen.h
 moebius.o: $(UTILS_SRC)/hsv.h
 moebius.o: $(UTILS_SRC)/resources.h
 moebius.o: $(UTILS_SRC)/usleep.h
 moebius.o: $(UTILS_SRC)/visual.h
-moebius.o: $(UTILS_SRC)/xshm.h
 moebius.o: $(UTILS_SRC)/yarandom.h
 moebius.o: $(HACK_SRC)/xlockmoreI.h
 moebius.o: $(HACK_SRC)/xlockmore.h
@@ -2259,12 +2280,12 @@ molecule.o: $(srcdir)/sphere.h
 molecule.o: $(srcdir)/texfont.h
 molecule.o: $(srcdir)/tube.h
 molecule.o: $(UTILS_SRC)/colors.h
+molecule.o: $(UTILS_SRC)/erase.h
 molecule.o: $(UTILS_SRC)/grabscreen.h
 molecule.o: $(UTILS_SRC)/hsv.h
 molecule.o: $(UTILS_SRC)/resources.h
 molecule.o: $(UTILS_SRC)/usleep.h
 molecule.o: $(UTILS_SRC)/visual.h
-molecule.o: $(UTILS_SRC)/xshm.h
 molecule.o: $(UTILS_SRC)/yarandom.h
 molecule.o: $(HACK_SRC)/xlockmoreI.h
 molecule.o: $(HACK_SRC)/xlockmore.h
@@ -2272,12 +2293,12 @@ morph3d.o: ../../config.h
 morph3d.o: $(HACK_SRC)/fps.h
 morph3d.o: $(HACK_SRC)/screenhackI.h
 morph3d.o: $(UTILS_SRC)/colors.h
+morph3d.o: $(UTILS_SRC)/erase.h
 morph3d.o: $(UTILS_SRC)/grabscreen.h
 morph3d.o: $(UTILS_SRC)/hsv.h
 morph3d.o: $(UTILS_SRC)/resources.h
 morph3d.o: $(UTILS_SRC)/usleep.h
 morph3d.o: $(UTILS_SRC)/visual.h
-morph3d.o: $(UTILS_SRC)/xshm.h
 morph3d.o: $(UTILS_SRC)/yarandom.h
 morph3d.o: $(HACK_SRC)/xlockmoreI.h
 morph3d.o: $(HACK_SRC)/xlockmore.h
@@ -2285,12 +2306,12 @@ noof.o: ../../config.h
 noof.o: $(HACK_SRC)/fps.h
 noof.o: $(HACK_SRC)/screenhackI.h
 noof.o: $(UTILS_SRC)/colors.h
+noof.o: $(UTILS_SRC)/erase.h
 noof.o: $(UTILS_SRC)/grabscreen.h
 noof.o: $(UTILS_SRC)/hsv.h
 noof.o: $(UTILS_SRC)/resources.h
 noof.o: $(UTILS_SRC)/usleep.h
 noof.o: $(UTILS_SRC)/visual.h
-noof.o: $(UTILS_SRC)/xshm.h
 noof.o: $(UTILS_SRC)/yarandom.h
 noof.o: $(HACK_SRC)/xlockmoreI.h
 noof.o: $(HACK_SRC)/xlockmore.h
@@ -2303,12 +2324,12 @@ photopile.o: $(srcdir)/grab-ximage.h
 photopile.o: $(HACK_SRC)/screenhackI.h
 photopile.o: $(srcdir)/texfont.h
 photopile.o: $(UTILS_SRC)/colors.h
+photopile.o: $(UTILS_SRC)/erase.h
 photopile.o: $(UTILS_SRC)/grabscreen.h
 photopile.o: $(UTILS_SRC)/hsv.h
 photopile.o: $(UTILS_SRC)/resources.h
 photopile.o: $(UTILS_SRC)/usleep.h
 photopile.o: $(UTILS_SRC)/visual.h
-photopile.o: $(UTILS_SRC)/xshm.h
 photopile.o: $(UTILS_SRC)/yarandom.h
 photopile.o: $(HACK_SRC)/xlockmoreI.h
 photopile.o: $(HACK_SRC)/xlockmore.h
@@ -2320,12 +2341,12 @@ pinion.o: $(srcdir)/normals.h
 pinion.o: $(HACK_SRC)/screenhackI.h
 pinion.o: $(srcdir)/texfont.h
 pinion.o: $(UTILS_SRC)/colors.h
+pinion.o: $(UTILS_SRC)/erase.h
 pinion.o: $(UTILS_SRC)/grabscreen.h
 pinion.o: $(UTILS_SRC)/hsv.h
 pinion.o: $(UTILS_SRC)/resources.h
 pinion.o: $(UTILS_SRC)/usleep.h
 pinion.o: $(UTILS_SRC)/visual.h
-pinion.o: $(UTILS_SRC)/xshm.h
 pinion.o: $(UTILS_SRC)/yarandom.h
 pinion.o: $(HACK_SRC)/xlockmoreI.h
 pinion.o: $(HACK_SRC)/xlockmore.h
@@ -2339,12 +2360,12 @@ pipes.o: $(HACK_SRC)/screenhackI.h
 pipes.o: $(srcdir)/sphere.h
 pipes.o: $(srcdir)/teapot.h
 pipes.o: $(UTILS_SRC)/colors.h
+pipes.o: $(UTILS_SRC)/erase.h
 pipes.o: $(UTILS_SRC)/grabscreen.h
 pipes.o: $(UTILS_SRC)/hsv.h
 pipes.o: $(UTILS_SRC)/resources.h
 pipes.o: $(UTILS_SRC)/usleep.h
 pipes.o: $(UTILS_SRC)/visual.h
-pipes.o: $(UTILS_SRC)/xshm.h
 pipes.o: $(UTILS_SRC)/yarandom.h
 pipes.o: $(HACK_SRC)/xlockmoreI.h
 pipes.o: $(HACK_SRC)/xlockmore.h
@@ -2358,12 +2379,12 @@ polyhedra-gl.o: $(HACK_SRC)/screenhackI.h
 polyhedra-gl.o: $(srcdir)/teapot.h
 polyhedra-gl.o: $(srcdir)/texfont.h
 polyhedra-gl.o: $(UTILS_SRC)/colors.h
+polyhedra-gl.o: $(UTILS_SRC)/erase.h
 polyhedra-gl.o: $(UTILS_SRC)/grabscreen.h
 polyhedra-gl.o: $(UTILS_SRC)/hsv.h
 polyhedra-gl.o: $(UTILS_SRC)/resources.h
 polyhedra-gl.o: $(UTILS_SRC)/usleep.h
 polyhedra-gl.o: $(UTILS_SRC)/visual.h
-polyhedra-gl.o: $(UTILS_SRC)/xshm.h
 polyhedra-gl.o: $(UTILS_SRC)/yarandom.h
 polyhedra-gl.o: $(HACK_SRC)/xlockmoreI.h
 polyhedra-gl.o: $(HACK_SRC)/xlockmore.h
@@ -2374,12 +2395,12 @@ polytopes.o: $(HACK_SRC)/fps.h
 polytopes.o: $(srcdir)/gltrackball.h
 polytopes.o: $(HACK_SRC)/screenhackI.h
 polytopes.o: $(UTILS_SRC)/colors.h
+polytopes.o: $(UTILS_SRC)/erase.h
 polytopes.o: $(UTILS_SRC)/grabscreen.h
 polytopes.o: $(UTILS_SRC)/hsv.h
 polytopes.o: $(UTILS_SRC)/resources.h
 polytopes.o: $(UTILS_SRC)/usleep.h
 polytopes.o: $(UTILS_SRC)/visual.h
-polytopes.o: $(UTILS_SRC)/xshm.h
 polytopes.o: $(UTILS_SRC)/yarandom.h
 polytopes.o: $(HACK_SRC)/xlockmoreI.h
 polytopes.o: $(HACK_SRC)/xlockmore.h
@@ -2389,12 +2410,12 @@ projectiveplane.o: $(HACK_SRC)/fps.h
 projectiveplane.o: $(srcdir)/gltrackball.h
 projectiveplane.o: $(HACK_SRC)/screenhackI.h
 projectiveplane.o: $(UTILS_SRC)/colors.h
+projectiveplane.o: $(UTILS_SRC)/erase.h
 projectiveplane.o: $(UTILS_SRC)/grabscreen.h
 projectiveplane.o: $(UTILS_SRC)/hsv.h
 projectiveplane.o: $(UTILS_SRC)/resources.h
 projectiveplane.o: $(UTILS_SRC)/usleep.h
 projectiveplane.o: $(UTILS_SRC)/visual.h
-projectiveplane.o: $(UTILS_SRC)/xshm.h
 projectiveplane.o: $(UTILS_SRC)/yarandom.h
 projectiveplane.o: $(HACK_SRC)/xlockmoreI.h
 projectiveplane.o: $(HACK_SRC)/xlockmore.h
@@ -2403,12 +2424,12 @@ providence.o: $(HACK_SRC)/fps.h
 providence.o: $(srcdir)/gltrackball.h
 providence.o: $(HACK_SRC)/screenhackI.h
 providence.o: $(UTILS_SRC)/colors.h
+providence.o: $(UTILS_SRC)/erase.h
 providence.o: $(UTILS_SRC)/grabscreen.h
 providence.o: $(UTILS_SRC)/hsv.h
 providence.o: $(UTILS_SRC)/resources.h
 providence.o: $(UTILS_SRC)/usleep.h
 providence.o: $(UTILS_SRC)/visual.h
-providence.o: $(UTILS_SRC)/xshm.h
 providence.o: $(UTILS_SRC)/yarandom.h
 providence.o: $(HACK_SRC)/xlockmoreI.h
 providence.o: $(HACK_SRC)/xlockmore.h
@@ -2416,12 +2437,12 @@ pulsar.o: ../../config.h
 pulsar.o: $(HACK_SRC)/fps.h
 pulsar.o: $(HACK_SRC)/screenhackI.h
 pulsar.o: $(UTILS_SRC)/colors.h
+pulsar.o: $(UTILS_SRC)/erase.h
 pulsar.o: $(UTILS_SRC)/grabscreen.h
 pulsar.o: $(UTILS_SRC)/hsv.h
 pulsar.o: $(UTILS_SRC)/resources.h
 pulsar.o: $(UTILS_SRC)/usleep.h
 pulsar.o: $(UTILS_SRC)/visual.h
-pulsar.o: $(UTILS_SRC)/xshm.h
 pulsar.o: $(UTILS_SRC)/yarandom.h
 pulsar.o: $(HACK_SRC)/xlockmoreI.h
 pulsar.o: $(HACK_SRC)/xlockmore.h
@@ -2431,12 +2452,12 @@ quasicrystal.o: $(HACK_SRC)/fps.h
 quasicrystal.o: $(srcdir)/rotator.h
 quasicrystal.o: $(HACK_SRC)/screenhackI.h
 quasicrystal.o: $(UTILS_SRC)/colors.h
+quasicrystal.o: $(UTILS_SRC)/erase.h
 quasicrystal.o: $(UTILS_SRC)/grabscreen.h
 quasicrystal.o: $(UTILS_SRC)/hsv.h
 quasicrystal.o: $(UTILS_SRC)/resources.h
 quasicrystal.o: $(UTILS_SRC)/usleep.h
 quasicrystal.o: $(UTILS_SRC)/visual.h
-quasicrystal.o: $(UTILS_SRC)/xshm.h
 quasicrystal.o: $(UTILS_SRC)/yarandom.h
 quasicrystal.o: $(HACK_SRC)/xlockmoreI.h
 quasicrystal.o: $(HACK_SRC)/xlockmore.h
@@ -2446,12 +2467,12 @@ queens.o: $(HACK_SRC)/fps.h
 queens.o: $(srcdir)/gltrackball.h
 queens.o: $(HACK_SRC)/screenhackI.h
 queens.o: $(UTILS_SRC)/colors.h
+queens.o: $(UTILS_SRC)/erase.h
 queens.o: $(UTILS_SRC)/grabscreen.h
 queens.o: $(UTILS_SRC)/hsv.h
 queens.o: $(UTILS_SRC)/resources.h
 queens.o: $(UTILS_SRC)/usleep.h
 queens.o: $(UTILS_SRC)/visual.h
-queens.o: $(UTILS_SRC)/xshm.h
 queens.o: $(UTILS_SRC)/yarandom.h
 queens.o: $(HACK_SRC)/xlockmoreI.h
 queens.o: $(HACK_SRC)/xlockmore.h
@@ -2461,12 +2482,12 @@ raverhoop.o: $(srcdir)/gltrackball.h
 raverhoop.o: $(srcdir)/rotator.h
 raverhoop.o: $(HACK_SRC)/screenhackI.h
 raverhoop.o: $(UTILS_SRC)/colors.h
+raverhoop.o: $(UTILS_SRC)/erase.h
 raverhoop.o: $(UTILS_SRC)/grabscreen.h
 raverhoop.o: $(UTILS_SRC)/hsv.h
 raverhoop.o: $(UTILS_SRC)/resources.h
 raverhoop.o: $(UTILS_SRC)/usleep.h
 raverhoop.o: $(UTILS_SRC)/visual.h
-raverhoop.o: $(UTILS_SRC)/xshm.h
 raverhoop.o: $(UTILS_SRC)/yarandom.h
 raverhoop.o: $(HACK_SRC)/xlockmoreI.h
 raverhoop.o: $(HACK_SRC)/xlockmore.h
@@ -2480,12 +2501,12 @@ romanboy.o: $(HACK_SRC)/fps.h
 romanboy.o: $(srcdir)/gltrackball.h
 romanboy.o: $(HACK_SRC)/screenhackI.h
 romanboy.o: $(UTILS_SRC)/colors.h
+romanboy.o: $(UTILS_SRC)/erase.h
 romanboy.o: $(UTILS_SRC)/grabscreen.h
 romanboy.o: $(UTILS_SRC)/hsv.h
 romanboy.o: $(UTILS_SRC)/resources.h
 romanboy.o: $(UTILS_SRC)/usleep.h
 romanboy.o: $(UTILS_SRC)/visual.h
-romanboy.o: $(UTILS_SRC)/xshm.h
 romanboy.o: $(UTILS_SRC)/yarandom.h
 romanboy.o: $(HACK_SRC)/xlockmoreI.h
 romanboy.o: $(HACK_SRC)/xlockmore.h
@@ -2498,12 +2519,12 @@ rubikblocks.o: $(srcdir)/gltrackball.h
 rubikblocks.o: $(srcdir)/rotator.h
 rubikblocks.o: $(HACK_SRC)/screenhackI.h
 rubikblocks.o: $(UTILS_SRC)/colors.h
+rubikblocks.o: $(UTILS_SRC)/erase.h
 rubikblocks.o: $(UTILS_SRC)/grabscreen.h
 rubikblocks.o: $(UTILS_SRC)/hsv.h
 rubikblocks.o: $(UTILS_SRC)/resources.h
 rubikblocks.o: $(UTILS_SRC)/usleep.h
 rubikblocks.o: $(UTILS_SRC)/visual.h
-rubikblocks.o: $(UTILS_SRC)/xshm.h
 rubikblocks.o: $(UTILS_SRC)/yarandom.h
 rubikblocks.o: $(HACK_SRC)/xlockmoreI.h
 rubikblocks.o: $(HACK_SRC)/xlockmore.h
@@ -2512,12 +2533,12 @@ rubik.o: $(HACK_SRC)/fps.h
 rubik.o: $(srcdir)/gltrackball.h
 rubik.o: $(HACK_SRC)/screenhackI.h
 rubik.o: $(UTILS_SRC)/colors.h
+rubik.o: $(UTILS_SRC)/erase.h
 rubik.o: $(UTILS_SRC)/grabscreen.h
 rubik.o: $(UTILS_SRC)/hsv.h
 rubik.o: $(UTILS_SRC)/resources.h
 rubik.o: $(UTILS_SRC)/usleep.h
 rubik.o: $(UTILS_SRC)/visual.h
-rubik.o: $(UTILS_SRC)/xshm.h
 rubik.o: $(UTILS_SRC)/yarandom.h
 rubik.o: $(HACK_SRC)/xlockmoreI.h
 rubik.o: $(HACK_SRC)/xlockmore.h
@@ -2542,12 +2563,12 @@ sballs.o: $(HACK_SRC)/images/sball-bg.xpm
 sballs.o: $(HACK_SRC)/images/sball.xpm
 sballs.o: $(HACK_SRC)/screenhackI.h
 sballs.o: $(UTILS_SRC)/colors.h
+sballs.o: $(UTILS_SRC)/erase.h
 sballs.o: $(UTILS_SRC)/grabscreen.h
 sballs.o: $(UTILS_SRC)/hsv.h
 sballs.o: $(UTILS_SRC)/resources.h
 sballs.o: $(UTILS_SRC)/usleep.h
 sballs.o: $(UTILS_SRC)/visual.h
-sballs.o: $(UTILS_SRC)/xshm.h
 sballs.o: $(UTILS_SRC)/yarandom.h
 sballs.o: $(HACK_SRC)/xlockmoreI.h
 sballs.o: $(HACK_SRC)/xlockmore.h
@@ -2571,12 +2592,12 @@ sierpinski3d.o: $(srcdir)/gltrackball.h
 sierpinski3d.o: $(srcdir)/rotator.h
 sierpinski3d.o: $(HACK_SRC)/screenhackI.h
 sierpinski3d.o: $(UTILS_SRC)/colors.h
+sierpinski3d.o: $(UTILS_SRC)/erase.h
 sierpinski3d.o: $(UTILS_SRC)/grabscreen.h
 sierpinski3d.o: $(UTILS_SRC)/hsv.h
 sierpinski3d.o: $(UTILS_SRC)/resources.h
 sierpinski3d.o: $(UTILS_SRC)/usleep.h
 sierpinski3d.o: $(UTILS_SRC)/visual.h
-sierpinski3d.o: $(UTILS_SRC)/xshm.h
 sierpinski3d.o: $(UTILS_SRC)/yarandom.h
 sierpinski3d.o: $(HACK_SRC)/xlockmoreI.h
 sierpinski3d.o: $(HACK_SRC)/xlockmore.h
@@ -2588,12 +2609,12 @@ skytentacles.o: $(srcdir)/normals.h
 skytentacles.o: $(srcdir)/rotator.h
 skytentacles.o: $(HACK_SRC)/screenhackI.h
 skytentacles.o: $(UTILS_SRC)/colors.h
+skytentacles.o: $(UTILS_SRC)/erase.h
 skytentacles.o: $(UTILS_SRC)/grabscreen.h
 skytentacles.o: $(UTILS_SRC)/hsv.h
 skytentacles.o: $(UTILS_SRC)/resources.h
 skytentacles.o: $(UTILS_SRC)/usleep.h
 skytentacles.o: $(UTILS_SRC)/visual.h
-skytentacles.o: $(UTILS_SRC)/xshm.h
 skytentacles.o: $(UTILS_SRC)/yarandom.h
 skytentacles.o: $(HACK_SRC)/xlockmoreI.h
 skytentacles.o: $(HACK_SRC)/xlockmore.h
@@ -2622,13 +2643,13 @@ sonar.o: $(srcdir)/sonar.h
 sonar.o: $(srcdir)/texfont.h
 sonar.o: $(UTILS_SRC)/aligned_malloc.h
 sonar.o: $(UTILS_SRC)/colors.h
+sonar.o: $(UTILS_SRC)/erase.h
 sonar.o: $(UTILS_SRC)/grabscreen.h
 sonar.o: $(UTILS_SRC)/hsv.h
 sonar.o: $(UTILS_SRC)/resources.h
 sonar.o: $(UTILS_SRC)/thread_util.h
 sonar.o: $(UTILS_SRC)/usleep.h
 sonar.o: $(UTILS_SRC)/visual.h
-sonar.o: $(UTILS_SRC)/xshm.h
 sonar.o: $(UTILS_SRC)/yarandom.h
 sonar.o: $(HACK_SRC)/xlockmoreI.h
 sonar.o: $(HACK_SRC)/xlockmore.h
@@ -2651,12 +2672,12 @@ spheremonics.o: $(srcdir)/rotator.h
 spheremonics.o: $(HACK_SRC)/screenhackI.h
 spheremonics.o: $(srcdir)/texfont.h
 spheremonics.o: $(UTILS_SRC)/colors.h
+spheremonics.o: $(UTILS_SRC)/erase.h
 spheremonics.o: $(UTILS_SRC)/grabscreen.h
 spheremonics.o: $(UTILS_SRC)/hsv.h
 spheremonics.o: $(UTILS_SRC)/resources.h
 spheremonics.o: $(UTILS_SRC)/usleep.h
 spheremonics.o: $(UTILS_SRC)/visual.h
-spheremonics.o: $(UTILS_SRC)/xshm.h
 spheremonics.o: $(UTILS_SRC)/yarandom.h
 spheremonics.o: $(HACK_SRC)/xlockmoreI.h
 spheremonics.o: $(HACK_SRC)/xlockmore.h
@@ -2670,6 +2691,7 @@ splitflap.o: $(srcdir)/rotator.h
 splitflap.o: $(HACK_SRC)/screenhackI.h
 splitflap.o: $(srcdir)/texfont.h
 splitflap.o: $(UTILS_SRC)/colors.h
+splitflap.o: $(UTILS_SRC)/erase.h
 splitflap.o: $(UTILS_SRC)/grabscreen.h
 splitflap.o: $(UTILS_SRC)/hsv.h
 splitflap.o: $(UTILS_SRC)/resources.h
@@ -2677,7 +2699,6 @@ splitflap.o: $(UTILS_SRC)/textclient.h
 splitflap.o: $(UTILS_SRC)/usleep.h
 splitflap.o: $(UTILS_SRC)/utf8wc.h
 splitflap.o: $(UTILS_SRC)/visual.h
-splitflap.o: $(UTILS_SRC)/xshm.h
 splitflap.o: $(UTILS_SRC)/yarandom.h
 splitflap.o: $(HACK_SRC)/xlockmoreI.h
 splitflap.o: $(HACK_SRC)/xlockmore.h
@@ -2691,12 +2712,12 @@ splodesic.o: $(srcdir)/normals.h
 splodesic.o: $(srcdir)/rotator.h
 splodesic.o: $(HACK_SRC)/screenhackI.h
 splodesic.o: $(UTILS_SRC)/colors.h
+splodesic.o: $(UTILS_SRC)/erase.h
 splodesic.o: $(UTILS_SRC)/grabscreen.h
 splodesic.o: $(UTILS_SRC)/hsv.h
 splodesic.o: $(UTILS_SRC)/resources.h
 splodesic.o: $(UTILS_SRC)/usleep.h
 splodesic.o: $(UTILS_SRC)/visual.h
-splodesic.o: $(UTILS_SRC)/xshm.h
 splodesic.o: $(UTILS_SRC)/yarandom.h
 splodesic.o: $(HACK_SRC)/xlockmoreI.h
 splodesic.o: $(HACK_SRC)/xlockmore.h
@@ -2706,12 +2727,12 @@ sproingies.o: $(srcdir)/gllist.h
 sproingies.o: $(HACK_SRC)/screenhackI.h
 sproingies.o: $(srcdir)/sproingies.h
 sproingies.o: $(UTILS_SRC)/colors.h
+sproingies.o: $(UTILS_SRC)/erase.h
 sproingies.o: $(UTILS_SRC)/grabscreen.h
 sproingies.o: $(UTILS_SRC)/hsv.h
 sproingies.o: $(UTILS_SRC)/resources.h
 sproingies.o: $(UTILS_SRC)/usleep.h
 sproingies.o: $(UTILS_SRC)/visual.h
-sproingies.o: $(UTILS_SRC)/xshm.h
 sproingies.o: $(UTILS_SRC)/yarandom.h
 sproingies.o: $(HACK_SRC)/xlockmoreI.h
 sproingiewrap.o: ../../config.h
@@ -2719,12 +2740,12 @@ sproingiewrap.o: $(HACK_SRC)/fps.h
 sproingiewrap.o: $(HACK_SRC)/screenhackI.h
 sproingiewrap.o: $(srcdir)/sproingies.h
 sproingiewrap.o: $(UTILS_SRC)/colors.h
+sproingiewrap.o: $(UTILS_SRC)/erase.h
 sproingiewrap.o: $(UTILS_SRC)/grabscreen.h
 sproingiewrap.o: $(UTILS_SRC)/hsv.h
 sproingiewrap.o: $(UTILS_SRC)/resources.h
 sproingiewrap.o: $(UTILS_SRC)/usleep.h
 sproingiewrap.o: $(UTILS_SRC)/visual.h
-sproingiewrap.o: $(UTILS_SRC)/xshm.h
 sproingiewrap.o: $(UTILS_SRC)/yarandom.h
 sproingiewrap.o: $(HACK_SRC)/xlockmoreI.h
 sproingiewrap.o: $(HACK_SRC)/xlockmore.h
@@ -2735,12 +2756,12 @@ stairs.o: $(HACK_SRC)/images/wood.xpm
 stairs.o: $(HACK_SRC)/screenhackI.h
 stairs.o: $(srcdir)/sphere.h
 stairs.o: $(UTILS_SRC)/colors.h
+stairs.o: $(UTILS_SRC)/erase.h
 stairs.o: $(UTILS_SRC)/grabscreen.h
 stairs.o: $(UTILS_SRC)/hsv.h
 stairs.o: $(UTILS_SRC)/resources.h
 stairs.o: $(UTILS_SRC)/usleep.h
 stairs.o: $(UTILS_SRC)/visual.h
-stairs.o: $(UTILS_SRC)/xshm.h
 stairs.o: $(UTILS_SRC)/yarandom.h
 stairs.o: $(HACK_SRC)/xlockmoreI.h
 stairs.o: $(HACK_SRC)/xlockmore.h
@@ -2753,6 +2774,7 @@ starwars.o: $(HACK_SRC)/screenhackI.h
 starwars.o: $(srcdir)/starwars.h
 starwars.o: $(srcdir)/texfont.h
 starwars.o: $(UTILS_SRC)/colors.h
+starwars.o: $(UTILS_SRC)/erase.h
 starwars.o: $(UTILS_SRC)/grabscreen.h
 starwars.o: $(UTILS_SRC)/hsv.h
 starwars.o: $(UTILS_SRC)/resources.h
@@ -2760,7 +2782,6 @@ starwars.o: $(UTILS_SRC)/textclient.h
 starwars.o: $(UTILS_SRC)/usleep.h
 starwars.o: $(UTILS_SRC)/utf8wc.h
 starwars.o: $(UTILS_SRC)/visual.h
-starwars.o: $(UTILS_SRC)/xshm.h
 starwars.o: $(UTILS_SRC)/yarandom.h
 starwars.o: $(HACK_SRC)/xlockmoreI.h
 starwars.o: $(HACK_SRC)/xlockmore.h
@@ -2777,12 +2798,12 @@ stonerview.o: $(srcdir)/stonerview.h
 stonerview.o: $(srcdir)/stonerview-move.h
 stonerview.o: $(srcdir)/stonerview-osc.h
 stonerview.o: $(UTILS_SRC)/colors.h
+stonerview.o: $(UTILS_SRC)/erase.h
 stonerview.o: $(UTILS_SRC)/grabscreen.h
 stonerview.o: $(UTILS_SRC)/hsv.h
 stonerview.o: $(UTILS_SRC)/resources.h
 stonerview.o: $(UTILS_SRC)/usleep.h
 stonerview.o: $(UTILS_SRC)/visual.h
-stonerview.o: $(UTILS_SRC)/xshm.h
 stonerview.o: $(UTILS_SRC)/yarandom.h
 stonerview.o: $(HACK_SRC)/xlockmoreI.h
 stonerview.o: $(HACK_SRC)/xlockmore.h
@@ -2799,12 +2820,12 @@ superquadrics.o: ../../config.h
 superquadrics.o: $(HACK_SRC)/fps.h
 superquadrics.o: $(HACK_SRC)/screenhackI.h
 superquadrics.o: $(UTILS_SRC)/colors.h
+superquadrics.o: $(UTILS_SRC)/erase.h
 superquadrics.o: $(UTILS_SRC)/grabscreen.h
 superquadrics.o: $(UTILS_SRC)/hsv.h
 superquadrics.o: $(UTILS_SRC)/resources.h
 superquadrics.o: $(UTILS_SRC)/usleep.h
 superquadrics.o: $(UTILS_SRC)/visual.h
-superquadrics.o: $(UTILS_SRC)/xshm.h
 superquadrics.o: $(UTILS_SRC)/yarandom.h
 superquadrics.o: $(HACK_SRC)/xlockmoreI.h
 superquadrics.o: $(HACK_SRC)/xlockmore.h
@@ -2814,12 +2835,12 @@ surfaces.o: $(srcdir)/gltrackball.h
 surfaces.o: $(srcdir)/rotator.h
 surfaces.o: $(HACK_SRC)/screenhackI.h
 surfaces.o: $(UTILS_SRC)/colors.h
+surfaces.o: $(UTILS_SRC)/erase.h
 surfaces.o: $(UTILS_SRC)/grabscreen.h
 surfaces.o: $(UTILS_SRC)/hsv.h
 surfaces.o: $(UTILS_SRC)/resources.h
 surfaces.o: $(UTILS_SRC)/usleep.h
 surfaces.o: $(UTILS_SRC)/visual.h
-surfaces.o: $(UTILS_SRC)/xshm.h
 surfaces.o: $(UTILS_SRC)/yarandom.h
 surfaces.o: $(HACK_SRC)/xlockmoreI.h
 surfaces.o: $(HACK_SRC)/xlockmore.h
@@ -2828,12 +2849,12 @@ swim.o: ../../config.h
 swim.o: $(HACK_SRC)/fps.h
 swim.o: $(HACK_SRC)/screenhackI.h
 swim.o: $(UTILS_SRC)/colors.h
+swim.o: $(UTILS_SRC)/erase.h
 swim.o: $(UTILS_SRC)/grabscreen.h
 swim.o: $(UTILS_SRC)/hsv.h
 swim.o: $(UTILS_SRC)/resources.h
 swim.o: $(UTILS_SRC)/usleep.h
 swim.o: $(UTILS_SRC)/visual.h
-swim.o: $(UTILS_SRC)/xshm.h
 swim.o: $(UTILS_SRC)/yarandom.h
 swim.o: $(HACK_SRC)/xlockmoreI.h
 tangram.o: ../../config.h
@@ -2842,12 +2863,12 @@ tangram.o: $(HACK_SRC)/screenhackI.h
 tangram.o: $(srcdir)/tangram_shapes.h
 tangram.o: $(srcdir)/texfont.h
 tangram.o: $(UTILS_SRC)/colors.h
+tangram.o: $(UTILS_SRC)/erase.h
 tangram.o: $(UTILS_SRC)/grabscreen.h
 tangram.o: $(UTILS_SRC)/hsv.h
 tangram.o: $(UTILS_SRC)/resources.h
 tangram.o: $(UTILS_SRC)/usleep.h
 tangram.o: $(UTILS_SRC)/visual.h
-tangram.o: $(UTILS_SRC)/xshm.h
 tangram.o: $(UTILS_SRC)/yarandom.h
 tangram.o: $(HACK_SRC)/xlockmoreI.h
 tangram.o: $(HACK_SRC)/xlockmore.h
@@ -2872,13 +2893,13 @@ timetunnel.o: $(HACK_SRC)/images/tunnelstar.xpm
 timetunnel.o: $(srcdir)/rotator.h
 timetunnel.o: $(HACK_SRC)/screenhackI.h
 timetunnel.o: $(UTILS_SRC)/colors.h
+timetunnel.o: $(UTILS_SRC)/erase.h
 timetunnel.o: $(UTILS_SRC)/grabscreen.h
 timetunnel.o: $(UTILS_SRC)/hsv.h
 timetunnel.o: $(UTILS_SRC)/images/logo-180.xpm
 timetunnel.o: $(UTILS_SRC)/resources.h
 timetunnel.o: $(UTILS_SRC)/usleep.h
 timetunnel.o: $(UTILS_SRC)/visual.h
-timetunnel.o: $(UTILS_SRC)/xshm.h
 timetunnel.o: $(UTILS_SRC)/yarandom.h
 timetunnel.o: $(HACK_SRC)/xlockmoreI.h
 timetunnel.o: $(HACK_SRC)/xlockmore.h
@@ -2911,12 +2932,12 @@ topblock.o: $(srcdir)/sphere.h
 topblock.o: $(srcdir)/topblock.h
 topblock.o: $(srcdir)/tube.h
 topblock.o: $(UTILS_SRC)/colors.h
+topblock.o: $(UTILS_SRC)/erase.h
 topblock.o: $(UTILS_SRC)/grabscreen.h
 topblock.o: $(UTILS_SRC)/hsv.h
 topblock.o: $(UTILS_SRC)/resources.h
 topblock.o: $(UTILS_SRC)/usleep.h
 topblock.o: $(UTILS_SRC)/visual.h
-topblock.o: $(UTILS_SRC)/xshm.h
 topblock.o: $(UTILS_SRC)/yarandom.h
 topblock.o: $(HACK_SRC)/xlockmoreI.h
 topblock.o: $(HACK_SRC)/xlockmore.h
@@ -2936,12 +2957,12 @@ tronbit.o: $(srcdir)/rotator.h
 tronbit.o: $(HACK_SRC)/screenhackI.h
 tronbit.o: $(srcdir)/sphere.h
 tronbit.o: $(UTILS_SRC)/colors.h
+tronbit.o: $(UTILS_SRC)/erase.h
 tronbit.o: $(UTILS_SRC)/grabscreen.h
 tronbit.o: $(UTILS_SRC)/hsv.h
 tronbit.o: $(UTILS_SRC)/resources.h
 tronbit.o: $(UTILS_SRC)/usleep.h
 tronbit.o: $(UTILS_SRC)/visual.h
-tronbit.o: $(UTILS_SRC)/xshm.h
 tronbit.o: $(UTILS_SRC)/yarandom.h
 tronbit.o: $(HACK_SRC)/xlockmoreI.h
 tronbit.o: $(HACK_SRC)/xlockmore.h
@@ -2954,12 +2975,12 @@ tunnel_draw.o: $(HACK_SRC)/fps.h
 tunnel_draw.o: $(HACK_SRC)/screenhackI.h
 tunnel_draw.o: $(srcdir)/tunnel_draw.h
 tunnel_draw.o: $(UTILS_SRC)/colors.h
+tunnel_draw.o: $(UTILS_SRC)/erase.h
 tunnel_draw.o: $(UTILS_SRC)/grabscreen.h
 tunnel_draw.o: $(UTILS_SRC)/hsv.h
 tunnel_draw.o: $(UTILS_SRC)/resources.h
 tunnel_draw.o: $(UTILS_SRC)/usleep.h
 tunnel_draw.o: $(UTILS_SRC)/visual.h
-tunnel_draw.o: $(UTILS_SRC)/xshm.h
 tunnel_draw.o: $(UTILS_SRC)/yarandom.h
 tunnel_draw.o: $(HACK_SRC)/xlockmoreI.h
 unicrud.o: ../../config.h
@@ -2969,13 +2990,13 @@ unicrud.o: $(srcdir)/rotator.h
 unicrud.o: $(HACK_SRC)/screenhackI.h
 unicrud.o: $(srcdir)/texfont.h
 unicrud.o: $(UTILS_SRC)/colors.h
+unicrud.o: $(UTILS_SRC)/erase.h
 unicrud.o: $(UTILS_SRC)/grabscreen.h
 unicrud.o: $(UTILS_SRC)/hsv.h
 unicrud.o: $(UTILS_SRC)/resources.h
 unicrud.o: $(UTILS_SRC)/usleep.h
 unicrud.o: $(UTILS_SRC)/utf8wc.h
 unicrud.o: $(UTILS_SRC)/visual.h
-unicrud.o: $(UTILS_SRC)/xshm.h
 unicrud.o: $(UTILS_SRC)/yarandom.h
 unicrud.o: $(HACK_SRC)/xlockmoreI.h
 unicrud.o: $(HACK_SRC)/xlockmore.h
@@ -2984,12 +3005,12 @@ unknownpleasures.o: $(HACK_SRC)/fps.h
 unknownpleasures.o: $(srcdir)/gltrackball.h
 unknownpleasures.o: $(HACK_SRC)/screenhackI.h
 unknownpleasures.o: $(UTILS_SRC)/colors.h
+unknownpleasures.o: $(UTILS_SRC)/erase.h
 unknownpleasures.o: $(UTILS_SRC)/grabscreen.h
 unknownpleasures.o: $(UTILS_SRC)/hsv.h
 unknownpleasures.o: $(UTILS_SRC)/resources.h
 unknownpleasures.o: $(UTILS_SRC)/usleep.h
 unknownpleasures.o: $(UTILS_SRC)/visual.h
-unknownpleasures.o: $(UTILS_SRC)/xshm.h
 unknownpleasures.o: $(UTILS_SRC)/yarandom.h
 unknownpleasures.o: $(HACK_SRC)/xlockmoreI.h
 unknownpleasures.o: $(HACK_SRC)/xlockmore.h
@@ -3000,12 +3021,12 @@ vigilance.o: $(srcdir)/gltrackball.h
 vigilance.o: $(srcdir)/normals.h
 vigilance.o: $(HACK_SRC)/screenhackI.h
 vigilance.o: $(UTILS_SRC)/colors.h
+vigilance.o: $(UTILS_SRC)/erase.h
 vigilance.o: $(UTILS_SRC)/grabscreen.h
 vigilance.o: $(UTILS_SRC)/hsv.h
 vigilance.o: $(UTILS_SRC)/resources.h
 vigilance.o: $(UTILS_SRC)/usleep.h
 vigilance.o: $(UTILS_SRC)/visual.h
-vigilance.o: $(UTILS_SRC)/xshm.h
 vigilance.o: $(UTILS_SRC)/yarandom.h
 vigilance.o: $(HACK_SRC)/xlockmoreI.h
 vigilance.o: $(HACK_SRC)/xlockmore.h
@@ -3014,12 +3035,12 @@ voronoi.o: ../../config.h
 voronoi.o: $(HACK_SRC)/fps.h
 voronoi.o: $(HACK_SRC)/screenhackI.h
 voronoi.o: $(UTILS_SRC)/colors.h
+voronoi.o: $(UTILS_SRC)/erase.h
 voronoi.o: $(UTILS_SRC)/grabscreen.h
 voronoi.o: $(UTILS_SRC)/hsv.h
 voronoi.o: $(UTILS_SRC)/resources.h
 voronoi.o: $(UTILS_SRC)/usleep.h
 voronoi.o: $(UTILS_SRC)/visual.h
-voronoi.o: $(UTILS_SRC)/xshm.h
 voronoi.o: $(UTILS_SRC)/yarandom.h
 voronoi.o: $(HACK_SRC)/xlockmoreI.h
 voronoi.o: $(HACK_SRC)/xlockmore.h
@@ -3044,13 +3065,13 @@ winduprobot.o: $(HACK_SRC)/screenhackI.h
 winduprobot.o: $(srcdir)/sphere.h
 winduprobot.o: $(srcdir)/texfont.h
 winduprobot.o: $(UTILS_SRC)/colors.h
+winduprobot.o: $(UTILS_SRC)/erase.h
 winduprobot.o: $(UTILS_SRC)/grabscreen.h
 winduprobot.o: $(UTILS_SRC)/hsv.h
 winduprobot.o: $(UTILS_SRC)/resources.h
 winduprobot.o: $(UTILS_SRC)/textclient.h
 winduprobot.o: $(UTILS_SRC)/usleep.h
 winduprobot.o: $(UTILS_SRC)/visual.h
-winduprobot.o: $(UTILS_SRC)/xshm.h
 winduprobot.o: $(UTILS_SRC)/yarandom.h
 winduprobot.o: $(HACK_SRC)/xlockmoreI.h
 winduprobot.o: $(HACK_SRC)/xlockmore.h
@@ -3060,12 +3081,12 @@ xlock-gl-utils.o: $(HACK_SRC)/fps.h
 xlock-gl-utils.o: $(HACK_SRC)/screenhackI.h
 xlock-gl-utils.o: $(srcdir)/texfont.h
 xlock-gl-utils.o: $(UTILS_SRC)/colors.h
+xlock-gl-utils.o: $(UTILS_SRC)/erase.h
 xlock-gl-utils.o: $(UTILS_SRC)/grabscreen.h
 xlock-gl-utils.o: $(UTILS_SRC)/hsv.h
 xlock-gl-utils.o: $(UTILS_SRC)/resources.h
 xlock-gl-utils.o: $(UTILS_SRC)/usleep.h
 xlock-gl-utils.o: $(UTILS_SRC)/visual.h
-xlock-gl-utils.o: $(UTILS_SRC)/xshm.h
 xlock-gl-utils.o: $(UTILS_SRC)/yarandom.h
 xlock-gl-utils.o: $(HACK_SRC)/xlockmoreI.h
 xpm-ximage.o: ../../config.h