From http://www.jwz.org/xscreensaver/xscreensaver-5.24.tar.gz
[xscreensaver] / hacks / Makefile.in
index 6c3954a16674505ad0284b0cdbb9d6d35a25f201..5a66e60beb1e854358ddada8006fe7670f1343e8 100644 (file)
@@ -1,4 +1,4 @@
-# hacks/Makefile.in --- xscreensaver, Copyright (c) 1997-2005 Jamie Zawinski.
+# hacks/Makefile.in --- xscreensaver, Copyright (c) 1997-2011 Jamie Zawinski.
 # the `../configure' script generates `hacks/Makefile' from this file.
 
 @SET_MAKE@
@@ -37,10 +37,8 @@ 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@
 
@@ -58,31 +56,34 @@ 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)
-PTY_LIBS       = @PTY_LIBS@
+TEXT_LIBS      = @PTY_LIBS@
 MINIXPM                = $(UTILS_BIN)/minixpm.o
 
 UTILS_SRC      = $(srcdir)/../utils
 UTILS_BIN      = ../utils
 
-INCLUDES       = -I. -I$(srcdir) -I$(UTILS_SRC) -I.. @INCLUDES@
+INCLUDES_1     = -I. -I$(srcdir) -I$(UTILS_SRC) -I..
+INCLUDES       = $(INCLUDES_1) @INCLUDES@
 
 UTIL_SRCS      = $(UTILS_SRC)/alpha.c $(UTILS_SRC)/colors.c \
-                 $(UTILS_SRC)/grabscreen.c $(UTILS_SRC)/grabclient.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)/minixpm.c \
                  $(UTILS_SRC)/yarandom.c $(UTILS_SRC)/erase.c \
-                 $(UTILS_SRC)/xshm.c $(UTILS_SRC)/xdbe.c
+                 $(UTILS_SRC)/xshm.c $(UTILS_SRC)/xdbe.c \
+                 $(UTILS_SRC)/textclient.c
 UTIL_OBJS      = $(UTILS_BIN)/alpha.o $(UTILS_BIN)/colors.o \
-                 $(UTILS_BIN)/grabscreen.o $(UTILS_BIN)/grabclient.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_SRC)/minixpm.c \
                  $(UTILS_BIN)/yarandom.o $(UTILS_BIN)/erase.o \
                  $(UTILS_BIN)/xshm.o $(UTILS_BIN)/xdbe.o \
-                 $(UTILS_BIN)/colorbars.o
+                 $(UTILS_BIN)/colorbars.o \
+                 $(UTILS_SRC)/textclient.o
 
 SRCS           = attraction.c blitspin.c bouboule.c braid.c bubbles.c \
                  bubbles-default.c decayscreen.c deco.c drift.c flag.c \
@@ -94,10 +95,10 @@ SRCS                = attraction.c blitspin.c bouboule.c braid.c bubbles.c \
                  slip.c sphere.c spiral.c strange.c swirl.c xlockmore.c \
                  fps.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 \
+                 rotor.c ant.c xjack.c xlyap.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 \
-                 sonar.c demon.c loop.c t3d.c penetrate.c deluxe.c compass.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 xspirograph.c \
@@ -108,18 +109,18 @@ SRCS              = attraction.c blitspin.c bouboule.c braid.c bubbles.c \
                  anemone.c halftone.c metaballs.c eruption.c popsquares.c \
                  barcode.c piecewise.c cloudlife.c fontglide.c apple2.c \
                  apple2-main.c analogtv.c xanalogtv.c pong.c wormhole.c \
-                 mismunch.c pacman.c pacman_ai.c pacman_level.c \
+                 pacman.c pacman_ai.c pacman_level.c \
                  fuzzyflakes.c anemotaxis.c memscroller.c substrate.c \
-                 intermomentary.c fireworkx.c fireworkx_mmx.S fiberlamp.c \
+                 intermomentary.c fireworkx.c fiberlamp.c \
                  boxfit.c interaggregate.c celtic.c cwaves.c m6502.c \
-                 asm6502.c abstractile.c lcdscrub.c \
+                 asm6502.c abstractile.c lcdscrub.c hexadrop.c \
                  webcollage-cocoa.m webcollage-helper-cocoa.m
 SCRIPTS                = vidwhacker webcollage ljlatest
 
 # Programs that are mentioned in XScreenSaver.ad, and that have XML files,
 # but that are not shipped with xscreensaver itself.
 #
-EXTERNALS      = cosmos electricsheep extrusion fireflies goban \
+EXTERNALS      = cosmos electricsheep fireflies goban \
                  sphereeversion ssystem xaos xdaliclock xearth xfishtank \
                  xmountains xplanet xsnow
 
@@ -133,10 +134,10 @@ OBJS              = attraction.o blitspin.o bouboule.o braid.o bubbles.o \
                  slip.o sphere.o spiral.o strange.o swirl.o xlockmore.o \
                  fps.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 \
+                 rotor.o ant.o xjack.o xlyap.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 \
-                 sonar.o demon.o loop.o t3d.o penetrate.o deluxe.o compass.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 xspirograph.o \
@@ -147,37 +148,39 @@ OBJS              = attraction.o blitspin.o bouboule.o braid.o bubbles.o \
                  anemone.o halftone.o metaballs.o eruption.o popsquares.o \
                  barcode.o piecewise.o cloudlife.o fontglide.o apple2.o \
                  apple2-main.o analogtv.o xanalogtv.o pong.o wormhole.o \
-                 mismunch.o pacman.o pacman_ai.o pacman_level.o \
+                 pacman.o pacman_ai.o pacman_level.o \
                  fuzzyflakes.o anemotaxis.o memscroller.o substrate.o \
                  intermomentary.o fireworkx.o fiberlamp.o boxfit.o \
                  interaggregate.o celtic.o cwaves.o webcollage-cocoa.o \
-                 webcollage-helper-cocoa.o m6502.0 asm6502.o abstractile.o \
-                 lcdscrub.o
+                 webcollage-helper-cocoa.o m6502.o asm6502.o abstractile.o \
+                 lcdscrub.o hexadrop.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 \
+EXES           = attraction blitspin bouboule braid decayscreen deco \
+                 drift flame galaxy grav greynetic halo \
+                 helix hopalong ifs imsmap julia kaleidescope \
+                 maze moire noseguy pedal \
                  penrose pyro qix rocks rorschach sierpinski slidescreen \
-                 slip sphere spiral strange swirl goop starfish munch \
-                 fadeplot rd-bomb coral mountain triangle lissie worm rotor \
-                 xjack xlyap jigsaw cynosure moire2 flow epicycle \
+                 slip strange swirl goop starfish munch \
+                 fadeplot rd-bomb coral mountain triangle \
+                 xjack xlyap cynosure moire2 flow epicycle \
                  interference truchet bsod crystal discrete distort kumppa \
-                 demon loop t3d penetrate deluxe compass squiral xflame \
-                 wander spotlight critical phosphor xmatrix petri shadebobs \
+                 demon loop penetrate deluxe compass squiral xflame \
+                 wander spotlight phosphor xmatrix petri shadebobs \
                  ccurve blaster bumps ripples xspirograph \
-                 nerverot xrayswarm hyperball zoom whirlwindwarp rotzoomer \
-                 whirlygig speedmine vermiculate twang apollonian euler2d \
-                 juggle polyominoes thornbird  fluidballs anemone halftone \
+                 nerverot xrayswarm zoom whirlwindwarp rotzoomer \
+                 speedmine vermiculate twang apollonian euler2d \
+                 polyominoes thornbird  fluidballs anemone halftone \
                  metaballs eruption popsquares barcode piecewise cloudlife \
-                 fontglide apple2 xanalogtv pong  wormhole mismunch \
+                 fontglide apple2 xanalogtv pong  wormhole \
                  pacman fuzzyflakes anemotaxis memscroller substrate \
                  intermomentary fireworkx fiberlamp boxfit interaggregate \
-                 celtic cwaves m6502 abstractile lcdscrub \
+                 celtic cwaves m6502 abstractile lcdscrub hexadrop \
                  @JPEG_EXES@
-SEXES          = sonar
 JPEG_EXES      = webcollage-helper
-EXES           = $(NEXES) $(SEXES)
+
+RETIRED_EXES   = ant bubbles critical flag forest hyperball hypercube laser \
+                 lightning lisa lissie lmorph rotor sphere spiral t3d vines \
+                 whirlygig worm xsublim juggle
 
 HACK_OBJS_1    = fps.o $(UTILS_BIN)/resources.o $(UTILS_BIN)/visual.o \
                  $(UTILS_BIN)/usleep.o $(UTILS_BIN)/yarandom.o @XMU_OBJS@
@@ -194,36 +197,43 @@ HDRS              = screenhack.h screenhackI.h fps.h fpsI.h xlockmore.h \
                  asm6502.h
 MEN            = anemone.man apollonian.man attraction.man \
                  blaster.man blitspin.man bouboule.man braid.man bsod.man \
-                 bubbles.man bumps.man ccurve.man compass.man coral.man \
-                 critical.man crystal.man cynosure.man decayscreen.man \
+                 bumps.man ccurve.man compass.man coral.man \
+                 crystal.man cynosure.man decayscreen.man \
                  deco.man deluxe.man demon.man discrete.man distort.man \
-                 drift.man epicycle.man euler2d.man fadeplot.man flag.man \
-                 flame.man flow.man fluidballs.man forest.man galaxy.man \
+                 drift.man epicycle.man euler2d.man fadeplot.man \
+                 flame.man flow.man fluidballs.man galaxy.man \
                  goop.man grav.man greynetic.man halo.man helix.man \
-                 hopalong.man hyperball.man hypercube.man ifs.man imsmap.man \
-                 interference.man jigsaw.man juggle.man julia.man \
-                 kaleidescope.man kumppa.man laser.man lightning.man \
-                 lisa.man lissie.man lmorph.man loop.man maze.man moire.man \
+                 hopalong.man ifs.man imsmap.man \
+                 interference.man julia.man \
+                 kaleidescope.man kumppa.man \
+                 loop.man maze.man moire.man \
                  moire2.man mountain.man munch.man nerverot.man noseguy.man \
                  pedal.man penetrate.man penrose.man petri.man phosphor.man \
                  polyominoes.man pyro.man qix.man rd-bomb.man ripples.man \
-                 rocks.man rorschach.man rotor.man rotzoomer.man \
+                 rocks.man rorschach.man rotzoomer.man \
                  shadebobs.man sierpinski.man slidescreen.man slip.man \
-                 sonar.man speedmine.man sphere.man spiral.man \
+                 speedmine.man \
                  spotlight.man squiral.man starfish.man strange.man \
-                 swirl.man t3d.man thornbird.man triangle.man truchet.man \
-                 twang.man vermiculate.man vidwhacker.man vines.man \
-                 wander.man webcollage.man whirlwindwarp.man whirlygig.man \
-                 worm.man xflame.man xjack.man xlyap.man xmatrix.man \
-                 xrayswarm.man xspirograph.man xsublim.man \
+                 swirl.man thornbird.man triangle.man truchet.man \
+                 twang.man vermiculate.man vidwhacker.man \
+                 wander.man webcollage.man whirlwindwarp.man \
+                 xflame.man xjack.man xlyap.man xmatrix.man \
+                 xrayswarm.man xspirograph.man \
                  zoom.man halftone.man eruption.man metaballs.man \
                  barcode.man piecewise.man cloudlife.man ljlatest.man \
                  fontglide.man apple2.man xanalogtv.man pong.man \
-                 wormhole.man mismunch.man pacman.man fuzzyflakes.man \
+                 wormhole.man pacman.man fuzzyflakes.man \
                  anemotaxis.man memscroller.man substrate.man \
                  intermomentary.man fireworkx.man fiberlamp.man boxfit.man \
                  interaggregate.man celtic.man cwaves.man abstractile.man \
-                 lcdscrub.man
+                 lcdscrub.man hexadrop.man
+
+RETIRED_MEN    = ant.man bubbles.man critical.man flag.man forest.man \
+                 laser.man lightning.man lisa.man lissie.man lmorph.man \
+                 rotor.man sphere.man spiral.man t3d.man vines.man \
+                 whirlygig.man worm.man xsublim.man juggle.man \
+                 hypercube.man hyperball.man
+
 STAR           = *
 EXTRAS         = README Makefile.in xml2man.pl m6502.sh .gdbinit \
                  euler2d.tex check-configs.pl munge-ad.pl \
@@ -244,11 +254,12 @@ EXTRAS            = README Makefile.in xml2man.pl m6502.sh .gdbinit \
 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) $(SCRIPTS) $(MEN) $(EXTRAS) $(VMSFILES)
+TARFILES       = $(SRCS) $(HDRS) $(SCRIPTS) $(MEN) $(RETIRED_MEN) \
+                 $(EXTRAS) $(VMSFILES)
 
 
 default: all
-all: $(EXES)
+all: $(EXES) $(RETIRED_EXES)
 
 install:   install-program   install-scripts install-xml install-man
 uninstall: uninstall-program uninstall-xml uninstall-man
@@ -262,35 +273,11 @@ install-program:: $(EXES)
        @if [ ! -d $(install_prefix)$(HACKDIR) ]; then                  \
          $(INSTALL_DIRS) $(install_prefix)$(HACKDIR) ;                 \
         fi ;                                                           \
-       for program in $(NEXES); do                                     \
+       for program in $(EXES); 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
@@ -367,13 +354,13 @@ install-xml:
        done
 
 uninstall-program:
-       @for program in $(EXES) $(SCRIPTS); do                          \
+       @for program in $(EXES) $(RETIRED_EXES) $(SCRIPTS); do          \
          echo rm -f $(install_prefix)$(HACKDIR)/$$program ;            \
          rm -f $(install_prefix)$(HACKDIR)/$$program ;                 \
        done
 
 uninstall-man:
-       @men="$(MEN)" ;                                                 \
+       @men="$(MEN) $(RETIRED_MEN)" ;                                  \
        for man in $$men; do                                            \
          instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ;     \
          echo rm -f $(install_prefix)$(manNdir)/$$instname* ;          \
@@ -382,13 +369,13 @@ uninstall-man:
 
 uninstall-xml:
        @dest=$(install_prefix)$(HACK_CONF_DIR) ;                       \
-        for file in $(EXES) $(SCRIPTS) $(EXTERNALS) ; do               \
+        for file in $(EXES) $(RETIRED_EXES) $(SCRIPTS) $(EXTERNALS) ; do \
             echo rm -f $$dest/$$file.xml ;                             \
                  rm -f $$dest/$$file.xml ;                             \
        done
 
 clean:
-       -rm -f *.o a.out core $(EXES) m6502.h
+       -rm -f *.o a.out core $(EXES) $(RETIRED_EXES) m6502.h
 
 distclean: clean
        -rm -f Makefile TAGS *~ "#"*
@@ -408,7 +395,7 @@ distdepend:: m6502.h
        @echo updating dependencies in `pwd`/Makefile.in... ;               \
        $(DEPEND) -w 0 -f -                                                 \
        -s '# DO NOT DELETE: updated by make distdepend' $(DEPEND_FLAGS) -- \
-       $(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) --      \
+       $(INCLUDES_1) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) --    \
        $(SRCS) 2>/dev/null |                                               \
        sort -d |                                                           \
        (                                                                   \
@@ -527,14 +514,14 @@ $(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
+$(UTILS_BIN)/textclient.o:     $(UTILS_SRC)/textclient.c
 
 $(UTIL_OBJS):
-       cd $(UTILS_BIN) ; \
-       $(MAKE) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
+       $(MAKE) -C $(UTILS_BIN) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
 
 # How we build object files in this directory.
 .c.o:
-       $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $<
+       $(CC) -c $(INCLUDES) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) $<
 
 
 # Make sure these are regenerated when the version number ticks.
@@ -554,6 +541,7 @@ DBE         = $(XDBE_OBJS)
 BARS           = $(UTILS_BIN)/colorbars.o $(LOGO)
 ATV             = analogtv.o $(SHM)
 APPLE2          = apple2.o $(ATV)
+TEXT            = $(UTILS_BIN)/textclient.o
 
 CC_HACK                = $(CC) $(LDFLAGS)
 
@@ -616,8 +604,8 @@ moire:              moire.o         $(HACK_OBJS) $(COL) $(SHM)
 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)
+noseguy:       noseguy.o       $(HACK_OBJS) $(XPM) $(TEXT)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(XPM) $(TEXT) $(XPM_LIBS) $(TEXT_LIBS)
 
 pedal:         pedal.o         $(HACK_OBJS) $(HSV) $(ERASE)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HSV) $(ERASE) $(HACK_LIBS)
@@ -658,9 +646,6 @@ xjack:              xjack.o         $(HACK_OBJS)
 xlyap:         xlyap.o         $(HACK_OBJS) $(COL)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
 
-jigsaw:                jigsaw.o        $(HACK_OBJS) $(SPL) $(GRAB)
-       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(SPL) $(GRAB) $(HACK_LIBS)
-
 cynosure:      cynosure.o      $(HACK_OBJS) $(COL)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
 
@@ -676,8 +661,8 @@ truchet:     truchet.o      $(HACK_OBJS) $(COL)
 bsod:          bsod.o          $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) $(XPM_LIBS)
 
-apple2:                apple2.o apple2-main.o  $(HACK_OBJS) $(ATV) $(GRAB)
-       $(CC_HACK) -o $@ $@.o   apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM_LIBS) $(PTY_LIBS)
+apple2:                apple2.o apple2-main.o  $(HACK_OBJS) $(ATV) $(GRAB) $(TEXT)
+       $(CC_HACK) -o $@ $@.o   apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB) $(TEXT) $(XPM_LIBS) $(TEXT_LIBS)
 
 xanalogtv:     xanalogtv.o     $(HACK_OBJS) $(ATV) $(GRAB) $(XPM)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(XPM_LIBS) $(HACK_LIBS)
@@ -688,9 +673,6 @@ distort:    distort.o       $(HACK_OBJS) $(GRAB) $(SHM)
 kumppa:                kumppa.o        $(HACK_OBJS) $(DBE)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(DBE) $(HACK_LIBS)
 
-sonar:         sonar.o         $(HACK_OBJS) $(COL)
-       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
-
 t3d:           t3d.o           $(HACK_OBJS) $(COL)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
 
@@ -718,11 +700,11 @@ spotlight:        spotlight.o     $(HACK_OBJS) $(GRAB)
 critical:      critical.o      $(HACK_OBJS) $(COL) $(ERASE)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
 
-phosphor:      phosphor.o      $(HACK_OBJS) $(COL)
-       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS) $(PTY_LIBS)
+phosphor:      phosphor.o      $(HACK_OBJS) $(TEXT) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(TEXT) $(COL) $(HACK_LIBS) $(TEXT_LIBS)
 
-xmatrix:       xmatrix.o       $(HACK_OBJS) $(XPM)
-       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(XPM) $(XPM_LIBS)
+xmatrix:       xmatrix.o       $(HACK_OBJS) $(TEXT) $(XPM)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(TEXT) $(XPM) $(XPM_LIBS) $(TEXT_LIBS)
 
 petri:         petri.o         $(HACK_OBJS) $(COL) $(SPL)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS)
@@ -802,8 +784,8 @@ piecewise:  piecewise.o     $(HACK_OBJS) $(COL) $(DBE)
 cloudlife:     cloudlife.o     $(HACK_OBJS) $(COL) $(DBE)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(DBE) $(HACK_LIBS)
 
-fontglide:     fontglide.o     $(HACK_OBJS) $(DBE)
-       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(DBE) $(HACK_LIBS)
+fontglide:     fontglide.o     $(HACK_OBJS) $(DBE) $(TEXT)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(DBE) $(TEXT) $(HACK_LIBS) $(TEXT_LIBS)
 
 pong:  pong.o  $(HACK_OBJS) $(ATV) $(GRAB) $(XPM)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(XPM_LIBS) $(HACK_LIBS)
@@ -811,9 +793,6 @@ pong:       pong.o  $(HACK_OBJS) $(ATV) $(GRAB) $(XPM)
 wormhole:      wormhole.o      $(HACK_OBJS)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
 
-mismunch:      mismunch.o      $(HACK_OBJS) $(COL) $(SPL)
-       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS)
-
 fuzzyflakes:   fuzzyflakes.o   $(HACK_OBJS)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
 
@@ -852,6 +831,7 @@ m6502.h:
        UTILS_SRC="$(UTILS_SRC)" \
        $(srcdir)/m6502.sh m6502.h $(srcdir)/images/m6502/*.asm
 
+m6502.o:       m6502.h
 m6502:         m6502.o         asm6502.o $(HACK_OBJS) $(ATV)
        $(CC_HACK) -o $@ $@.o   asm6502.o $(HACK_OBJS) $(ATV) $(HACK_LIBS)
 
@@ -861,6 +841,9 @@ abstractile:        abstractile.o   $(HACK_OBJS) $(COL)
 lcdscrub:      lcdscrub.o      $(HACK_OBJS)
        $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
 
+hexadrop:      hexadrop.o      $(HACK_OBJS) $(COL)
+       $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(COL) $(HACK_LIBS)
+
 # The rules for those hacks which follow the `xlockmore' API.
 #
 
@@ -1077,6 +1060,7 @@ apple2-main.o: $(UTILS_SRC)/colors.h
 apple2-main.o: $(UTILS_SRC)/grabscreen.h
 apple2-main.o: $(UTILS_SRC)/hsv.h
 apple2-main.o: $(UTILS_SRC)/resources.h
+apple2-main.o: $(UTILS_SRC)/textclient.h
 apple2-main.o: $(UTILS_SRC)/usleep.h
 apple2-main.o: $(UTILS_SRC)/visual.h
 apple2-main.o: $(UTILS_SRC)/xshm.h
@@ -1096,6 +1080,7 @@ apple2.o: $(UTILS_SRC)/visual.h
 apple2.o: $(UTILS_SRC)/xshm.h
 apple2.o: $(UTILS_SRC)/yarandom.h
 asm6502.o: $(srcdir)/asm6502.h
+asm6502.o: $(UTILS_SRC)/yarandom.h
 attraction.o: ../config.h
 attraction.o: $(srcdir)/fps.h
 attraction.o: $(srcdir)/screenhackI.h
@@ -1187,6 +1172,7 @@ bsod.o: $(srcdir)/apple2.h
 bsod.o: ../config.h
 bsod.o: $(srcdir)/fps.h
 bsod.o: $(srcdir)/images/amiga.xpm
+bsod.o: $(srcdir)/images/android.xpm
 bsod.o: $(srcdir)/images/atari.xbm
 bsod.o: $(srcdir)/images/atm.xbm
 bsod.o: $(srcdir)/images/hmac.xpm
@@ -1603,6 +1589,7 @@ fontglide.o: $(UTILS_SRC)/colors.h
 fontglide.o: $(UTILS_SRC)/grabscreen.h
 fontglide.o: $(UTILS_SRC)/hsv.h
 fontglide.o: $(UTILS_SRC)/resources.h
+fontglide.o: $(UTILS_SRC)/textclient.h
 fontglide.o: $(UTILS_SRC)/usleep.h
 fontglide.o: $(UTILS_SRC)/visual.h
 fontglide.o: $(UTILS_SRC)/xdbe.h
@@ -1726,6 +1713,17 @@ helix.o: $(UTILS_SRC)/resources.h
 helix.o: $(UTILS_SRC)/usleep.h
 helix.o: $(UTILS_SRC)/visual.h
 helix.o: $(UTILS_SRC)/yarandom.h
+hexadrop.o: ../config.h
+hexadrop.o: $(srcdir)/fps.h
+hexadrop.o: $(srcdir)/screenhackI.h
+hexadrop.o: $(srcdir)/screenhack.h
+hexadrop.o: $(UTILS_SRC)/colors.h
+hexadrop.o: $(UTILS_SRC)/grabscreen.h
+hexadrop.o: $(UTILS_SRC)/hsv.h
+hexadrop.o: $(UTILS_SRC)/resources.h
+hexadrop.o: $(UTILS_SRC)/usleep.h
+hexadrop.o: $(UTILS_SRC)/visual.h
+hexadrop.o: $(UTILS_SRC)/yarandom.h
 hopalong.o: ../config.h
 hopalong.o: $(srcdir)/fps.h
 hopalong.o: $(srcdir)/screenhackI.h
@@ -1818,18 +1816,6 @@ intermomentary.o: $(UTILS_SRC)/resources.h
 intermomentary.o: $(UTILS_SRC)/usleep.h
 intermomentary.o: $(UTILS_SRC)/visual.h
 intermomentary.o: $(UTILS_SRC)/yarandom.h
-jigsaw.o: ../config.h
-jigsaw.o: $(srcdir)/fps.h
-jigsaw.o: $(srcdir)/screenhackI.h
-jigsaw.o: $(srcdir)/screenhack.h
-jigsaw.o: $(UTILS_SRC)/colors.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)/yarandom.h
 juggle.o: ../config.h
 juggle.o: $(srcdir)/fps.h
 juggle.o: $(srcdir)/screenhackI.h
@@ -2017,17 +2003,6 @@ metaballs.o: $(UTILS_SRC)/resources.h
 metaballs.o: $(UTILS_SRC)/usleep.h
 metaballs.o: $(UTILS_SRC)/visual.h
 metaballs.o: $(UTILS_SRC)/yarandom.h
-mismunch.o: ../config.h
-mismunch.o: $(srcdir)/fps.h
-mismunch.o: $(srcdir)/screenhackI.h
-mismunch.o: $(srcdir)/screenhack.h
-mismunch.o: $(UTILS_SRC)/colors.h
-mismunch.o: $(UTILS_SRC)/grabscreen.h
-mismunch.o: $(UTILS_SRC)/hsv.h
-mismunch.o: $(UTILS_SRC)/resources.h
-mismunch.o: $(UTILS_SRC)/usleep.h
-mismunch.o: $(UTILS_SRC)/visual.h
-mismunch.o: $(UTILS_SRC)/yarandom.h
 moire2.o: ../config.h
 moire2.o: $(srcdir)/fps.h
 moire2.o: $(srcdir)/screenhackI.h
@@ -2102,6 +2077,7 @@ noseguy.o: $(UTILS_SRC)/colors.h
 noseguy.o: $(UTILS_SRC)/grabscreen.h
 noseguy.o: $(UTILS_SRC)/hsv.h
 noseguy.o: $(UTILS_SRC)/resources.h
+noseguy.o: $(UTILS_SRC)/textclient.h
 noseguy.o: $(UTILS_SRC)/usleep.h
 noseguy.o: $(UTILS_SRC)/visual.h
 noseguy.o: $(UTILS_SRC)/yarandom.h
@@ -2245,6 +2221,7 @@ phosphor.o: $(UTILS_SRC)/colors.h
 phosphor.o: $(UTILS_SRC)/grabscreen.h
 phosphor.o: $(UTILS_SRC)/hsv.h
 phosphor.o: $(UTILS_SRC)/resources.h
+phosphor.o: $(UTILS_SRC)/textclient.h
 phosphor.o: $(UTILS_SRC)/usleep.h
 phosphor.o: $(UTILS_SRC)/visual.h
 phosphor.o: $(UTILS_SRC)/yarandom.h
@@ -2452,17 +2429,6 @@ slip.o: $(UTILS_SRC)/xshm.h
 slip.o: $(UTILS_SRC)/yarandom.h
 slip.o: $(srcdir)/xlockmoreI.h
 slip.o: $(srcdir)/xlockmore.h
-sonar.o: ../config.h
-sonar.o: $(srcdir)/fps.h
-sonar.o: $(srcdir)/screenhackI.h
-sonar.o: $(srcdir)/screenhack.h
-sonar.o: $(UTILS_SRC)/colors.h
-sonar.o: $(UTILS_SRC)/grabscreen.h
-sonar.o: $(UTILS_SRC)/hsv.h
-sonar.o: $(UTILS_SRC)/resources.h
-sonar.o: $(UTILS_SRC)/usleep.h
-sonar.o: $(UTILS_SRC)/visual.h
-sonar.o: $(UTILS_SRC)/yarandom.h
 speedmine.o: ../config.h
 speedmine.o: $(srcdir)/fps.h
 speedmine.o: $(srcdir)/screenhackI.h
@@ -2808,6 +2774,7 @@ xmatrix.o: $(UTILS_SRC)/colors.h
 xmatrix.o: $(UTILS_SRC)/grabscreen.h
 xmatrix.o: $(UTILS_SRC)/hsv.h
 xmatrix.o: $(UTILS_SRC)/resources.h
+xmatrix.o: $(UTILS_SRC)/textclient.h
 xmatrix.o: $(UTILS_SRC)/usleep.h
 xmatrix.o: $(UTILS_SRC)/visual.h
 xmatrix.o: $(UTILS_SRC)/yarandom.h