http://packetstormsecurity.org/UNIX/admin/xscreensaver-4.01.tar.gz
[xscreensaver] / hacks / Makefile.in
index de2c10e3f78636ef62d29a953df86d9a28da28fb..008ec75d7fba548fede3b025cf92e6201ca91b7e 100644 (file)
@@ -1,4 +1,4 @@
-# hacks/Makefile.in --- xscreensaver, Copyright (c) 1997 Jamie Zawinski.
+# hacks/Makefile.in --- xscreensaver, Copyright (c) 1997-1999 Jamie Zawinski.
 # the `../configure' script generates `hacks/Makefile' from this file.
 
 @SET_MAKE@
@@ -21,6 +21,7 @@ CFLAGS                = @CFLAGS@
 LDFLAGS                = @LDFLAGS@
 DEFS           = -DSTANDALONE @DEFS@
 LIBS           = @LIBS@
+PERL           = @PERL@
 
 DEPEND         = @DEPEND@
 DEPEND_FLAGS   = @DEPEND_FLAGS@
@@ -28,45 +29,50 @@ DEPEND_DEFINES      = @DEPEND_DEFINES@
 
 SHELL          = /bin/sh
 INSTALL                = @INSTALL@
+SUID_FLAGS      = -o root -m 4755
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT  = @INSTALL_SCRIPT@
+INSTALL_SETUID  = @INSTALL_SETUID@
 INSTALL_DATA   = @INSTALL_DATA@
 INSTALL_DIRS   = @INSTALL_DIRS@
+GNOME_DATADIR  = @GNOME_DATADIR@
 HACKDIR                = @HACKDIR@
+HACK_CONF_DIR  = @HACK_CONF_DIR@
 
 X_CFLAGS       = @X_CFLAGS@
 X_LIBS         = @X_LIBS@
 X_PRE_LIBS     = @X_PRE_LIBS@
 X_EXTRA_LIBS   = @X_EXTRA_LIBS@
+XMU_LIBS       = @XMU_LIBS@
 
 # Note: see comment in ../driver/Makefile.in for explanation of X_LIBS, etc.
 #
 HACK_PRE       = $(LIBS) $(X_LIBS)
-HACK_POST      = $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS) -lm
+HACK_POST     = $(X_PRE_LIBS) -lXt -lX11 $(XMU_LIBS) -lXext $(X_EXTRA_LIBS) -lm
 HACK_LIBS      = $(HACK_PRE)            @HACK_LIBS@ $(HACK_POST)
 XPM_LIBS       = $(HACK_PRE) @XPM_LIBS@ @HACK_LIBS@ $(HACK_POST)
+JPEG_LIBS      = @JPEG_LIBS@
 XLOCK_LIBS     = $(HACK_LIBS)
-SGI_VIDEO_OBJS  = @SGI_VIDEO_OBJS@
-SGI_VIDEO_LIBS  = @SGI_VIDEO_LIBS@
 
 UTILS_SRC      = $(srcdir)/../utils
 UTILS_BIN      = ../utils
 
-INCLUDES       = -I$(srcdir) -I$(UTILS_SRC) -I.. @INCLUDES@
+INCLUDES       = -I. -I$(srcdir) -I$(UTILS_SRC) -I.. @INCLUDES@
 
 UTIL_SRCS      = $(UTILS_SRC)/alpha.c $(UTILS_SRC)/colors.c \
-                 $(UTILS_SRC)/grabscreen.c $(UTILS_SRC)/hsv.c \
-                 $(UTILS_SRC)/resources.c $(UTILS_SRC)/spline.c \
-                 $(UTILS_SRC)/usleep.c $(UTILS_SRC)/visual.c \
-                 $(UTILS_SRC)/xroger.c $(UTILS_SRC)/yarandom.c \
-                 $(UTILS_SRC)/erase.c $(UTILS_SRC)/sgivideo.c \
-                 $(UTILS_SRC)/xshm.c
+                 $(UTILS_SRC)/grabscreen.c $(UTILS_SRC)/grabclient.c \
+                 $(UTILS_SRC)/hsv.c $(UTILS_SRC)/resources.c \
+                 $(UTILS_SRC)/spline.c $(UTILS_SRC)/usleep.c \
+                 $(UTILS_SRC)/visual.c $(UTILS_SRC)/logo.c \
+                 $(UTILS_SRC)/yarandom.c $(UTILS_SRC)/erase.c \
+                 $(UTILS_SRC)/xshm.c $(UTILS_SRC)/xdbe.c
 UTIL_OBJS      = $(UTILS_BIN)/alpha.o $(UTILS_BIN)/colors.o \
-                 $(UTILS_BIN)/grabscreen.o $(UTILS_BIN)/hsv.o \
-                 $(UTILS_BIN)/resources.o $(UTILS_BIN)/spline.o \
-                 $(UTILS_BIN)/usleep.o $(UTILS_BIN)/visual.o \
-                 $(UTILS_BIN)/xroger.o $(UTILS_BIN)/yarandom.o \
-                 $(UTILS_BIN)/erase.o $(UTILS_BIN)/sgivideo.o \
-                 $(UTILS_SRC)/xshm.o
+                 $(UTILS_BIN)/grabscreen.o $(UTILS_BIN)/grabclient.o \
+                 $(UTILS_BIN)/hsv.o $(UTILS_BIN)/resources.o \
+                 $(UTILS_BIN)/spline.o $(UTILS_BIN)/usleep.o \
+                 $(UTILS_BIN)/visual.o $(UTILS_BIN)/logo.o \
+                 $(UTILS_BIN)/yarandom.o $(UTILS_BIN)/erase.o \
+                 $(UTILS_SRC)/xshm.o $(UTILS_SRC)/xdbe.o
 
 SRCS           = attraction.c blitspin.c bouboule.c braid.c bubbles.c \
                  bubbles-default.c decayscreen.c deco.c drift.c flag.c \
@@ -76,11 +82,20 @@ SRCS                = attraction.c blitspin.c bouboule.c braid.c bubbles.c \
                  maze.c moire.c noseguy.c pedal.c penrose.c pyro.c qix.c \
                  rocks.c rorschach.c screenhack.c sierpinski.c slidescreen.c \
                  slip.c sphere.c spiral.c strange.c swirl.c xlockmore.c \
-                 xroger-hack.c goop.c starfish.c munch.c fadeplot.c \
+                 goop.c starfish.c munch.c fadeplot.c \
                  rd-bomb.c coral.c mountain.c triangle.c lissie.c worm.c \
                  rotor.c ant.c xjack.c xlyap.c jigsaw.c xscreensaver-sgigl.c \
                  cynosure.c moire2.c flow.c epicycle.c interference.c \
-                 truchet.c bsod.c crystal.c discrete.c distort.c kumppa.c
+                 truchet.c bsod.c crystal.c discrete.c distort.c kumppa.c \
+                 sonar.c demon.c loop.c t3d.c penetrate.c deluxe.c compass.c \
+                 squiral.c xflame.c wander.c spotlight.c critical.c \
+                 phosphor.c xmatrix.c petri.c shadebobs.c xsublim.c ccurve.c \
+                 blaster.c bumps.c ripples.c xteevee.c xspirograph.c \
+                 nerverot.c xrayswarm.c hyperball.c zoom.c whirlwindwarp.c \
+                 rotzoomer.c whirlygig.c speedmine.c vermiculate.c \
+                 xpm-pixmap.c webcollage-helper.c twang.c apollonian.c \
+                 euler2d.c juggle.c polyominoes.c thornbird.c
+SCRIPTS                = vidwhacker webcollage
 
 OBJS           = attraction.o blitspin.o bouboule.o braid.o bubbles.o \
                  bubbles-default.o decayscreen.o deco.o drift.o flag.o \
@@ -90,33 +105,51 @@ OBJS               = attraction.o blitspin.o bouboule.o braid.o bubbles.o \
                  maze.o moire.o noseguy.o pedal.o penrose.o pyro.o qix.o \
                  rocks.o rorschach.o screenhack.o sierpinski.o slidescreen.o \
                  slip.o sphere.o spiral.o strange.o swirl.o xlockmore.o \
-                 xroger-hack.o goop.o starfish.o munch.o fadeplot.o \
+                 goop.o starfish.o munch.o fadeplot.o \
                  rd-bomb.o coral.o mountain.o triangle.o lissie.o worm.o \
                  rotor.o ant.o xjack.o xlyap.o jigsaw.o xscreensaver-sgigl.o \
                  cynosure.o moire2.o flow.o epicycle.o interference.o \
-                 truchet.o bsod.o crystal.o discrete.o distort.o kumppa.o
-
-EXES           = attraction blitspin bouboule braid bubbles decayscreen deco \
+                 truchet.o bsod.o crystal.o discrete.o distort.o kumppa.o \
+                 sonar.o demon.o loop.o t3d.o penetrate.o deluxe.o compass.o \
+                 squiral.o xflame.o wander.o spotlight.o critical.o \
+                 phosphor.o xmatrix.o petri.o shadebobs.o xsublim.o ccurve.o \
+                 blaster.o bumps.o ripples.o xteevee.o xspirograph.o \
+                 nerverot.o xrayswarm.o hyperball.o zoom.o whirlwindwarp.o \
+                 rotzoomer.o whirlygig.o speedmine.o vermiculate.o \
+                 xpm-pixmap.o webcollage-helper.o twang.o apollonian.o \
+                 euler2d.o juggle.o polyominoes.o thornbird.o
+
+NEXES          = attraction blitspin bouboule braid bubbles decayscreen deco \
                  drift flag flame forest vines galaxy grav greynetic halo \
                  helix hopalong hypercube ifs imsmap julia kaleidescope \
                  laser lightning lisa lmorph maze moire noseguy pedal \
                  penrose pyro qix rocks rorschach sierpinski slidescreen \
-                 slip sphere spiral strange swirl xroger goop starfish munch \
+                 slip sphere spiral strange swirl goop starfish munch \
                  fadeplot rd-bomb coral mountain triangle lissie worm rotor \
                  ant xjack xlyap jigsaw cynosure moire2 flow epicycle \
-                 interference truchet bsod crystal discrete distort kumppa
+                 interference truchet bsod crystal discrete distort kumppa \
+                 demon loop t3d penetrate deluxe compass squiral xflame \
+                 wander spotlight critical phosphor xmatrix petri shadebobs \
+                 xsublim ccurve blaster bumps ripples xteevee xspirograph \
+                 nerverot xrayswarm hyperball zoom whirlwindwarp rotzoomer \
+                 whirlygig speedmine vermiculate twang apollonian euler2d \
+                 juggle polyominoes thornbird \
+                 @JPEG_EXES@
+SEXES          = sonar
+JPEG_EXES      = webcollage-helper
+EXES           = $(NEXES) $(SEXES)
 
 HACK_OBJS_1    = $(UTILS_BIN)/resources.o $(UTILS_BIN)/visual.o \
                  $(UTILS_BIN)/usleep.o $(UTILS_BIN)/yarandom.o @XMU_OBJS@
 HACK_OBJS      = screenhack.o $(HACK_OBJS_1)
 XLOCK_OBJS     = screenhack-xlock.o xlockmore.o $(COLOR_OBJS) $(HACK_OBJS_1)
 COLOR_OBJS     = $(UTILS_BIN)/hsv.o $(UTILS_BIN)/colors.o
-GRAB_OBJS_1    = $(UTILS_BIN)/grabscreen.o $(SGI_VIDEO_OBJS)
-GRAB_OBJS      = $(GRAB_OBJS_1) $(COLOR_OBJS)
+GRAB_OBJS      = $(UTILS_BIN)/grabclient.o
 XSHM_OBJS      = $(UTILS_BIN)/xshm.o
-GRAB_LIBS      = $(SGI_VIDEO_LIBS)
+XDBE_OBJS      = $(UTILS_BIN)/xdbe.o
 
-HDRS           = bubbles.h screenhack.h xlockmore.h xlockmoreI.h
+HDRS           = bubbles.h screenhack.h xlockmore.h xlockmoreI.h automata.h \
+                 bumps.h xpm-pixmap.h
 MEN            = attraction.man blitspin.man bouboule.man braid.man \
                  bubbles.man decayscreen.man deco.man drift.man flag.man \
                  flame.man forest.man vines.man galaxy.man grav.man \
@@ -126,11 +159,18 @@ MEN               = attraction.man blitspin.man bouboule.man braid.man \
                  noseguy.man pedal.man penrose.man pyro.man qix.man \
                  rocks.man rorschach.man sierpinski.man slidescreen.man \
                  slip.man sphere.man spiral.man strange.man swirl.man \
-                 xroger.man goop.man starfish.man munch.man rd-bomb.man \
-                 xjack.man xlyap.man jigsaw.man epicycle.man bsod.man
+                 goop.man starfish.man munch.man rd-bomb.man bumps.man \
+                 xjack.man xlyap.man jigsaw.man epicycle.man bsod.man \
+                 sonar.man t3d.man squiral.man spotlight.man critical.man \
+                 vidwhacker.man webcollage.man xsublim.man distort.man \
+                 phosphor.man xmatrix.man xteevee.man xflame.man petri.man \
+                 nerverot.man zoom.man whirlwindwarp.man hyperball.man \
+                 rotzoomer.man whirlygig.man speedmine.man penetrate.man \
+                 xspirograph.man twang.man
 STAR           = *
 EXTRAS         = README Makefile.in xlock_23.h .gdbinit \
-                 vidwhacker \
+                 config/README \
+                 config/$(STAR).xml \
                  images/$(STAR).xbm \
                  images/$(STAR).xpm \
                  images/bubbles/$(STAR).pov \
@@ -138,50 +178,133 @@ EXTRAS           = README Makefile.in xlock_23.h .gdbinit \
                  images/noseguy/$(STAR).xbm \
                  images/noseguy/$(STAR).xpm \
                  images/jigsaw/$(STAR).xbm  \
+                 images/molecules/$(STAR).pdb
 
 VMSFILES       = compile_axp.com compile_decc.com link_axp.com link_decc.com \
                  vms_axp.opt vms_axp_12.opt vms_decc.opt vms_decc_12.opt
 
-TARFILES       = $(SRCS) $(HDRS) $(MEN) $(EXTRAS) $(VMSFILES)
+TARFILES       = $(SRCS) $(HDRS) $(SCRIPTS) $(MEN) $(EXTRAS) $(VMSFILES)
 
 
+default: all
 all: $(EXES)
 
-install:   install-program   install-man
-uninstall: uninstall-program uninstall-man
+install:   install-program   install-scripts install-xml install-man
+uninstall: uninstall-program uninstall-xml uninstall-man
 
 install-strip:
-       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install
-
-install-program: $(EXES)
-       @exes="$(EXES)" ;                                               \
-       if [ ! -d $(HACKDIR) ]; then $(INSTALL_DIRS) $(HACKDIR) ; fi ;  \
-       for program in $$exes; do                                       \
-         echo $(INSTALL_PROGRAM) $$program $(HACKDIR)/$$program ;      \
-         $(INSTALL_PROGRAM) $$program $(HACKDIR)/$$program ;           \
+       $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
+               install
+
+# the hacks, in $HACKDIR
+install-program:: $(EXES)
+       @if [ ! -d $(install_prefix)$(HACKDIR) ]; then                  \
+         $(INSTALL_DIRS) $(install_prefix)$(HACKDIR) ;                 \
+        fi ;                                                           \
+       for program in $(NEXES); do                                     \
+         echo $(INSTALL_PROGRAM) $$program                             \
+           $(install_prefix)$(HACKDIR)/$$program ;                     \
+         $(INSTALL_PROGRAM) $$program                                  \
+           $(install_prefix)$(HACKDIR)/$$program ;                     \
+       done ;                                                          \
+       if [ @SETUID_HACKS@ = yes ]; then                               \
+         sinst="$(INSTALL_SETUID)" ;                                   \
+       else                                                            \
+         sinst="$(INSTALL_PROGRAM)" ;                                  \
+       fi ;                                                            \
+       for program in $(SEXES); do                                     \
+         instargs="$$program $(install_prefix)$(HACKDIR)/$$program" ;  \
+         echo $$sinst $$instargs ;                                     \
+         if   $$sinst $$instargs ; then                                \
+             true ;                                                    \
+         elif [ @SETUID_HACKS@ = yes ]; then                           \
+           echo $(INSTALL_PROGRAM) $$instargs ;                        \
+           if   $(INSTALL_PROGRAM) $$instargs ; then                   \
+             echo "" ;                                                 \
+             echo "WARNING: unable to install $$program setuid:"       \
+                  "installed non-setuid instead." ;                    \
+             echo "" ;                                                 \
+           else                                                        \
+             exit 1 ;                                                  \
+           fi ;                                                        \
+         else                                                          \
+           exit 1 ;                                                    \
+         fi ;                                                          \
+       done
+
+install-scripts: $(SCRIPTS) munge-scripts
+       @for program in $(SCRIPTS); do                                  \
+         if [ -r $$program ] ; then                                    \
+           p=$$program ;                                               \
+         else                                                          \
+           p=$(srcdir)/$$program ;                                     \
+         fi ;                                                          \
+         echo $(INSTALL_SCRIPT) $$p                                    \
+           $(install_prefix)$(HACKDIR)/$$program ;                     \
+         $(INSTALL_SCRIPT) $$p                                         \
+           $(install_prefix)$(HACKDIR)/$$program ;                     \
        done
 
+munge-scripts: $(SCRIPTS)
+       @tmp=/tmp/mf.$$$$ ;                                             \
+       perl="${PERL}" ;                                                \
+       rm -f $$tmp ;                                                   \
+       for program in $(SCRIPTS); do                                   \
+         echo "adjusting location of perl in $$program..." ;           \
+         sed "s@^\(#!\)\(/[^ ]*/perl[^ ]*\)\(.*\)\$$@\1$$perl\3@"      \
+             < $(srcdir)/$$program > $$tmp ;                           \
+         if cmp -s $(srcdir)/$$program $$tmp ; then                    \
+           true ;                                                      \
+         else                                                          \
+           cat $$tmp > ./$$program ;                                   \
+         fi ;                                                          \
+       done ;                                                          \
+       rm -f $$tmp
+
 install-man: $(MEN)
        @men="$(MEN)" ;                                                 \
-       if [ ! -d $(man1dir) ]; then $(INSTALL_DIRS) $(man1dir) ; fi ;  \
+       if [ ! -d $(install_prefix)$(man1dir) ]; then                   \
+         $(INSTALL_DIRS) $(install_prefix)$(man1dir) ;                 \
+        fi ;                                                           \
        for man in $$men; do                                            \
          instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ;     \
-         echo $(INSTALL_DATA) $(srcdir)/$$man $(man1dir)/$$instname ;  \
-         $(INSTALL_DATA) $(srcdir)/$$man $(man1dir)/$$instname ;       \
+         echo $(INSTALL_DATA) $(srcdir)/$$man                          \
+          $(install_prefix)$(man1dir)/$$instname ;                     \
+         $(INSTALL_DATA) $(srcdir)/$$man                               \
+           $(install_prefix)$(man1dir)/$$instname ;                    \
+       done
+
+install-xml:
+       @if [ ! -d $(install_prefix)$(HACK_CONF_DIR) ]; then            \
+         $(INSTALL_DIRS) $(install_prefix)$(HACK_CONF_DIR) ;           \
+        fi ;                                                           \
+        files=`cd $(srcdir)/config/ ; echo README $(STAR).xml` ;       \
+        for file in $$files ; do                                       \
+          echo $(INSTALL_DATA) config/$$file                           \
+           $(install_prefix)$(HACK_CONF_DIR)/$$file ;                  \
+         $(INSTALL_DATA) config/$$file                                 \
+           $(install_prefix)$(HACK_CONF_DIR)/$$file ;                  \
        done
 
 uninstall-program:
-       @for program in $(EXES); do                                     \
-         echo rm -f $(HACKDIR)/$$program ;                             \
-         rm -f $(HACKDIR)/$$program ;                                  \
+       @for program in $(EXES) $(SCRIPTS); do                          \
+         echo rm -f $(install_prefix)$(HACKDIR)/$$program ;            \
+         rm -f $(install_prefix)$(HACKDIR)/$$program ;                 \
        done
 
 uninstall-man:
        @men="$(MEN)" ;                                                 \
        for man in $$men; do                                            \
          instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ;     \
-         echo rm -f $(man1dir)/$$instname ;                            \
-         rm -f $(man1dir)/$$instname ;                                 \
+         echo rm -f $(install_prefix)$(man1dir)/$$instname ;           \
+         rm -f $(install_prefix)$(man1dir)/$$instname ;                \
+       done
+
+uninstall-xml:
+       @cd $(srcdir)/config/ ;                                         \
+        for file in README $(STAR).xml ; do                            \
+         echo rm -f $(install_prefix)$(HACK_CONF_DIR)/$$file ;         \
+         rm -f $(install_prefix)$(HACK_CONF_DIR)/$$file ;              \
        done
 
 clean:
@@ -284,18 +407,18 @@ distdepend:: $(srcdir)/../setup.com
 #
 $(UTILS_BIN)/alpha.o:          $(UTILS_SRC)/alpha.c
 $(UTILS_BIN)/colors.o:         $(UTILS_SRC)/colors.c
-$(UTILS_BIN)/grabscreen.o:     $(UTILS_SRC)/grabscreen.c
-$(UTILS_BIN)/sgivideo.o:       $(UTILS_SRC)/sgivideo.c
+$(UTILS_BIN)/grabclient.o:     $(UTILS_SRC)/grabclient.c
 $(UTILS_BIN)/hsv.o:            $(UTILS_SRC)/hsv.c
 $(UTILS_BIN)/resources.o:      $(UTILS_SRC)/resources.c
 $(UTILS_BIN)/spline.o:         $(UTILS_SRC)/spline.c
 $(UTILS_BIN)/usleep.o:         $(UTILS_SRC)/usleep.c
 $(UTILS_BIN)/visual.o:         $(UTILS_SRC)/visual.c
 $(UTILS_BIN)/xmu.o:            $(UTILS_SRC)/xmu.c
-$(UTILS_BIN)/xroger.o:         $(UTILS_SRC)/xroger.c
+$(UTILS_BIN)/logo.o:           $(UTILS_SRC)/logo.c
 $(UTILS_BIN)/yarandom.o:       $(UTILS_SRC)/yarandom.c
 $(UTILS_BIN)/erase.o:          $(UTILS_SRC)/erase.c
 $(UTILS_BIN)/xshm.o:           $(UTILS_SRC)/xshm.c
+$(UTILS_BIN)/xdbe.o:           $(UTILS_SRC)/xdbe.c
 
 $(UTIL_OBJS):
        cd $(UTILS_BIN) ; \
@@ -313,20 +436,23 @@ screenhack-xlock.o: screenhack.c
        -DXLOCKMORE $(srcdir)/screenhack.c
 
 # Some abbreviations to keep the lines short...
-ALP            = $(HSV) $(UTILS_BIN)/alpha.o
+XPM            = xpm-pixmap.o
+ALP            = $(UTILS_BIN)/alpha.o
 HSV            = $(UTILS_BIN)/hsv.o
 SPL            = $(UTILS_BIN)/spline.o
-XROG           = $(UTILS_BIN)/xroger.o $(SPL)
+LOGO           = $(UTILS_BIN)/logo.o
 GRAB           = $(GRAB_OBJS)
 ERASE          = $(UTILS_BIN)/erase.o
 COL            = $(COLOR_OBJS)
 SHM            = $(XSHM_OBJS)
+DBE            = $(XDBE_OBJS)
+BARS           = $(UTILS_BIN)/colorbars.o $(LOGO)
 
 CC_HACK                = $(CC) $(LDFLAGS)
 
 xscreensaver-sgigl: xscreensaver-sgigl.c
        $(CC) $(LDFLAGS) -o $@ $< -I$(UTILS_SRC) $(HACK_PRE) \
-               -lXmu -lX11 -lXext $(X_EXTRA_LIBS) -lm
+               $(XMU_LIBS) -lX11 -lXext $(X_EXTRA_LIBS) -lm
 
 
 # The rules for those hacks which follow the `screenhack.c' API.
@@ -335,122 +461,209 @@ xscreensaver-sgigl: xscreensaver-sgigl.c
 # is pretty much useless in the face of more than one dependency, as far
 # as I can tell.
 #
-attraction:             $(HACK_OBJS) attraction.o $(COL) $(SPL)
-       $(CC_HACK) -o $@ $(HACK_OBJS) attraction.o $(COL) $(SPL) $(HACK_LIBS)
+attraction:    attraction.o    $(HACK_OBJS) $(COL) $(SPL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS)
+
+blitspin:      blitspin.o      $(HACK_OBJS) $(GRAB) $(XPM)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(GRAB) $(XPM) $(XPM_LIBS)
+
+bubbles:       bubbles.o       $(HACK_OBJS) bubbles-default.o $(XPM)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) bubbles-default.o $(XPM) $(XPM_LIBS)
+
+decayscreen:   decayscreen.o   $(HACK_OBJS) $(GRAB)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(GRAB) $(HACK_LIBS)
+
+deco:          deco.o          $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
+
+flame:         flame.o         $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
+
+greynetic:     greynetic.o     $(HACK_OBJS)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
+
+halo:          halo.o          $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
+
+helix:         helix.o         $(HACK_OBJS) $(HSV) $(ERASE)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HSV) $(ERASE) $(HACK_LIBS)
+
+hypercube:     hypercube.o     $(HACK_OBJS)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
+
+imsmap:                imsmap.o        $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
+
+kaleidescope:  kaleidescope.o  $(HACK_OBJS)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
+
+lmorph:                lmorph.o        $(HACK_OBJS)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
+
+maze:          maze.o          $(HACK_OBJS) $(ERASE) $(LOGO)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(ERASE) $(LOGO) $(HACK_LIBS)
+
+moire:         moire.o         $(HACK_OBJS) $(COL) $(SHM)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(SHM) $(HACK_LIBS)
+
+moire2:                moire2.o        $(HACK_OBJS) $(COL) $(DBE)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(DBE) $(HACK_LIBS)
+
+noseguy:       noseguy.o       $(HACK_OBJS) $(XPM)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(XPM) $(XPM_LIBS)
+
+pedal:         pedal.o         $(HACK_OBJS) $(HSV)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HSV) $(HACK_LIBS)
+
+pyro:          pyro.o          $(HACK_OBJS) $(HSV)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HSV) $(HACK_LIBS)
+
+qix:           qix.o           $(HACK_OBJS) $(HSV) $(ALP)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HSV) $(ALP) $(HACK_LIBS)
+
+rocks:         rocks.o         $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
 
-blitspin:               $(HACK_OBJS) blitspin.o $(GRAB)
-       $(CC_HACK) -o $@ $(HACK_OBJS) blitspin.o $(GRAB) $(XPM_LIBS) $(GRAB_LIBS)
+rorschach:     rorschach.o     $(HACK_OBJS) $(HSV) $(ERASE)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HSV) $(ERASE) $(HACK_LIBS)
 
-bubbles:                $(HACK_OBJS) bubbles.o bubbles-default.o 
-       $(CC_HACK) -o $@ $(HACK_OBJS) bubbles.o bubbles-default.o $(XPM_LIBS)
+slidescreen:   slidescreen.o   $(HACK_OBJS) $(GRAB)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(GRAB) $(HACK_LIBS)
 
-decayscreen:            $(HACK_OBJS) decayscreen.o $(GRAB)
-       $(CC_HACK) -o $@ $(HACK_OBJS) decayscreen.o $(GRAB) $(HACK_LIBS) $(GRAB_LIBS)
+goop:          goop.o          $(HACK_OBJS) $(HSV) $(ALP) $(SPL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HSV) $(ALP) $(SPL) $(HACK_LIBS)
 
-deco:                   $(HACK_OBJS) deco.o $(COL)
-       $(CC_HACK) -o $@ $(HACK_OBJS) deco.o $(COL) $(HACK_LIBS)
+starfish:      starfish.o      $(HACK_OBJS) $(COL) $(SPL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS)
 
-flame:                  $(HACK_OBJS) flame.o $(COL)
-       $(CC_HACK) -o $@ $(HACK_OBJS) flame.o $(COL) $(HACK_LIBS)
+munch:         munch.o         $(HACK_OBJS) $(COL) $(SPL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS)
 
-greynetic:              $(HACK_OBJS) greynetic.o
-       $(CC_HACK) -o $@ $(HACK_OBJS) greynetic.o $(HACK_LIBS)
+rd-bomb:       rd-bomb.o       $(HACK_OBJS) $(COL) $(SHM)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(SHM) $(HACK_LIBS)
 
-halo:                   $(HACK_OBJS) halo.o $(COL)
-       $(CC_HACK) -o $@ $(HACK_OBJS) halo.o $(COL) $(HACK_LIBS)
+coral:         coral.o         $(HACK_OBJS) $(COL) $(ERASE)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
 
-helix:                  $(HACK_OBJS) helix.o $(HSV) $(ERASE)
-       $(CC_HACK) -o $@ $(HACK_OBJS) helix.o $(HSV) $(ERASE) $(HACK_LIBS)
+xjack:         xjack.o         $(HACK_OBJS)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
 
-hypercube:              $(HACK_OBJS) hypercube.o
-       $(CC_HACK) -o $@ $(HACK_OBJS) hypercube.o $(HACK_LIBS)
+xlyap:         xlyap.o         $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
 
-imsmap:                         $(HACK_OBJS) imsmap.o $(COL)
-       $(CC_HACK) -o $@ $(HACK_OBJS) imsmap.o $(COL) $(HACK_LIBS)
+jigsaw:                jigsaw.o        $(HACK_OBJS) $(GRAB)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(GRAB) $(HACK_LIBS)
 
-kaleidescope:           $(HACK_OBJS) kaleidescope.o
-       $(CC_HACK) -o $@ $(HACK_OBJS) kaleidescope.o $(HACK_LIBS)
+cynosure:      cynosure.o      $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
 
-lmorph:                         $(HACK_OBJS) lmorph.o
-       $(CC_HACK) -o $@ $(HACK_OBJS) lmorph.o $(HACK_LIBS)
+epicycle:      epicycle.o      $(HACK_OBJS) $(COL) $(ERASE)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
 
-maze:                   $(HACK_OBJS) maze.o $(ERASE) $(XROG)
-       $(CC_HACK) -o $@ $(HACK_OBJS) maze.o $(ERASE) $(XROG) $(HACK_LIBS)
+interference:  interference.o  $(HACK_OBJS) $(COL) $(SHM) $(DBE)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(SHM) $(DBE) $(HACK_LIBS)
 
-moire:                  $(HACK_OBJS) moire.o $(COL) $(SHM)
-       $(CC_HACK) -o $@ $(HACK_OBJS) moire.o $(COL) $(SHM) $(HACK_LIBS)
+truchet:        truchet.o      $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
 
-moire2:                         $(HACK_OBJS) moire2.o $(COL)
-       $(CC_HACK) -o $@ $(HACK_OBJS) moire2.o $(COL) $(HACK_LIBS)
+bsod:          bsod.o          $(HACK_OBJS) $(GRAB) $(XPM)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(GRAB) $(XPM) $(XPM_LIBS)
 
-noseguy:                $(HACK_OBJS) noseguy.o
-       $(CC_HACK) -o $@ $(HACK_OBJS) noseguy.o $(XPM_LIBS)
+distort:       distort.o       $(HACK_OBJS) $(GRAB) $(SHM)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS)
 
-pedal:                  $(HACK_OBJS) pedal.o $(HSV)
-       $(CC_HACK) -o $@ $(HACK_OBJS) pedal.o $(HSV) $(HACK_LIBS)
+kumppa:                kumppa.o        $(HACK_OBJS) $(DBE)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(DBE) $(HACK_LIBS)
 
-pyro:                   $(HACK_OBJS) pyro.o $(HSV)
-       $(CC_HACK) -o $@ $(HACK_OBJS) pyro.o $(HSV) $(HACK_LIBS)
+sonar:         sonar.o         $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
 
-qix:                    $(HACK_OBJS) qix.o $(ALP)
-       $(CC_HACK) -o $@ $(HACK_OBJS) qix.o $(ALP) $(HACK_LIBS)
+t3d:           t3d.o           $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
 
-rocks:                  $(HACK_OBJS) rocks.o $(COL)
-       $(CC_HACK) -o $@ $(HACK_OBJS) rocks.o $(COL) $(HACK_LIBS)
+penetrate:     penetrate.o     $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
 
-rorschach:              $(HACK_OBJS) rorschach.o $(HSV) $(ERASE)
-       $(CC_HACK) -o $@ $(HACK_OBJS) rorschach.o $(HSV) $(ERASE) $(HACK_LIBS)
+deluxe:                deluxe.o        $(HACK_OBJS) $(ALP) $(COL) $(DBE)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(ALP) $(COL) $(DBE) $(HACK_LIBS)
 
-slidescreen:            $(HACK_OBJS) slidescreen.o $(GRAB)
-       $(CC_HACK) -o $@ $(HACK_OBJS) slidescreen.o $(GRAB) $(HACK_LIBS) $(GRAB_LIBS)
+compass:       compass.o       $(HACK_OBJS) $(DBE)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(DBE) $(HACK_LIBS)
 
-xroger:                         $(HACK_OBJS) xroger-hack.o $(HSV) $(XROG)
-       $(CC_HACK) -o $@ $(HACK_OBJS) xroger-hack.o $(HSV) $(XROG) $(HACK_LIBS)
+squiral:       squiral.o       $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
 
-goop:                   $(HACK_OBJS) goop.o $(ALP) $(SPL)
-       $(CC_HACK) -o $@ $(HACK_OBJS) goop.o $(ALP) $(SPL) $(HACK_LIBS)
+xflame:                xflame.o        $(HACK_OBJS) $(SHM) $(XPM)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(SHM) $(XPM) $(XPM_LIBS)
 
-starfish:               $(HACK_OBJS) starfish.o $(COL) $(SPL)
-       $(CC_HACK) -o $@ $(HACK_OBJS) starfish.o $(COL) $(SPL) $(HACK_LIBS)
+wander:                wander.o        $(HACK_OBJS) $(COL) $(ERASE)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
 
-munch:                  $(HACK_OBJS) munch.o $(COL) $(SPL)
-       $(CC_HACK) -o $@ $(HACK_OBJS) munch.o $(COL) $(SPL) $(HACK_LIBS)
+spotlight:     spotlight.o     $(HACK_OBJS) $(GRAB)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(GRAB) $(HACK_LIBS)
 
-rd-bomb:                $(HACK_OBJS) rd-bomb.o $(COL) $(SHM)
-       $(CC_HACK) -o $@ $(HACK_OBJS) rd-bomb.o $(COL) $(SHM) $(HACK_LIBS)
+critical:      critical.o      $(HACK_OBJS) $(COL) $(ERASE)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
 
-coral: $(HACK_OBJS) coral.o $(COL) $(ERASE)
-       $(CC_HACK) -o $@ $(HACK_OBJS) coral.o $(COL) $(ERASE) $(HACK_LIBS)
+phosphor:      phosphor.o      $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
 
-xjack: $(HACK_OBJS) xjack.o
-       $(CC_HACK) -o $@ $(HACK_OBJS) xjack.o $(HACK_LIBS)
+xmatrix:       xmatrix.o       $(HACK_OBJS) $(XPM)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(XPM) $(XPM_LIBS)
 
-xlyap: $(HACK_OBJS) xlyap.o $(COL)
-       $(CC_HACK) -o $@ $(HACK_OBJS) xlyap.o $(COL) $(HACK_LIBS)
+petri:         petri.o         $(HACK_OBJS) $(COL) $(SPL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS)
 
-jigsaw: $(HACK_OBJS) jigsaw.o $(GRAB)
-       $(CC_HACK) -o $@ $(HACK_OBJS) jigsaw.o $(GRAB) $(HACK_LIBS) $(GRAB_LIBS)
+shadebobs:     shadebobs.o     $(HACK_OBJS) $(COL) $(SPL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS)
 
-cynosure: $(HACK_OBJS) cynosure.o $(COL)
-       $(CC_HACK) -o $@ $(HACK_OBJS) cynosure.o $(COL) $(HACK_LIBS)
+ccurve:                ccurve.o        $(HACK_OBJS) $(COL) $(SPL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
 
-epicycle: $(HACK_OBJS) epicycle.o $(COL) $(ERASE)
-       $(CC_HACK) -o $@ $(HACK_OBJS) epicycle.o $(COL) $(ERASE) $(HACK_LIBS)
+blaster:       blaster.o       $(HACK_OBJS)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
 
-interference: $(HACK_OBJS) interference.o $(COL) $(SHM)
-       $(CC_HACK) -o $@ $(HACK_OBJS) interference.o $(COL) $(SHM) $(HACK_LIBS)
+bumps:         bumps.o         $(HACK_OBJS) $(GRAB)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(GRAB) $(HACK_LIBS)
 
-truchet: $(HACK_OBJS) truchet.o $(COL)
-       $(CC_HACK) -o $@ $(HACK_OBJS) truchet.o $(COL) $(HACK_LIBS)
+ripples:       ripples.o       $(HACK_OBJS) $(SHM) $(COL) $(GRAB)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(SHM) $(COL) $(GRAB) $(HACK_LIBS)
 
-bsod: $(HACK_OBJS) bsod.o $(COL)
-       $(CC_HACK) -o $@ $(HACK_OBJS) bsod.o $(COL) $(HACK_LIBS) $(XPM_LIBS)
+xteevee:       xteevee.o       $(BARS) $(HACK_OBJS) $(GRAB)
+       $(CC_HACK) -o $@ $@.o   $(BARS) $(HACK_OBJS) $(GRAB) $(HACK_LIBS)
 
-distort:                $(HACK_OBJS) distort.o $(GRAB) $(SHM)
-       $(CC_HACK) -o $@ $(HACK_OBJS) distort.o $(GRAB) $(SHM) $(HACK_LIBS) $(GRAB_LIBS)
+xspirograph:   xspirograph.o   $(HACK_OBJS) $(COL) $(ERASE)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
 
-kumppa:                 $(HACK_OBJS) kumppa.o
-       $(CC_HACK) -o $@ $(HACK_OBJS) kumppa.o $(HACK_LIBS)
+nerverot:      nerverot.o      $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
+
+xrayswarm:     xrayswarm.o     $(HACK_OBJS) 
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
+
+hyperball:     hyperball.o     $(HACK_OBJS)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
+
+zoom:  zoom.o  $(HACK_OBJS) $(GRAB)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(GRAB) $(HACK_LIBS)
+
+whirlwindwarp: whirlwindwarp.o $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
+
+rotzoomer:     rotzoomer.o     $(HACK_OBJS) $(GRAB) $(SHM)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS)
+
+whirlygig:     whirlygig.o     $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
+
+speedmine:     speedmine.o     $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
+
+vermiculate:   vermiculate.o   $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
+
+twang:         twang.o         $(HACK_OBJS) $(GRAB) $(SHM)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS)
 
 
 # The rules for those hacks which follow the `xlockmore' API.
@@ -465,8 +678,8 @@ braid:              braid.o         $(XLOCK_OBJS) $(ERASE)
 drift:         drift.o         $(XLOCK_OBJS) $(ERASE)
        $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
 
-flag:          flag.o          $(XLOCK_OBJS)
-       $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(XPM_LIBS)
+flag:          flag.o          $(XLOCK_OBJS) $(XPM)
+       $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(XPM) $(XPM_LIBS)
 
 forest:                forest.o        $(XLOCK_OBJS) $(ERASE)
        $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
@@ -508,7 +721,7 @@ sierpinski: sierpinski.o    $(XLOCK_OBJS)
        $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(HACK_LIBS)
 
 slip:          slip.o          $(XLOCK_OBJS) $(GRAB)
-       $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(GRAB_OBJS_1) $(HACK_LIBS) $(GRAB_LIBS)
+       $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(GRAB) $(HACK_LIBS)
 
 sphere:                sphere.o        $(XLOCK_OBJS)
        $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(HACK_LIBS)
@@ -540,15 +753,45 @@ rotor:            rotor.o         $(XLOCK_OBJS)
 ant:           ant.o           $(XLOCK_OBJS) $(ERASE)
        $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
 
+demon:         demon.o         $(XLOCK_OBJS)
+       $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(HACK_LIBS)
+
+loop:          loop.o          $(XLOCK_OBJS)
+       $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(HACK_LIBS)
+
 flow:          flow.o          $(XLOCK_OBJS)
        $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(HACK_LIBS)
 
-discrete:      discrete.o              $(XLOCK_OBJS) $(ERASE)
+discrete:      discrete.o      $(XLOCK_OBJS) $(ERASE)
        $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
 
-crystal:       crystal.o               $(XLOCK_OBJS)
+crystal:       crystal.o       $(XLOCK_OBJS)
        $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(HACK_LIBS)
 
+apollonian:    apollonian.o    $(XLOCK_OBJS) $(ERASE)
+       $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
+
+euler2d:       euler2d.o       $(XLOCK_OBJS)
+       $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(HACK_LIBS)
+
+juggle:                juggle.o        $(XLOCK_OBJS)
+       $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(HACK_LIBS)
+
+polyominoes:   polyominoes.o   $(XLOCK_OBJS) $(ERASE)
+       $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
+
+thornbird:     thornbird.o     $(XLOCK_OBJS)
+       $(CC_HACK) -o $@ $@.o   $(XLOCK_OBJS) $(HACK_LIBS)
+
+
+# These are not like the others.
+#
+xsublim:       xsublim.o       $(HACK_OBJS_1)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS_1) $(HACK_LIBS)
+
+webcollage-helper: webcollage-helper.o
+       $(CC_HACK) -o $@ $@.o   $(XPM_LIBS) $(JPEG_LIBS)
+
 
 ##############################################################################
 #
@@ -557,62 +800,24 @@ crystal:  crystal.o               $(XLOCK_OBJS)
 
 attraction.o: $(srcdir)/screenhack.h
 attraction.o: ../config.h
-attraction.o: $(UTILS_SRC)/yarandom.h
-attraction.o: $(UTILS_SRC)/usleep.h
-attraction.o: $(UTILS_SRC)/resources.h
-attraction.o: $(UTILS_SRC)/hsv.h
-attraction.o: $(UTILS_SRC)/colors.h
-attraction.o: $(UTILS_SRC)/grabscreen.h
-attraction.o: $(UTILS_SRC)/visual.h
-attraction.o: $(UTILS_SRC)/spline.h
 blitspin.o: $(srcdir)/screenhack.h
 blitspin.o: ../config.h
-blitspin.o: $(UTILS_SRC)/yarandom.h
-blitspin.o: $(UTILS_SRC)/usleep.h
-blitspin.o: $(UTILS_SRC)/resources.h
-blitspin.o: $(UTILS_SRC)/hsv.h
-blitspin.o: $(UTILS_SRC)/colors.h
-blitspin.o: $(UTILS_SRC)/grabscreen.h
-blitspin.o: $(UTILS_SRC)/visual.h
+blitspin.o: $(srcdir)/xpm-pixmap.h
 blitspin.o: $(srcdir)/images/som.xbm
 bouboule.o: $(srcdir)/xlockmore.h
 bouboule.o: ../config.h
 bouboule.o: $(srcdir)/xlockmoreI.h
 bouboule.o: $(srcdir)/screenhack.h
-bouboule.o: $(UTILS_SRC)/yarandom.h
-bouboule.o: $(UTILS_SRC)/usleep.h
-bouboule.o: $(UTILS_SRC)/resources.h
-bouboule.o: $(UTILS_SRC)/hsv.h
-bouboule.o: $(UTILS_SRC)/colors.h
-bouboule.o: $(UTILS_SRC)/grabscreen.h
-bouboule.o: $(UTILS_SRC)/visual.h
-bouboule.o: $(UTILS_SRC)/xshm.h
 braid.o: $(srcdir)/xlockmore.h
 braid.o: ../config.h
 braid.o: $(srcdir)/xlockmoreI.h
 braid.o: $(srcdir)/screenhack.h
-braid.o: $(UTILS_SRC)/yarandom.h
-braid.o: $(UTILS_SRC)/usleep.h
-braid.o: $(UTILS_SRC)/resources.h
-braid.o: $(UTILS_SRC)/hsv.h
-braid.o: $(UTILS_SRC)/colors.h
-braid.o: $(UTILS_SRC)/grabscreen.h
-braid.o: $(UTILS_SRC)/visual.h
-braid.o: $(UTILS_SRC)/xshm.h
-braid.o: $(UTILS_SRC)/erase.h
 bubbles.o: $(srcdir)/screenhack.h
 bubbles.o: ../config.h
-bubbles.o: $(UTILS_SRC)/yarandom.h
-bubbles.o: $(UTILS_SRC)/usleep.h
-bubbles.o: $(UTILS_SRC)/resources.h
-bubbles.o: $(UTILS_SRC)/hsv.h
-bubbles.o: $(UTILS_SRC)/colors.h
-bubbles.o: $(UTILS_SRC)/grabscreen.h
-bubbles.o: $(UTILS_SRC)/visual.h
 bubbles.o: $(srcdir)/bubbles.h
+bubbles.o: $(srcdir)/xpm-pixmap.h
 bubbles-default.o: ../config.h
 bubbles-default.o: $(srcdir)/bubbles.h
-bubbles-default.o: $(UTILS_SRC)/yarandom.h
 bubbles-default.o: $(srcdir)/images/bubbles/blood1.xpm
 bubbles-default.o: $(srcdir)/images/bubbles/blood2.xpm
 bubbles-default.o: $(srcdir)/images/bubbles/blood3.xpm
@@ -659,274 +864,81 @@ bubbles-default.o: $(srcdir)/images/bubbles/jade10.xpm
 bubbles-default.o: $(srcdir)/images/bubbles/jade11.xpm
 decayscreen.o: $(srcdir)/screenhack.h
 decayscreen.o: ../config.h
-decayscreen.o: $(UTILS_SRC)/yarandom.h
-decayscreen.o: $(UTILS_SRC)/usleep.h
-decayscreen.o: $(UTILS_SRC)/resources.h
-decayscreen.o: $(UTILS_SRC)/hsv.h
-decayscreen.o: $(UTILS_SRC)/colors.h
-decayscreen.o: $(UTILS_SRC)/grabscreen.h
-decayscreen.o: $(UTILS_SRC)/visual.h
 deco.o: $(srcdir)/screenhack.h
 deco.o: ../config.h
-deco.o: $(UTILS_SRC)/yarandom.h
-deco.o: $(UTILS_SRC)/usleep.h
-deco.o: $(UTILS_SRC)/resources.h
-deco.o: $(UTILS_SRC)/hsv.h
-deco.o: $(UTILS_SRC)/colors.h
-deco.o: $(UTILS_SRC)/grabscreen.h
-deco.o: $(UTILS_SRC)/visual.h
 drift.o: $(srcdir)/xlockmore.h
 drift.o: ../config.h
 drift.o: $(srcdir)/xlockmoreI.h
 drift.o: $(srcdir)/screenhack.h
-drift.o: $(UTILS_SRC)/yarandom.h
-drift.o: $(UTILS_SRC)/usleep.h
-drift.o: $(UTILS_SRC)/resources.h
-drift.o: $(UTILS_SRC)/hsv.h
-drift.o: $(UTILS_SRC)/colors.h
-drift.o: $(UTILS_SRC)/grabscreen.h
-drift.o: $(UTILS_SRC)/visual.h
-drift.o: $(UTILS_SRC)/xshm.h
-drift.o: $(UTILS_SRC)/erase.h
 flag.o: $(srcdir)/xlockmore.h
 flag.o: ../config.h
 flag.o: $(srcdir)/xlockmoreI.h
 flag.o: $(srcdir)/screenhack.h
-flag.o: $(UTILS_SRC)/yarandom.h
-flag.o: $(UTILS_SRC)/usleep.h
-flag.o: $(UTILS_SRC)/resources.h
-flag.o: $(UTILS_SRC)/hsv.h
-flag.o: $(UTILS_SRC)/colors.h
-flag.o: $(UTILS_SRC)/grabscreen.h
-flag.o: $(UTILS_SRC)/visual.h
-flag.o: $(UTILS_SRC)/xshm.h
+flag.o: $(srcdir)/xpm-pixmap.h
 flag.o: $(srcdir)/images/bob.xbm
 flame.o: $(srcdir)/screenhack.h
 flame.o: ../config.h
-flame.o: $(UTILS_SRC)/yarandom.h
-flame.o: $(UTILS_SRC)/usleep.h
-flame.o: $(UTILS_SRC)/resources.h
-flame.o: $(UTILS_SRC)/hsv.h
-flame.o: $(UTILS_SRC)/colors.h
-flame.o: $(UTILS_SRC)/grabscreen.h
-flame.o: $(UTILS_SRC)/visual.h
 forest.o: $(srcdir)/xlockmore.h
 forest.o: ../config.h
 forest.o: $(srcdir)/xlockmoreI.h
 forest.o: $(srcdir)/screenhack.h
-forest.o: $(UTILS_SRC)/yarandom.h
-forest.o: $(UTILS_SRC)/usleep.h
-forest.o: $(UTILS_SRC)/resources.h
-forest.o: $(UTILS_SRC)/hsv.h
-forest.o: $(UTILS_SRC)/colors.h
-forest.o: $(UTILS_SRC)/grabscreen.h
-forest.o: $(UTILS_SRC)/visual.h
-forest.o: $(UTILS_SRC)/xshm.h
-forest.o: $(UTILS_SRC)/erase.h
 vines.o: $(srcdir)/xlockmore.h
 vines.o: ../config.h
 vines.o: $(srcdir)/xlockmoreI.h
 vines.o: $(srcdir)/screenhack.h
-vines.o: $(UTILS_SRC)/yarandom.h
-vines.o: $(UTILS_SRC)/usleep.h
-vines.o: $(UTILS_SRC)/resources.h
-vines.o: $(UTILS_SRC)/hsv.h
-vines.o: $(UTILS_SRC)/colors.h
-vines.o: $(UTILS_SRC)/grabscreen.h
-vines.o: $(UTILS_SRC)/visual.h
-vines.o: $(UTILS_SRC)/xshm.h
-vines.o: $(UTILS_SRC)/erase.h
 galaxy.o: $(srcdir)/xlockmore.h
 galaxy.o: ../config.h
 galaxy.o: $(srcdir)/xlockmoreI.h
 galaxy.o: $(srcdir)/screenhack.h
-galaxy.o: $(UTILS_SRC)/yarandom.h
-galaxy.o: $(UTILS_SRC)/usleep.h
-galaxy.o: $(UTILS_SRC)/resources.h
-galaxy.o: $(UTILS_SRC)/hsv.h
-galaxy.o: $(UTILS_SRC)/colors.h
-galaxy.o: $(UTILS_SRC)/grabscreen.h
-galaxy.o: $(UTILS_SRC)/visual.h
-galaxy.o: $(UTILS_SRC)/xshm.h
 grav.o: $(srcdir)/xlockmore.h
 grav.o: ../config.h
 grav.o: $(srcdir)/xlockmoreI.h
 grav.o: $(srcdir)/screenhack.h
-grav.o: $(UTILS_SRC)/yarandom.h
-grav.o: $(UTILS_SRC)/usleep.h
-grav.o: $(UTILS_SRC)/resources.h
-grav.o: $(UTILS_SRC)/hsv.h
-grav.o: $(UTILS_SRC)/colors.h
-grav.o: $(UTILS_SRC)/grabscreen.h
-grav.o: $(UTILS_SRC)/visual.h
-grav.o: $(UTILS_SRC)/xshm.h
 greynetic.o: $(srcdir)/screenhack.h
 greynetic.o: ../config.h
-greynetic.o: $(UTILS_SRC)/yarandom.h
-greynetic.o: $(UTILS_SRC)/usleep.h
-greynetic.o: $(UTILS_SRC)/resources.h
-greynetic.o: $(UTILS_SRC)/hsv.h
-greynetic.o: $(UTILS_SRC)/colors.h
-greynetic.o: $(UTILS_SRC)/grabscreen.h
-greynetic.o: $(UTILS_SRC)/visual.h
 halo.o: $(srcdir)/screenhack.h
 halo.o: ../config.h
-halo.o: $(UTILS_SRC)/yarandom.h
-halo.o: $(UTILS_SRC)/usleep.h
-halo.o: $(UTILS_SRC)/resources.h
-halo.o: $(UTILS_SRC)/hsv.h
-halo.o: $(UTILS_SRC)/colors.h
-halo.o: $(UTILS_SRC)/grabscreen.h
-halo.o: $(UTILS_SRC)/visual.h
 helix.o: $(srcdir)/screenhack.h
 helix.o: ../config.h
-helix.o: $(UTILS_SRC)/yarandom.h
-helix.o: $(UTILS_SRC)/usleep.h
-helix.o: $(UTILS_SRC)/resources.h
-helix.o: $(UTILS_SRC)/hsv.h
-helix.o: $(UTILS_SRC)/colors.h
-helix.o: $(UTILS_SRC)/grabscreen.h
-helix.o: $(UTILS_SRC)/visual.h
-helix.o: $(UTILS_SRC)/erase.h
 hopalong.o: $(srcdir)/xlockmore.h
 hopalong.o: ../config.h
 hopalong.o: $(srcdir)/xlockmoreI.h
 hopalong.o: $(srcdir)/screenhack.h
-hopalong.o: $(UTILS_SRC)/yarandom.h
-hopalong.o: $(UTILS_SRC)/usleep.h
-hopalong.o: $(UTILS_SRC)/resources.h
-hopalong.o: $(UTILS_SRC)/hsv.h
-hopalong.o: $(UTILS_SRC)/colors.h
-hopalong.o: $(UTILS_SRC)/grabscreen.h
-hopalong.o: $(UTILS_SRC)/visual.h
-hopalong.o: $(UTILS_SRC)/xshm.h
-hopalong.o: $(UTILS_SRC)/erase.h
 hypercube.o: $(srcdir)/screenhack.h
 hypercube.o: ../config.h
-hypercube.o: $(UTILS_SRC)/yarandom.h
-hypercube.o: $(UTILS_SRC)/usleep.h
-hypercube.o: $(UTILS_SRC)/resources.h
-hypercube.o: $(UTILS_SRC)/hsv.h
-hypercube.o: $(UTILS_SRC)/colors.h
-hypercube.o: $(UTILS_SRC)/grabscreen.h
-hypercube.o: $(UTILS_SRC)/visual.h
 ifs.o: $(srcdir)/xlockmore.h
 ifs.o: ../config.h
 ifs.o: $(srcdir)/xlockmoreI.h
 ifs.o: $(srcdir)/screenhack.h
-ifs.o: $(UTILS_SRC)/yarandom.h
-ifs.o: $(UTILS_SRC)/usleep.h
-ifs.o: $(UTILS_SRC)/resources.h
-ifs.o: $(UTILS_SRC)/hsv.h
-ifs.o: $(UTILS_SRC)/colors.h
-ifs.o: $(UTILS_SRC)/grabscreen.h
-ifs.o: $(UTILS_SRC)/visual.h
-ifs.o: $(UTILS_SRC)/xshm.h
 imsmap.o: $(srcdir)/screenhack.h
 imsmap.o: ../config.h
-imsmap.o: $(UTILS_SRC)/yarandom.h
-imsmap.o: $(UTILS_SRC)/usleep.h
-imsmap.o: $(UTILS_SRC)/resources.h
-imsmap.o: $(UTILS_SRC)/hsv.h
-imsmap.o: $(UTILS_SRC)/colors.h
-imsmap.o: $(UTILS_SRC)/grabscreen.h
-imsmap.o: $(UTILS_SRC)/visual.h
 julia.o: $(srcdir)/xlockmore.h
 julia.o: ../config.h
 julia.o: $(srcdir)/xlockmoreI.h
 julia.o: $(srcdir)/screenhack.h
-julia.o: $(UTILS_SRC)/yarandom.h
-julia.o: $(UTILS_SRC)/usleep.h
-julia.o: $(UTILS_SRC)/resources.h
-julia.o: $(UTILS_SRC)/hsv.h
-julia.o: $(UTILS_SRC)/colors.h
-julia.o: $(UTILS_SRC)/grabscreen.h
-julia.o: $(UTILS_SRC)/visual.h
-julia.o: $(UTILS_SRC)/xshm.h
-kaleidescope.o: $(UTILS_SRC)/spline.h
 kaleidescope.o: $(srcdir)/screenhack.h
 kaleidescope.o: ../config.h
-kaleidescope.o: $(UTILS_SRC)/yarandom.h
-kaleidescope.o: $(UTILS_SRC)/usleep.h
-kaleidescope.o: $(UTILS_SRC)/resources.h
-kaleidescope.o: $(UTILS_SRC)/hsv.h
-kaleidescope.o: $(UTILS_SRC)/colors.h
-kaleidescope.o: $(UTILS_SRC)/grabscreen.h
-kaleidescope.o: $(UTILS_SRC)/visual.h
 laser.o: $(srcdir)/xlockmore.h
 laser.o: ../config.h
 laser.o: $(srcdir)/xlockmoreI.h
 laser.o: $(srcdir)/screenhack.h
-laser.o: $(UTILS_SRC)/yarandom.h
-laser.o: $(UTILS_SRC)/usleep.h
-laser.o: $(UTILS_SRC)/resources.h
-laser.o: $(UTILS_SRC)/hsv.h
-laser.o: $(UTILS_SRC)/colors.h
-laser.o: $(UTILS_SRC)/grabscreen.h
-laser.o: $(UTILS_SRC)/visual.h
-laser.o: $(UTILS_SRC)/xshm.h
 lightning.o: $(srcdir)/xlockmore.h
 lightning.o: ../config.h
 lightning.o: $(srcdir)/xlockmoreI.h
 lightning.o: $(srcdir)/screenhack.h
-lightning.o: $(UTILS_SRC)/yarandom.h
-lightning.o: $(UTILS_SRC)/usleep.h
-lightning.o: $(UTILS_SRC)/resources.h
-lightning.o: $(UTILS_SRC)/hsv.h
-lightning.o: $(UTILS_SRC)/colors.h
-lightning.o: $(UTILS_SRC)/grabscreen.h
-lightning.o: $(UTILS_SRC)/visual.h
-lightning.o: $(UTILS_SRC)/xshm.h
 lisa.o: $(srcdir)/xlockmore.h
 lisa.o: ../config.h
 lisa.o: $(srcdir)/xlockmoreI.h
 lisa.o: $(srcdir)/screenhack.h
-lisa.o: $(UTILS_SRC)/yarandom.h
-lisa.o: $(UTILS_SRC)/usleep.h
-lisa.o: $(UTILS_SRC)/resources.h
-lisa.o: $(UTILS_SRC)/hsv.h
-lisa.o: $(UTILS_SRC)/colors.h
-lisa.o: $(UTILS_SRC)/grabscreen.h
-lisa.o: $(UTILS_SRC)/visual.h
-lisa.o: $(UTILS_SRC)/xshm.h
 lmorph.o: $(srcdir)/screenhack.h
 lmorph.o: ../config.h
-lmorph.o: $(UTILS_SRC)/yarandom.h
-lmorph.o: $(UTILS_SRC)/usleep.h
-lmorph.o: $(UTILS_SRC)/resources.h
-lmorph.o: $(UTILS_SRC)/hsv.h
-lmorph.o: $(UTILS_SRC)/colors.h
-lmorph.o: $(UTILS_SRC)/grabscreen.h
-lmorph.o: $(UTILS_SRC)/visual.h
 maze.o: $(srcdir)/screenhack.h
 maze.o: ../config.h
-maze.o: $(UTILS_SRC)/yarandom.h
-maze.o: $(UTILS_SRC)/usleep.h
-maze.o: $(UTILS_SRC)/resources.h
-maze.o: $(UTILS_SRC)/hsv.h
-maze.o: $(UTILS_SRC)/colors.h
-maze.o: $(UTILS_SRC)/grabscreen.h
-maze.o: $(UTILS_SRC)/visual.h
-maze.o: $(UTILS_SRC)/erase.h
 moire.o: $(srcdir)/screenhack.h
 moire.o: ../config.h
-moire.o: $(UTILS_SRC)/yarandom.h
-moire.o: $(UTILS_SRC)/usleep.h
-moire.o: $(UTILS_SRC)/resources.h
-moire.o: $(UTILS_SRC)/hsv.h
-moire.o: $(UTILS_SRC)/colors.h
-moire.o: $(UTILS_SRC)/grabscreen.h
-moire.o: $(UTILS_SRC)/visual.h
-moire.o: $(UTILS_SRC)/xshm.h
 noseguy.o: $(srcdir)/screenhack.h
 noseguy.o: ../config.h
-noseguy.o: $(UTILS_SRC)/yarandom.h
-noseguy.o: $(UTILS_SRC)/usleep.h
-noseguy.o: $(UTILS_SRC)/resources.h
-noseguy.o: $(UTILS_SRC)/hsv.h
-noseguy.o: $(UTILS_SRC)/colors.h
-noseguy.o: $(UTILS_SRC)/grabscreen.h
-noseguy.o: $(UTILS_SRC)/visual.h
+noseguy.o: $(srcdir)/xpm-pixmap.h
 noseguy.o: $(srcdir)/images/noseguy/nose-f1.xpm
 noseguy.o: $(srcdir)/images/noseguy/nose-f2.xpm
 noseguy.o: $(srcdir)/images/noseguy/nose-f3.xpm
@@ -937,339 +949,94 @@ noseguy.o: $(srcdir)/images/noseguy/nose-r1.xpm
 noseguy.o: $(srcdir)/images/noseguy/nose-r2.xpm
 pedal.o: $(srcdir)/screenhack.h
 pedal.o: ../config.h
-pedal.o: $(UTILS_SRC)/yarandom.h
-pedal.o: $(UTILS_SRC)/usleep.h
-pedal.o: $(UTILS_SRC)/resources.h
-pedal.o: $(UTILS_SRC)/hsv.h
-pedal.o: $(UTILS_SRC)/colors.h
-pedal.o: $(UTILS_SRC)/grabscreen.h
-pedal.o: $(UTILS_SRC)/visual.h
 penrose.o: $(srcdir)/xlockmore.h
 penrose.o: ../config.h
 penrose.o: $(srcdir)/xlockmoreI.h
 penrose.o: $(srcdir)/screenhack.h
-penrose.o: $(UTILS_SRC)/yarandom.h
-penrose.o: $(UTILS_SRC)/usleep.h
-penrose.o: $(UTILS_SRC)/resources.h
-penrose.o: $(UTILS_SRC)/hsv.h
-penrose.o: $(UTILS_SRC)/colors.h
-penrose.o: $(UTILS_SRC)/grabscreen.h
-penrose.o: $(UTILS_SRC)/visual.h
-penrose.o: $(UTILS_SRC)/xshm.h
 pyro.o: $(srcdir)/screenhack.h
 pyro.o: ../config.h
-pyro.o: $(UTILS_SRC)/yarandom.h
-pyro.o: $(UTILS_SRC)/usleep.h
-pyro.o: $(UTILS_SRC)/resources.h
-pyro.o: $(UTILS_SRC)/hsv.h
-pyro.o: $(UTILS_SRC)/colors.h
-pyro.o: $(UTILS_SRC)/grabscreen.h
-pyro.o: $(UTILS_SRC)/visual.h
 qix.o: $(srcdir)/screenhack.h
 qix.o: ../config.h
-qix.o: $(UTILS_SRC)/yarandom.h
-qix.o: $(UTILS_SRC)/usleep.h
-qix.o: $(UTILS_SRC)/resources.h
-qix.o: $(UTILS_SRC)/hsv.h
-qix.o: $(UTILS_SRC)/colors.h
-qix.o: $(UTILS_SRC)/grabscreen.h
-qix.o: $(UTILS_SRC)/visual.h
-qix.o: $(UTILS_SRC)/alpha.h
 rocks.o: $(srcdir)/screenhack.h
 rocks.o: ../config.h
-rocks.o: $(UTILS_SRC)/yarandom.h
-rocks.o: $(UTILS_SRC)/usleep.h
-rocks.o: $(UTILS_SRC)/resources.h
-rocks.o: $(UTILS_SRC)/hsv.h
-rocks.o: $(UTILS_SRC)/colors.h
-rocks.o: $(UTILS_SRC)/grabscreen.h
-rocks.o: $(UTILS_SRC)/visual.h
 rorschach.o: $(srcdir)/screenhack.h
 rorschach.o: ../config.h
-rorschach.o: $(UTILS_SRC)/yarandom.h
-rorschach.o: $(UTILS_SRC)/usleep.h
-rorschach.o: $(UTILS_SRC)/resources.h
-rorschach.o: $(UTILS_SRC)/hsv.h
-rorschach.o: $(UTILS_SRC)/colors.h
-rorschach.o: $(UTILS_SRC)/grabscreen.h
-rorschach.o: $(UTILS_SRC)/visual.h
-rorschach.o: $(UTILS_SRC)/erase.h
-screenhack.o: $(UTILS_SRC)/xmu.h
 screenhack.o: $(srcdir)/screenhack.h
 screenhack.o: ../config.h
-screenhack.o: $(UTILS_SRC)/yarandom.h
-screenhack.o: $(UTILS_SRC)/usleep.h
-screenhack.o: $(UTILS_SRC)/resources.h
-screenhack.o: $(UTILS_SRC)/hsv.h
-screenhack.o: $(UTILS_SRC)/colors.h
-screenhack.o: $(UTILS_SRC)/grabscreen.h
-screenhack.o: $(UTILS_SRC)/visual.h
-screenhack.o: $(UTILS_SRC)/version.h
-screenhack.o: $(UTILS_SRC)/vroot.h
 sierpinski.o: $(srcdir)/xlockmore.h
 sierpinski.o: ../config.h
 sierpinski.o: $(srcdir)/xlockmoreI.h
 sierpinski.o: $(srcdir)/screenhack.h
-sierpinski.o: $(UTILS_SRC)/yarandom.h
-sierpinski.o: $(UTILS_SRC)/usleep.h
-sierpinski.o: $(UTILS_SRC)/resources.h
-sierpinski.o: $(UTILS_SRC)/hsv.h
-sierpinski.o: $(UTILS_SRC)/colors.h
-sierpinski.o: $(UTILS_SRC)/grabscreen.h
-sierpinski.o: $(UTILS_SRC)/visual.h
-sierpinski.o: $(UTILS_SRC)/xshm.h
 slidescreen.o: $(srcdir)/screenhack.h
 slidescreen.o: ../config.h
-slidescreen.o: $(UTILS_SRC)/yarandom.h
-slidescreen.o: $(UTILS_SRC)/usleep.h
-slidescreen.o: $(UTILS_SRC)/resources.h
-slidescreen.o: $(UTILS_SRC)/hsv.h
-slidescreen.o: $(UTILS_SRC)/colors.h
-slidescreen.o: $(UTILS_SRC)/grabscreen.h
-slidescreen.o: $(UTILS_SRC)/visual.h
 slip.o: $(srcdir)/xlockmore.h
 slip.o: ../config.h
 slip.o: $(srcdir)/xlockmoreI.h
 slip.o: $(srcdir)/screenhack.h
-slip.o: $(UTILS_SRC)/yarandom.h
-slip.o: $(UTILS_SRC)/usleep.h
-slip.o: $(UTILS_SRC)/resources.h
-slip.o: $(UTILS_SRC)/hsv.h
-slip.o: $(UTILS_SRC)/colors.h
-slip.o: $(UTILS_SRC)/grabscreen.h
-slip.o: $(UTILS_SRC)/visual.h
-slip.o: $(UTILS_SRC)/xshm.h
 sphere.o: $(srcdir)/xlockmore.h
 sphere.o: ../config.h
 sphere.o: $(srcdir)/xlockmoreI.h
 sphere.o: $(srcdir)/screenhack.h
-sphere.o: $(UTILS_SRC)/yarandom.h
-sphere.o: $(UTILS_SRC)/usleep.h
-sphere.o: $(UTILS_SRC)/resources.h
-sphere.o: $(UTILS_SRC)/hsv.h
-sphere.o: $(UTILS_SRC)/colors.h
-sphere.o: $(UTILS_SRC)/grabscreen.h
-sphere.o: $(UTILS_SRC)/visual.h
-sphere.o: $(UTILS_SRC)/xshm.h
 spiral.o: $(srcdir)/xlockmore.h
 spiral.o: ../config.h
 spiral.o: $(srcdir)/xlockmoreI.h
 spiral.o: $(srcdir)/screenhack.h
-spiral.o: $(UTILS_SRC)/yarandom.h
-spiral.o: $(UTILS_SRC)/usleep.h
-spiral.o: $(UTILS_SRC)/resources.h
-spiral.o: $(UTILS_SRC)/hsv.h
-spiral.o: $(UTILS_SRC)/colors.h
-spiral.o: $(UTILS_SRC)/grabscreen.h
-spiral.o: $(UTILS_SRC)/visual.h
-spiral.o: $(UTILS_SRC)/xshm.h
 strange.o: $(srcdir)/xlockmore.h
 strange.o: ../config.h
 strange.o: $(srcdir)/xlockmoreI.h
 strange.o: $(srcdir)/screenhack.h
-strange.o: $(UTILS_SRC)/yarandom.h
-strange.o: $(UTILS_SRC)/usleep.h
-strange.o: $(UTILS_SRC)/resources.h
-strange.o: $(UTILS_SRC)/hsv.h
-strange.o: $(UTILS_SRC)/colors.h
-strange.o: $(UTILS_SRC)/grabscreen.h
-strange.o: $(UTILS_SRC)/visual.h
-strange.o: $(UTILS_SRC)/xshm.h
 swirl.o: $(srcdir)/xlockmore.h
 swirl.o: ../config.h
 swirl.o: $(srcdir)/xlockmoreI.h
 swirl.o: $(srcdir)/screenhack.h
-swirl.o: $(UTILS_SRC)/yarandom.h
-swirl.o: $(UTILS_SRC)/usleep.h
-swirl.o: $(UTILS_SRC)/resources.h
-swirl.o: $(UTILS_SRC)/hsv.h
-swirl.o: $(UTILS_SRC)/colors.h
-swirl.o: $(UTILS_SRC)/grabscreen.h
-swirl.o: $(UTILS_SRC)/visual.h
-swirl.o: $(UTILS_SRC)/xshm.h
 xlockmore.o: $(srcdir)/screenhack.h
 xlockmore.o: ../config.h
-xlockmore.o: $(UTILS_SRC)/yarandom.h
-xlockmore.o: $(UTILS_SRC)/usleep.h
-xlockmore.o: $(UTILS_SRC)/resources.h
-xlockmore.o: $(UTILS_SRC)/hsv.h
-xlockmore.o: $(UTILS_SRC)/colors.h
-xlockmore.o: $(UTILS_SRC)/grabscreen.h
-xlockmore.o: $(UTILS_SRC)/visual.h
 xlockmore.o: $(srcdir)/xlockmoreI.h
-xlockmore.o: $(UTILS_SRC)/xshm.h
-xroger-hack.o: $(srcdir)/screenhack.h
-xroger-hack.o: ../config.h
-xroger-hack.o: $(UTILS_SRC)/yarandom.h
-xroger-hack.o: $(UTILS_SRC)/usleep.h
-xroger-hack.o: $(UTILS_SRC)/resources.h
-xroger-hack.o: $(UTILS_SRC)/hsv.h
-xroger-hack.o: $(UTILS_SRC)/colors.h
-xroger-hack.o: $(UTILS_SRC)/grabscreen.h
-xroger-hack.o: $(UTILS_SRC)/visual.h
 goop.o: $(srcdir)/screenhack.h
 goop.o: ../config.h
-goop.o: $(UTILS_SRC)/yarandom.h
-goop.o: $(UTILS_SRC)/usleep.h
-goop.o: $(UTILS_SRC)/resources.h
-goop.o: $(UTILS_SRC)/hsv.h
-goop.o: $(UTILS_SRC)/colors.h
-goop.o: $(UTILS_SRC)/grabscreen.h
-goop.o: $(UTILS_SRC)/visual.h
-goop.o: $(UTILS_SRC)/spline.h
-goop.o: $(UTILS_SRC)/alpha.h
 starfish.o: $(srcdir)/screenhack.h
 starfish.o: ../config.h
-starfish.o: $(UTILS_SRC)/yarandom.h
-starfish.o: $(UTILS_SRC)/usleep.h
-starfish.o: $(UTILS_SRC)/resources.h
-starfish.o: $(UTILS_SRC)/hsv.h
-starfish.o: $(UTILS_SRC)/colors.h
-starfish.o: $(UTILS_SRC)/grabscreen.h
-starfish.o: $(UTILS_SRC)/visual.h
-starfish.o: $(UTILS_SRC)/spline.h
 munch.o: $(srcdir)/screenhack.h
 munch.o: ../config.h
-munch.o: $(UTILS_SRC)/yarandom.h
-munch.o: $(UTILS_SRC)/usleep.h
-munch.o: $(UTILS_SRC)/resources.h
-munch.o: $(UTILS_SRC)/hsv.h
-munch.o: $(UTILS_SRC)/colors.h
-munch.o: $(UTILS_SRC)/grabscreen.h
-munch.o: $(UTILS_SRC)/visual.h
 fadeplot.o: $(srcdir)/xlockmore.h
 fadeplot.o: ../config.h
 fadeplot.o: $(srcdir)/xlockmoreI.h
 fadeplot.o: $(srcdir)/screenhack.h
-fadeplot.o: $(UTILS_SRC)/yarandom.h
-fadeplot.o: $(UTILS_SRC)/usleep.h
-fadeplot.o: $(UTILS_SRC)/resources.h
-fadeplot.o: $(UTILS_SRC)/hsv.h
-fadeplot.o: $(UTILS_SRC)/colors.h
-fadeplot.o: $(UTILS_SRC)/grabscreen.h
-fadeplot.o: $(UTILS_SRC)/visual.h
-fadeplot.o: $(UTILS_SRC)/xshm.h
 rd-bomb.o: $(srcdir)/screenhack.h
 rd-bomb.o: ../config.h
-rd-bomb.o: $(UTILS_SRC)/yarandom.h
-rd-bomb.o: $(UTILS_SRC)/usleep.h
-rd-bomb.o: $(UTILS_SRC)/resources.h
-rd-bomb.o: $(UTILS_SRC)/hsv.h
-rd-bomb.o: $(UTILS_SRC)/colors.h
-rd-bomb.o: $(UTILS_SRC)/grabscreen.h
-rd-bomb.o: $(UTILS_SRC)/visual.h
-rd-bomb.o: $(UTILS_SRC)/xshm.h
 coral.o: $(srcdir)/screenhack.h
 coral.o: ../config.h
-coral.o: $(UTILS_SRC)/yarandom.h
-coral.o: $(UTILS_SRC)/usleep.h
-coral.o: $(UTILS_SRC)/resources.h
-coral.o: $(UTILS_SRC)/hsv.h
-coral.o: $(UTILS_SRC)/colors.h
-coral.o: $(UTILS_SRC)/grabscreen.h
-coral.o: $(UTILS_SRC)/visual.h
-coral.o: $(UTILS_SRC)/erase.h
 mountain.o: $(srcdir)/xlockmore.h
 mountain.o: ../config.h
 mountain.o: $(srcdir)/xlockmoreI.h
 mountain.o: $(srcdir)/screenhack.h
-mountain.o: $(UTILS_SRC)/yarandom.h
-mountain.o: $(UTILS_SRC)/usleep.h
-mountain.o: $(UTILS_SRC)/resources.h
-mountain.o: $(UTILS_SRC)/hsv.h
-mountain.o: $(UTILS_SRC)/colors.h
-mountain.o: $(UTILS_SRC)/grabscreen.h
-mountain.o: $(UTILS_SRC)/visual.h
-mountain.o: $(UTILS_SRC)/xshm.h
 triangle.o: $(srcdir)/xlockmore.h
 triangle.o: ../config.h
 triangle.o: $(srcdir)/xlockmoreI.h
 triangle.o: $(srcdir)/screenhack.h
-triangle.o: $(UTILS_SRC)/yarandom.h
-triangle.o: $(UTILS_SRC)/usleep.h
-triangle.o: $(UTILS_SRC)/resources.h
-triangle.o: $(UTILS_SRC)/hsv.h
-triangle.o: $(UTILS_SRC)/colors.h
-triangle.o: $(UTILS_SRC)/grabscreen.h
-triangle.o: $(UTILS_SRC)/visual.h
-triangle.o: $(UTILS_SRC)/xshm.h
 lissie.o: $(srcdir)/xlockmore.h
 lissie.o: ../config.h
 lissie.o: $(srcdir)/xlockmoreI.h
 lissie.o: $(srcdir)/screenhack.h
-lissie.o: $(UTILS_SRC)/yarandom.h
-lissie.o: $(UTILS_SRC)/usleep.h
-lissie.o: $(UTILS_SRC)/resources.h
-lissie.o: $(UTILS_SRC)/hsv.h
-lissie.o: $(UTILS_SRC)/colors.h
-lissie.o: $(UTILS_SRC)/grabscreen.h
-lissie.o: $(UTILS_SRC)/visual.h
-lissie.o: $(UTILS_SRC)/xshm.h
 worm.o: $(srcdir)/xlockmore.h
 worm.o: ../config.h
 worm.o: $(srcdir)/xlockmoreI.h
 worm.o: $(srcdir)/screenhack.h
-worm.o: $(UTILS_SRC)/yarandom.h
-worm.o: $(UTILS_SRC)/usleep.h
-worm.o: $(UTILS_SRC)/resources.h
-worm.o: $(UTILS_SRC)/hsv.h
-worm.o: $(UTILS_SRC)/colors.h
-worm.o: $(UTILS_SRC)/grabscreen.h
-worm.o: $(UTILS_SRC)/visual.h
-worm.o: $(UTILS_SRC)/xshm.h
 rotor.o: $(srcdir)/xlockmore.h
 rotor.o: ../config.h
 rotor.o: $(srcdir)/xlockmoreI.h
 rotor.o: $(srcdir)/screenhack.h
-rotor.o: $(UTILS_SRC)/yarandom.h
-rotor.o: $(UTILS_SRC)/usleep.h
-rotor.o: $(UTILS_SRC)/resources.h
-rotor.o: $(UTILS_SRC)/hsv.h
-rotor.o: $(UTILS_SRC)/colors.h
-rotor.o: $(UTILS_SRC)/grabscreen.h
-rotor.o: $(UTILS_SRC)/visual.h
-rotor.o: $(UTILS_SRC)/xshm.h
 ant.o: $(srcdir)/xlockmore.h
 ant.o: ../config.h
 ant.o: $(srcdir)/xlockmoreI.h
 ant.o: $(srcdir)/screenhack.h
-ant.o: $(UTILS_SRC)/yarandom.h
-ant.o: $(UTILS_SRC)/usleep.h
-ant.o: $(UTILS_SRC)/resources.h
-ant.o: $(UTILS_SRC)/hsv.h
-ant.o: $(UTILS_SRC)/colors.h
-ant.o: $(UTILS_SRC)/grabscreen.h
-ant.o: $(UTILS_SRC)/visual.h
-ant.o: $(UTILS_SRC)/xshm.h
-ant.o: $(UTILS_SRC)/erase.h
+ant.o: $(srcdir)/automata.h
 xjack.o: $(srcdir)/screenhack.h
 xjack.o: ../config.h
-xjack.o: $(UTILS_SRC)/yarandom.h
-xjack.o: $(UTILS_SRC)/usleep.h
-xjack.o: $(UTILS_SRC)/resources.h
-xjack.o: $(UTILS_SRC)/hsv.h
-xjack.o: $(UTILS_SRC)/colors.h
-xjack.o: $(UTILS_SRC)/grabscreen.h
-xjack.o: $(UTILS_SRC)/visual.h
 xlyap.o: $(srcdir)/screenhack.h
 xlyap.o: ../config.h
-xlyap.o: $(UTILS_SRC)/yarandom.h
-xlyap.o: $(UTILS_SRC)/usleep.h
-xlyap.o: $(UTILS_SRC)/resources.h
-xlyap.o: $(UTILS_SRC)/hsv.h
-xlyap.o: $(UTILS_SRC)/colors.h
-xlyap.o: $(UTILS_SRC)/grabscreen.h
-xlyap.o: $(UTILS_SRC)/visual.h
-xlyap.o: $(UTILS_SRC)/vroot.h
 jigsaw.o: $(srcdir)/screenhack.h
 jigsaw.o: ../config.h
-jigsaw.o: $(UTILS_SRC)/yarandom.h
-jigsaw.o: $(UTILS_SRC)/usleep.h
-jigsaw.o: $(UTILS_SRC)/resources.h
-jigsaw.o: $(UTILS_SRC)/hsv.h
-jigsaw.o: $(UTILS_SRC)/colors.h
-jigsaw.o: $(UTILS_SRC)/grabscreen.h
-jigsaw.o: $(UTILS_SRC)/visual.h
 jigsaw.o: $(srcdir)/images/jigsaw/jigsaw_a_h.xbm
 jigsaw.o: $(srcdir)/images/jigsaw/jigsaw_a_n_h.xbm
 jigsaw.o: $(srcdir)/images/jigsaw/jigsaw_a_ne_h.xbm
@@ -1306,75 +1073,23 @@ jigsaw.o: $(srcdir)/images/jigsaw/jigsaw_b_s_f.xbm
 jigsaw.o: $(srcdir)/images/jigsaw/jigsaw_b_sw_f.xbm
 jigsaw.o: $(srcdir)/images/jigsaw/jigsaw_b_w_f.xbm
 jigsaw.o: $(srcdir)/images/jigsaw/jigsaw_b_nw_f.xbm
-xscreensaver-sgigl.o: $(UTILS_SRC)/vroot.h
 cynosure.o: $(srcdir)/screenhack.h
 cynosure.o: ../config.h
-cynosure.o: $(UTILS_SRC)/yarandom.h
-cynosure.o: $(UTILS_SRC)/usleep.h
-cynosure.o: $(UTILS_SRC)/resources.h
-cynosure.o: $(UTILS_SRC)/hsv.h
-cynosure.o: $(UTILS_SRC)/colors.h
-cynosure.o: $(UTILS_SRC)/grabscreen.h
-cynosure.o: $(UTILS_SRC)/visual.h
 moire2.o: $(srcdir)/screenhack.h
 moire2.o: ../config.h
-moire2.o: $(UTILS_SRC)/yarandom.h
-moire2.o: $(UTILS_SRC)/usleep.h
-moire2.o: $(UTILS_SRC)/resources.h
-moire2.o: $(UTILS_SRC)/hsv.h
-moire2.o: $(UTILS_SRC)/colors.h
-moire2.o: $(UTILS_SRC)/grabscreen.h
-moire2.o: $(UTILS_SRC)/visual.h
 flow.o: $(srcdir)/xlockmore.h
 flow.o: ../config.h
 flow.o: $(srcdir)/xlockmoreI.h
 flow.o: $(srcdir)/screenhack.h
-flow.o: $(UTILS_SRC)/yarandom.h
-flow.o: $(UTILS_SRC)/usleep.h
-flow.o: $(UTILS_SRC)/resources.h
-flow.o: $(UTILS_SRC)/hsv.h
-flow.o: $(UTILS_SRC)/colors.h
-flow.o: $(UTILS_SRC)/grabscreen.h
-flow.o: $(UTILS_SRC)/visual.h
-flow.o: $(UTILS_SRC)/xshm.h
-flow.o: $(UTILS_SRC)/erase.h
 epicycle.o: $(srcdir)/screenhack.h
 epicycle.o: ../config.h
-epicycle.o: $(UTILS_SRC)/yarandom.h
-epicycle.o: $(UTILS_SRC)/usleep.h
-epicycle.o: $(UTILS_SRC)/resources.h
-epicycle.o: $(UTILS_SRC)/hsv.h
-epicycle.o: $(UTILS_SRC)/colors.h
-epicycle.o: $(UTILS_SRC)/grabscreen.h
-epicycle.o: $(UTILS_SRC)/visual.h
-epicycle.o: $(UTILS_SRC)/erase.h
 interference.o: $(srcdir)/screenhack.h
 interference.o: ../config.h
-interference.o: $(UTILS_SRC)/yarandom.h
-interference.o: $(UTILS_SRC)/usleep.h
-interference.o: $(UTILS_SRC)/resources.h
-interference.o: $(UTILS_SRC)/hsv.h
-interference.o: $(UTILS_SRC)/colors.h
-interference.o: $(UTILS_SRC)/grabscreen.h
-interference.o: $(UTILS_SRC)/visual.h
 truchet.o: $(srcdir)/screenhack.h
 truchet.o: ../config.h
-truchet.o: $(UTILS_SRC)/yarandom.h
-truchet.o: $(UTILS_SRC)/usleep.h
-truchet.o: $(UTILS_SRC)/resources.h
-truchet.o: $(UTILS_SRC)/hsv.h
-truchet.o: $(UTILS_SRC)/colors.h
-truchet.o: $(UTILS_SRC)/grabscreen.h
-truchet.o: $(UTILS_SRC)/visual.h
 bsod.o: $(srcdir)/screenhack.h
 bsod.o: ../config.h
-bsod.o: $(UTILS_SRC)/yarandom.h
-bsod.o: $(UTILS_SRC)/usleep.h
-bsod.o: $(UTILS_SRC)/resources.h
-bsod.o: $(UTILS_SRC)/hsv.h
-bsod.o: $(UTILS_SRC)/colors.h
-bsod.o: $(UTILS_SRC)/grabscreen.h
-bsod.o: $(UTILS_SRC)/visual.h
+bsod.o: $(srcdir)/xpm-pixmap.h
 bsod.o: $(srcdir)/images/amiga.xpm
 bsod.o: $(srcdir)/images/atari.xbm
 bsod.o: $(srcdir)/images/mac.xbm
@@ -1382,44 +1097,120 @@ crystal.o: $(srcdir)/xlockmore.h
 crystal.o: ../config.h
 crystal.o: $(srcdir)/xlockmoreI.h
 crystal.o: $(srcdir)/screenhack.h
-crystal.o: $(UTILS_SRC)/yarandom.h
-crystal.o: $(UTILS_SRC)/usleep.h
-crystal.o: $(UTILS_SRC)/resources.h
-crystal.o: $(UTILS_SRC)/hsv.h
-crystal.o: $(UTILS_SRC)/colors.h
-crystal.o: $(UTILS_SRC)/grabscreen.h
-crystal.o: $(UTILS_SRC)/visual.h
-crystal.o: $(UTILS_SRC)/xshm.h
 discrete.o: $(srcdir)/xlockmore.h
 discrete.o: ../config.h
 discrete.o: $(srcdir)/xlockmoreI.h
 discrete.o: $(srcdir)/screenhack.h
-discrete.o: $(UTILS_SRC)/yarandom.h
-discrete.o: $(UTILS_SRC)/usleep.h
-discrete.o: $(UTILS_SRC)/resources.h
-discrete.o: $(UTILS_SRC)/hsv.h
-discrete.o: $(UTILS_SRC)/colors.h
-discrete.o: $(UTILS_SRC)/grabscreen.h
-discrete.o: $(UTILS_SRC)/visual.h
-discrete.o: $(UTILS_SRC)/xshm.h
-discrete.o: $(UTILS_SRC)/erase.h
 distort.o: $(srcdir)/screenhack.h
 distort.o: ../config.h
-distort.o: $(UTILS_SRC)/yarandom.h
-distort.o: $(UTILS_SRC)/usleep.h
-distort.o: $(UTILS_SRC)/resources.h
-distort.o: $(UTILS_SRC)/hsv.h
-distort.o: $(UTILS_SRC)/colors.h
-distort.o: $(UTILS_SRC)/grabscreen.h
-distort.o: $(UTILS_SRC)/visual.h
-distort.o: $(UTILS_SRC)/xshm.h
 kumppa.o: $(srcdir)/screenhack.h
 kumppa.o: ../config.h
-kumppa.o: $(UTILS_SRC)/yarandom.h
-kumppa.o: $(UTILS_SRC)/usleep.h
-kumppa.o: $(UTILS_SRC)/resources.h
-kumppa.o: $(UTILS_SRC)/hsv.h
-kumppa.o: $(UTILS_SRC)/colors.h
-kumppa.o: $(UTILS_SRC)/grabscreen.h
-kumppa.o: $(UTILS_SRC)/visual.h
+sonar.o: $(srcdir)/screenhack.h
+sonar.o: ../config.h
+demon.o: $(srcdir)/xlockmore.h
+demon.o: ../config.h
+demon.o: $(srcdir)/xlockmoreI.h
+demon.o: $(srcdir)/screenhack.h
+demon.o: $(srcdir)/automata.h
+loop.o: $(srcdir)/xlockmore.h
+loop.o: ../config.h
+loop.o: $(srcdir)/xlockmoreI.h
+loop.o: $(srcdir)/screenhack.h
+loop.o: $(srcdir)/automata.h
+t3d.o: $(srcdir)/screenhack.h
+t3d.o: ../config.h
+penetrate.o: $(srcdir)/screenhack.h
+penetrate.o: ../config.h
+deluxe.o: $(srcdir)/screenhack.h
+deluxe.o: ../config.h
+compass.o: $(srcdir)/screenhack.h
+compass.o: ../config.h
+squiral.o: $(srcdir)/screenhack.h
+squiral.o: ../config.h
+xflame.o: $(srcdir)/screenhack.h
+xflame.o: ../config.h
+xflame.o: $(srcdir)/xpm-pixmap.h
+xflame.o: $(srcdir)/images/bob.xbm
+wander.o: $(srcdir)/screenhack.h
+wander.o: ../config.h
+spotlight.o: $(srcdir)/screenhack.h
+spotlight.o: ../config.h
+critical.o: $(srcdir)/screenhack.h
+critical.o: ../config.h
+phosphor.o: $(srcdir)/screenhack.h
+phosphor.o: ../config.h
+xmatrix.o: $(srcdir)/screenhack.h
+xmatrix.o: ../config.h
+xmatrix.o: $(srcdir)/xpm-pixmap.h
+xmatrix.o: $(srcdir)/images/matrix0.xpm
+xmatrix.o: $(srcdir)/images/matrix1.xpm
+xmatrix.o: $(srcdir)/images/matrix2.xpm
+xmatrix.o: $(srcdir)/images/matrix0b.xpm
+xmatrix.o: $(srcdir)/images/matrix1b.xpm
+xmatrix.o: $(srcdir)/images/matrix2b.xpm
+xmatrix.o: $(srcdir)/images/matrix0.xbm
+xmatrix.o: $(srcdir)/images/matrix1.xbm
+xmatrix.o: $(srcdir)/images/matrix2.xbm
+xmatrix.o: $(srcdir)/images/matrix0b.xbm
+xmatrix.o: $(srcdir)/images/matrix1b.xbm
+xmatrix.o: $(srcdir)/images/matrix2b.xbm
+petri.o: $(srcdir)/screenhack.h
+petri.o: ../config.h
+shadebobs.o: $(srcdir)/screenhack.h
+shadebobs.o: ../config.h
+ccurve.o: $(srcdir)/screenhack.h
+ccurve.o: ../config.h
+blaster.o: $(srcdir)/screenhack.h
+blaster.o: ../config.h
+bumps.o: $(srcdir)/bumps.h
+bumps.o: $(srcdir)/screenhack.h
+bumps.o: ../config.h
+ripples.o: $(srcdir)/screenhack.h
+ripples.o: ../config.h
+xteevee.o: $(srcdir)/screenhack.h
+xteevee.o: ../config.h
+xspirograph.o: $(srcdir)/screenhack.h
+xspirograph.o: ../config.h
+nerverot.o: $(srcdir)/screenhack.h
+nerverot.o: ../config.h
+xrayswarm.o: $(srcdir)/screenhack.h
+xrayswarm.o: ../config.h
+hyperball.o: $(srcdir)/screenhack.h
+hyperball.o: ../config.h
+zoom.o: $(srcdir)/screenhack.h
+zoom.o: ../config.h
+whirlwindwarp.o: $(srcdir)/screenhack.h
+whirlwindwarp.o: ../config.h
+rotzoomer.o: $(srcdir)/screenhack.h
+rotzoomer.o: ../config.h
+whirlygig.o: $(srcdir)/screenhack.h
+whirlygig.o: ../config.h
+speedmine.o: $(srcdir)/screenhack.h
+speedmine.o: ../config.h
+vermiculate.o: $(srcdir)/screenhack.h
+vermiculate.o: ../config.h
+xpm-pixmap.o: ../config.h
+webcollage-helper.o: ../config.h
+twang.o: $(srcdir)/screenhack.h
+twang.o: ../config.h
+apollonian.o: $(srcdir)/xlockmore.h
+apollonian.o: ../config.h
+apollonian.o: $(srcdir)/xlockmoreI.h
+apollonian.o: $(srcdir)/screenhack.h
+euler2d.o: $(srcdir)/xlockmore.h
+euler2d.o: ../config.h
+euler2d.o: $(srcdir)/xlockmoreI.h
+euler2d.o: $(srcdir)/screenhack.h
+juggle.o: $(srcdir)/xlockmore.h
+juggle.o: ../config.h
+juggle.o: $(srcdir)/xlockmoreI.h
+juggle.o: $(srcdir)/screenhack.h
+polyominoes.o: $(srcdir)/xlockmore.h
+polyominoes.o: ../config.h
+polyominoes.o: $(srcdir)/xlockmoreI.h
+polyominoes.o: $(srcdir)/screenhack.h
+thornbird.o: $(srcdir)/xlockmore.h
+thornbird.o: ../config.h
+thornbird.o: $(srcdir)/xlockmoreI.h
+thornbird.o: $(srcdir)/screenhack.h