-# hacks/glx/Makefile.in --- xscreensaver, Copyright (c) 1999, 2000
+# hacks/glx/Makefile.in --- xscreensaver, Copyright (c) 1999-2005
# by Jamie Zawinski.
# the `../../configure' script generates `hacks/glx/Makefile' from this file.
srcdir = @srcdir@
VPATH = @srcdir@
+top_srcdir = @top_srcdir@
+top_builddir = ..
install_prefix =
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
+datarootdir = @datarootdir@
+datadir = @datadir@
mandir = @mandir@
-man1dir = $(mandir)/man1
-mansuffix = 1
+libexecdir = @libexecdir@
+mansuffix = 6
+manNdir = $(mandir)/man$(mansuffix)
+
+HACKDIR = @HACKDIR@
+HACK_CONF_DIR = @HACK_CONF_DIR@
CC = @CC@
CFLAGS = @CFLAGS@
SHELL = /bin/sh
INSTALL = @INSTALL@
+SUID_FLAGS = -o root -m 4755
INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SETUID = @INSTALL_SETUID@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_DIRS = @INSTALL_DIRS@
-HACKDIR = @HACKDIR@
X_CFLAGS = @X_CFLAGS@
X_LIBS = @X_LIBS@
HACK_LIBS = $(HACK_PRE) $(HACK_POST2)
XPM_LIBS = $(HACK_PRE) @XPM_LIBS@ $(HACK_POST2)
GLE_LIBS = $(HACK_PRE) @GLE_LIBS@ @XPM_LIBS@ $(HACK_POST2)
+MINIXPM = $(UTILS_BIN)/minixpm.o
HACK_SRC = $(srcdir)/..
HACK_BIN = ..
UTIL_SRCS = $(UTILS_SRC)/colors.c $(UTILS_SRC)/hsv.c \
$(UTILS_SRC)/resources.c $(UTILS_SRC)/usleep.c \
$(UTILS_SRC)/visual.c $(UTILS_SRC)/visual-gl.c \
- $(UTILS_SRC)/yarandom.c
+ $(UTILS_SRC)/yarandom.c $(UTILS_SRC)/xshm.c
UTIL_OBJS = $(UTILS_SRC)/colors.o $(UTILS_SRC)/hsv.o \
$(UTILS_SRC)/resources.o $(UTILS_SRC)/usleep.o \
$(UTILS_SRC)/visual.o $(UTILS_SRC)/visual-gl.o \
- $(UTILS_SRC)/yarandom.o
+ $(UTILS_SRC)/yarandom.o $(UTILS_SRC)/xshm.o
-SRCS = xscreensaver-gl-helper.c \
+SRCS = xscreensaver-gl-helper.c normals.c glxfonts.c fps-gl.c \
atlantis.c b_draw.c b_lockglue.c b_sphere.c bubble3d.c \
buildlwo.c cage.c dolphin.c gears.c lament.c moebius.c \
morph3d.c pipeobjs.c pipes.c rubik.c s1_1.c s1_2.c s1_3.c \
s1_4.c s1_5.c s1_6.c s1_b.c shark.c sproingies.c \
sproingiewrap.c stairs.c superquadrics.c swim.c whale.c \
- xlock-gl.c fps.c xpm-ximage.c glplanet.c pulsar.c \
+ xlock-gl-utils.c xpm-ximage.c glplanet.c pulsar.c \
extrusion.c extrusion-helix2.c extrusion-helix3.c \
extrusion-helix4.c extrusion-joinoffset.c extrusion-screw.c \
extrusion-taper.c extrusion-twistoid.c sierpinski3d.c \
gflux.c stonerview.c stonerview-move.c stonerview-osc.c \
stonerview-view.c starwars.c glut_stroke.c glut_swidth.c \
gltext.c molecule.c dangerball.c sphere.c tube.c circuit.c \
- menger.c engine.c flipscreen3d.c font-ximage.c \
+ menger.c engine.c flipscreen3d.c font-ximage.c dnalogo.c \
grab-ximage.c glsnake.c boxed.c glforestfire.c sballs.c \
- cubenetic.c
-
-OBJS = xscreensaver-gl-helper.o \
+ cubenetic.c spheremonics.c marching.c lavalite.c rotator.c \
+ trackball.c gltrackball.c queens.c endgame.c chessmodels.c \
+ glblur.c gllist.c flurry.c flurry-smoke.c flurry-spark.c \
+ flurry-star.c flurry-texture.c atunnel.c tunnel_draw.c \
+ flyingtoasters.c toaster.c toaster_base.c toaster_handle.c \
+ toaster_handle2.c toaster_jet.c toaster_knob.c \
+ toaster_slots.c toaster_wing.c toast.c toast2.c \
+ bouncingcow.c cow_face.c cow_hide.c cow_hoofs.c cow_horns.c \
+ cow_tail.c cow_udder.c glslideshow.c jigglypuff.c klein.c \
+ hypertorus.c glmatrix.c cubestorm.c glknots.c blocktube.c \
+ flipflop.c antspotlight.c polytopes.c gleidescope.c \
+ mirrorblob.c blinkbox.c noof.c polyhedra.c polyhedra-gl.c \
+ antinspect.c providence.c pinion.c involute.c boing.c \
+ texfont.c carousel.c fliptext.c antmaze.c tangram.c \
+ tangram_shapes.c crackberg.c glhanoi.c cube21.c \
+ timetunnel.c juggler3d.c topblock.c glschool.c \
+ glschool_gl.c glschool_alg.c glcells.c voronoi.c \
+ moebiusgears.c lockward.c cubicgrid.c hypnowheel.c \
+ skytentacles.c teapot.c sonar.c sonar-sim.c sonar-icmp.c \
+ jigsaw.c photopile.c rubikblocks.c surfaces.c
+
+OBJS = xscreensaver-gl-helper.o normals.o glxfonts.o fps-gl.o \
atlantis.o b_draw.o b_lockglue.o b_sphere.o bubble3d.o \
buildlwo.o cage.o dolphin.o gears.o lament.o moebius.o \
morph3d.o pipeobjs.o pipes.o rubik.o s1_1.o s1_2.o s1_3.o \
s1_4.o s1_5.o s1_6.o s1_b.o shark.o sproingies.o \
sproingiewrap.o stairs.o superquadrics.o swim.o whale.o \
- xlock-gl.o fps.o xpm-ximage.o glplanet.o pulsar.o \
+ xlock-gl-utils.o xpm-ximage.o glplanet.o pulsar.o \
extrusion.o extrusion-helix2.o extrusion-helix3.o \
extrusion-helix4.o extrusion-joinoffset.o extrusion-screw.o \
extrusion-taper.o extrusion-twistoid.o sierpinski3d.o \
gflux.o stonerview.o stonerview-move.o stonerview-osc.o \
stonerview-view.o starwars.o glut_stroke.o glut_swidth.o \
gltext.o molecule.o dangerball.o sphere.o tube.o circuit.o \
- menger.o engine.o flipscreen3d.o font-ximage.o \
+ menger.o engine.o flipscreen3d.o font-ximage.o dnalogo.o \
grab-ximage.o glsnake.o boxed.o glforestfire.o sballs.o \
- cubenetic.o
+ cubenetic.o spheremonics.o marching.o lavalite.o rotator.o \
+ trackball.o gltrackball.o queens.o endgame.o chessmodels.o \
+ glblur.o gllist.o flurry.o flurry-smoke.o flurry-spark.o \
+ flurry-star.o flurry-texture.o atunnel.o tunnel_draw.o \
+ flyingtoasters.o toaster.o toaster_base.o toaster_handle.o \
+ toaster_handle2.o toaster_jet.o toaster_knob.o \
+ toaster_slots.o toaster_wing.o toast.o toast2.o \
+ bouncingcow.o cow_face.o cow_hide.o cow_hoofs.o cow_horns.o \
+ cow_tail.o cow_udder.o glslideshow.o jigglypuff.o klein.o \
+ hypertorus.o glmatrix.o cubestorm.o glknots.o blocktube.o \
+ flipflop.o antspotlight.o polytopes.o gleidescope.o \
+ mirrorblob.o blinkbox.o noof.o polyhedra.o polyhedra-gl.o \
+ antinspect.o providence.o pinion.o involute.o boing.o \
+ texfont.o carousel.o fliptext.o antmaze.o tangram.o \
+ tangram_shapes.o crackberg.o glhanoi.o cube21.o \
+ timetunnel.o juggler3d.o topblock.o glschool.o \
+ glschool_gl.o glschool_alg.o glcells.o voronoi.o \
+ moebiusgears.o lockward.o cubicgrid.o hypnowheel.o \
+ skytentacles.o teapot.o sonar.o sonar-sim.o sonar-icmp.o \
+ jigsaw.o photopile.o rubikblocks.o surfaces.o
GL_EXES = cage gears moebius pipes sproingies stairs superquadrics \
morph3d rubik atlantis lament bubble3d glplanet pulsar \
sierpinski3d gflux stonerview starwars gltext molecule \
dangerball circuit menger engine flipscreen3d glsnake boxed \
- glforestfire sballs cubenetic
+ sballs cubenetic spheremonics lavalite queens \
+ endgame glblur flurry atunnel flyingtoasters bouncingcow \
+ glslideshow jigglypuff klein hypertorus glmatrix cubestorm \
+ glknots blocktube flipflop antspotlight polytopes \
+ gleidescope mirrorblob blinkbox noof polyhedra \
+ antinspect providence pinion boing carousel fliptext \
+ antmaze tangram crackberg glhanoi cube21 timetunnel \
+ juggler3d topblock glschool glcells voronoi moebiusgears \
+ lockward cubicgrid hypnowheel skytentacles jigsaw photopile \
+ rubikblocks surfaces
GLE_EXES = extrusion
+SUID_EXES = sonar
GL_UTIL_EXES = xscreensaver-gl-helper
-HACK_EXES = @GL_EXES@ @GLE_EXES@
-GRAB_OBJS = $(UTILS_BIN)/grabclient.o grab-ximage.o
+HACK_EXES_1 = @GL_EXES@ @GLE_EXES@
+HACK_EXES = $(HACK_EXES_1) @SUID_EXES@
+XSHM_OBJS = $(UTILS_BIN)/xshm.o
+GRAB_OBJS = $(UTILS_BIN)/grabclient.o grab-ximage.o $(XSHM_OBJS)
EXES = @GL_UTIL_EXES@ $(HACK_EXES)
-HACK_OBJS = screenhack-gl.o xlock-gl.o fps.o $(HACK_BIN)/xlockmore.o \
+RETIRED_EXES = @RETIRED_GL_EXES@
+RETIRED_GL_EXES = glforestfire
+
+HACK_OBJS = $(HACK_BIN)/screenhack.o $(HACK_BIN)/fps.o \
+ xlockmore-gl.o xlock-gl-utils.o glxfonts.o fps-gl.o \
$(UTILS_BIN)/resources.o $(UTILS_BIN)/visual.o \
$(UTILS_BIN)/visual-gl.o $(UTILS_BIN)/usleep.o \
$(UTILS_BIN)/yarandom.o $(UTILS_BIN)/hsv.o \
HDRS = atlantis.h bubble3d.h buildlwo.h e_textures.h xpm-ximage.h \
grab-ximage.h font-ximage.h tube.h sphere.h boxed.h \
- stonerview-move.h stonerview-osc.h glutstroke.h glut_roman.h
-GL_MEN = gflux.man lament.man starwars.man gltext.man \
- molecule.man xscreensaver-gl-helper.man glsnake.man \
- glforestfire.man sballs.man
+ stonerview.h stonerview-move.h stonerview-osc.h \
+ glutstroke.h glut_roman.h marching.h rotator.h trackball.h \
+ gltrackball.h chessmodels.h chessgames.h gllist.h flurry.h \
+ tunnel_draw.h ants.h polyhedra.h normals.h glxfonts.h \
+ texfont.h tangram_shapes.h sproingies.h extrusion.h \
+ glschool.h glschool_gl.h glschool_alg.h topblock.h \
+ involute.h teapot.h sonar.h
+GL_MEN = atlantis.man boxed.man bubble3d.man cage.man circuit.man \
+ cubenetic.man dangerball.man engine.man extrusion.man \
+ flipscreen3d.man gears.man gflux.man \
+ glplanet.man glsnake.man gltext.man lament.man lavalite.man \
+ menger.man moebius.man molecule.man morph3d.man pipes.man \
+ pulsar.man queens.man rubik.man sballs.man sierpinski3d.man \
+ spheremonics.man sproingies.man stairs.man starwars.man \
+ stonerview.man superquadrics.man xscreensaver-gl-helper.man \
+ endgame.man flurry.man glblur.man atunnel.man \
+ flyingtoasters.man bouncingcow.man glslideshow.man \
+ jigglypuff.man klein.man hypertorus.man glmatrix.man \
+ cubestorm.man glknots.man blocktube.man flipflop.man \
+ antspotlight.man polytopes.man gleidescope.man \
+ mirrorblob.man blinkbox.man noof.man polyhedra.man \
+ antinspect.man providence.man pinion.man boing.man \
+ carousel.man fliptext.man antmaze.man tangram.man \
+ crackberg.man glhanoi.man cube21.man timetunnel.man \
+ juggler3d.man topblock.man glschool.man glcells.man \
+ voronoi.man moebiusgears.man lockward.man cubicgrid.man \
+ hypnowheel.man skytentacles.man sonar.man jigsaw.man \
+ photopile.man rubikblocks.man surfaces.man
MEN = @GL_MEN@
-EXTRAS = README Makefile.in
+RETIRED_MEN = glforestfire.man
+EXTRAS = README Makefile.in dxf2gl.pl molecules.sh starwars.txt
-TARFILES = $(SRCS) $(HDRS) $(MEN) $(EXTRAS)
+TARFILES = $(SRCS) $(HDRS) $(MEN) $(RETIRED_MEN) $(EXTRAS)
default: all
-all: $(EXES)
+all: $(EXES) $(RETIRED_EXES)
-install: install-program install-man
-uninstall: uninstall-program uninstall-man
+install: install-program install-xml install-man
+uninstall: uninstall-program uninstall-xml uninstall-man
install-strip:
$(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install
# the hacks, in $HACKDIR
install-program:: $(EXES)
- @exes="$(HACK_EXES)" ; \
+ @exes="$(HACK_EXES_1)" ; \
idir="$(install_prefix)$(HACKDIR)" ; \
if [ "$$exes" != "" ]; then \
if [ ! -d $$idir ]; then \
for program in $$exes; do \
echo $(INSTALL_PROGRAM) $$program $$idir/$$program ; \
$(INSTALL_PROGRAM) $$program $$idir/$$program ; \
+ done ; \
+ \
+ exes="$(SUID_EXES)" ; \
+ if [ @SETUID_HACKS@ = yes ]; then \
+ sinst="$(INSTALL_SETUID)" ; \
+ else \
+ sinst="$(INSTALL_PROGRAM)" ; \
+ fi ; \
+ for program in $$exes; do \
+ echo $$sinst $$program $$idir/$$program ; \
+ if $$sinst $$program $$idir/$$program ; then \
+ true ; \
+ elif [ @SETUID_HACKS@ = yes ]; then \
+ echo $(INSTALL_PROGRAM) $$program $$idir/$$program ; \
+ if $(INSTALL_PROGRAM) $$program $$idir/$$program ; then\
+ echo "" ; \
+ echo "WARNING: unable to install $$program setuid:" \
+ "installed non-setuid instead." ; \
+ echo "" ; \
+ else \
+ exit 1 ; \
+ fi ; \
+ else \
+ exit 1 ; \
+ fi ; \
done ; \
fi
+
# the xscreensaver-gl-helper program, in $bindir
install-program:: $(EXES)
@exes="@GL_UTIL_EXES@" ; \
done ; \
fi
+# When installing man pages, we install "foo.man" as "foo.N" and update
+# the .TH line in the installed file with one like
+#
+# .TH XScreenSaver N "V.VV (DD-MMM-YYYY)" "X Version 11"
+#
+# where N is the manual section suffix.
+#
install-man: $(MEN)
@men="$(MEN)" ; \
- idir="$(install_prefix)$(man1dir)" ; \
- if [ ! -d $$idir ]; then \
- $(INSTALL_DIRS) $$idir ; \
+ U=$(UTILS_SRC)/version.h ; \
+ V=`sed -n 's/.*xscreensaver \([0-9]\.[^)]*)\).*/\1/p' < $$U` ; \
+ T=/tmp/xs$$$$.$(mansuffix) ; \
+ TH=".TH XScreenSaver $(mansuffix) \"$$V\" \"X Version 11\"" ; \
+ echo "installing man pages: $$TH" ; \
+ \
+ if [ ! -d $(install_prefix)$(manNdir) ]; then \
+ $(INSTALL_DIRS) $(install_prefix)$(manNdir) ; \
fi ; \
- for man in $$men; do \
- instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
- echo $(INSTALL_DATA) $(srcdir)/$$man $$idir/$$instname ; \
- $(INSTALL_DATA) $(srcdir)/$$man $$idir/$$instname ; \
- done
+ \
+ for man in $$men; do \
+ instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
+ manbase=`echo $$man | sed 's/\.man$$//'` ; \
+ TH=".TH $$manbase $(mansuffix) \"$$V\" \"X Version 11\" \"XScreenSaver manual\"" ; \
+ sed -e "s/^\.TH.*/$$TH/" \
+ -e 's@(MANSUFFIX)@($(mansuffix))@g' \
+ < $(srcdir)/$$man > $$T ; \
+ echo $(INSTALL_DATA) $(srcdir)/$$man \
+ $(install_prefix)$(manNdir)/$$instname ; \
+ $(INSTALL_DATA) $$T \
+ $(install_prefix)$(manNdir)/$$instname ; \
+ done ; \
+ rm -f $$T
+
+install-xml:
+ @dest=$(install_prefix)$(HACK_CONF_DIR) ; \
+ if [ ! -d $$dest ]; then \
+ $(INSTALL_DIRS) $$dest ; \
+ fi ; \
+ src=$(srcdir)/../config ; \
+ for file in $(EXES) $(SCRIPTS) ; do \
+ if [ -f $$src/$$file.xml ]; then \
+ echo $(INSTALL_DATA) $$src/$$file.xml $$dest/$$file.xml ; \
+ $(INSTALL_DATA) $$src/$$file.xml $$dest/$$file.xml ; \
+ fi ; \
+ done
# the hacks, in $HACKDIR
uninstall-program::
- @exes="$(HACK_EXES)" ; \
+ @exes="$(HACK_EXES) $(RETIRED_EXES)" ; \
idir="$(install_prefix)$(HACKDIR)" ; \
for program in $$exes; do \
echo rm -f $$idir/$$program ; \
done
uninstall-man:
- @men="$(MEN)" ; \
- idir="$(install_prefix)$(man1dir)" ; \
- for man in $$men; do \
- instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
- echo rm -f $$idir/$$instname ; \
- rm -f $$idir/$$instname ; \
+ @men="$(MEN) $(RETIRED_MEN)" ; \
+ for man in $$men; do \
+ instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
+ echo rm -f $(install_prefix)$(manNdir)/$$instname* ; \
+ rm -f $(install_prefix)$(manNdir)/$$instname* ; \
+ done
+
+uninstall-xml:
+ @dest=$(install_prefix)$(HACK_CONF_DIR) ; \
+ for file in $(EXES) $(RETIRED_EXES) $(SCRIPTS) ; do \
+ echo rm -f $$dest/$$file.xml ; \
+ rm -f $$dest/$$file.xml ; \
done
clean:
- -rm -f *.o a.out core $(EXES) molecules.h
+ -rm -f *.o a.out core $(EXES) $(RETIRED_EXES) molecules.h
distclean: clean
-rm -f Makefile TAGS *~ "#"*
$(DEPEND) -w 0 -f - \
-s '# DO NOT DELETE: updated by make distdepend' $(DEPEND_FLAGS) -- \
$(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) -- \
- $(SRCS) | \
+ $(SRCS) 2>/dev/null | \
+ sort -d | \
( \
awk '/^# .*Makefile.in ---/,/^# DO .*distdepend/' < Makefile.in ; \
- sed -e 's@ \./@ @g;s@ /[^ ]*@@g;/^.*:$$/d' \
+ sed -e '/^#.*/d' \
+ -e 's@ \./@ @g;s@ /[^ ]*@@g;/^.*:$$/d' \
-e 's@\.\./\.\./utils@$$(UTILS_SRC)@g' \
-e 's@\.\./glx/@@g' \
-e 's@ \.\./@ $$(HACK_SRC)/@g' \
mv Makefile.in Makefile.in.bak && \
mv /tmp/distdepend.$$$$ Makefile.in
+
TAGS: tags
tags:
find $(srcdir) -name '*.[chly]' -print | xargs etags -a
echo_tarfiles:
@echo $(TARFILES)
+check_men:
+ @badmen="" ; \
+ for exe in $(EXES); do \
+ if ! [ -f $(srcdir)/$$exe.man ]; then \
+ badmen="$$badmen $$exe" ; \
+ fi ; \
+ done ; \
+ if [ -n "$$badmen" ]; then \
+ echo "" ; \
+ echo "Warning: The following programs have no manuals:" ; \
+ echo "" ; \
+ for m in $$badmen ; do \
+ echo " $$m" ; \
+ done ; \
+ fi
+
+validate_xml:
+ @echo "Validating XML..." ; \
+ cd $(HACK_SRC) ; ./check-configs.pl $(EXES)
+
+distdepend:: check_men validate_xml
+
+
# Rules for noticing when the objects from the utils directory are out of
# date with respect to their sources, and going and building them according
# to the rules in their own Makefile...
#
$(UTILS_BIN)/colors.o: $(UTILS_SRC)/colors.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)/usleep.o: $(UTILS_SRC)/usleep.c
$(UTILS_BIN)/visual.o: $(UTILS_SRC)/visual.c
$(UTILS_BIN)/visual-gl.o: $(UTILS_SRC)/visual-gl.c
$(UTILS_BIN)/yarandom.o: $(UTILS_SRC)/yarandom.c
+$(UTILS_BIN)/xshm.o: $(UTILS_SRC)/xshm.c
$(UTIL_OBJS):
cd $(UTILS_BIN) ; \
$(CC) $(LDFLAGS) -o $@ $(HELPER_OBJS) $(LIBS) $(X_LIBS) $(HACK_POST2)
-# These hacks use a slightly-differently-compiled variant of screenhack.c.
+# These hacks use a slightly-differently-compiled variant of xlockmore.c.
# This is how to make the the other .o file from it.
#
-screenhack-gl.o: $(HACK_SRC)/screenhack.c
- $(CC) -o $@ -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) \
- -DXLOCKMORE -DUSE_GL $(HACK_SRC)/screenhack.c
+XLM_CFLAGS=-DUSE_GL $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS)
+xlockmore-gl.o: $(HACK_SRC)/xlockmore.c
+ $(CC) -o $@ -c $(XLM_CFLAGS) $(HACK_SRC)/xlockmore.c
CC_HACK = $(CC) $(LDFLAGS)
+TRACK_OBJS=rotator.o trackball.o gltrackball.o
+HACK_TRACK_OBJS=$(HACK_OBJS) $(TRACK_OBJS)
+HACK_GRAB_OBJS=$(HACK_OBJS) $(GRAB_OBJS)
+HACK_TRACK_GRAB_OBJS=$(HACK_TRACK_OBJS) $(GRAB_OBJS)
+
ATLANTIS_OBJS = $(HACK_OBJS) dolphin.o shark.o swim.o whale.o xpm-ximage.o
atlantis: atlantis.o $(ATLANTIS_OBJS)
- $(CC_HACK) -o $@ $@.o $(ATLANTIS_OBJS) $(HACK_LIBS) $(XPM_LIBS)
+ $(CC_HACK) -o $@ $@.o $(ATLANTIS_OBJS) $(XPM_LIBS)
+
+ATUNNEL_OBJS = $(HACK_OBJS) tunnel_draw.o xpm-ximage.o
+atunnel: atunnel.o $(ATUNNEL_OBJS)
+ $(CC_HACK) -o $@ $@.o $(ATUNNEL_OBJS) $(XPM_LIBS)
cage: cage.o $(HACK_OBJS)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
-gears: gears.o $(HACK_OBJS)
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+FLURRY_OBJS_1 = flurry-smoke.o flurry-spark.o flurry-star.o flurry-texture.o
+FLURRY_OBJS = $(FLURRY_OBJS_1) $(HACK_OBJS)
-moebius: moebius.o $(HACK_OBJS)
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+flurry: flurry.o $(FLURRY_OBJS)
+ $(CC_HACK) -o $@ $@.o $(FLURRY_OBJS) $(HACK_LIBS) -lm
-pipes: pipes.o $(HACK_OBJS) pipeobjs.o buildlwo.o
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) pipeobjs.o buildlwo.o \
- $(HACK_LIBS)
+GEARS_OBJS=normals.o involute.o $(HACK_TRACK_OBJS)
+gears: gears.o tube.o $(GEARS_OBJS)
+ $(CC_HACK) -o $@ $@.o tube.o $(GEARS_OBJS) $(HACK_LIBS)
+
+moebius: moebius.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+PIPE_OBJS=pipeobjs.o buildlwo.o teapot.o
+pipes: pipes.o $(PIPE_OBJS) $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(PIPE_OBJS) $(HACK_OBJS) $(HACK_LIBS)
superquadrics: superquadrics.o $(HACK_OBJS)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
morph3d: morph3d.o $(HACK_OBJS)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
-rubik: rubik.o $(HACK_OBJS)
+rubik: rubik.o $(HACK_OBJS)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
-stairs: stairs.o $(HACK_OBJS)
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+stairs: stairs.o sphere.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o sphere.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
-SPROINGIES = sproingiewrap.o buildlwo.o \
+SPROINGIES = sproingiewrap.o gllist.o \
s1_1.o s1_2.o s1_3.o s1_4.o s1_5.o s1_6.o s1_b.o
-sproingies: sproingies.o $(HACK_OBJS) $(SPROINGIES)
+sproingies: sproingies.o $(HACK_OBJS) $(SPROINGIES)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(SPROINGIES) $(HACK_LIBS)
-lament: lament.o $(HACK_OBJS) xpm-ximage.o
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) xpm-ximage.o $(XPM_LIBS)
+LAMENTOBJS = $(HACK_TRACK_OBJS) xpm-ximage.o normals.o
+lament: lament.o $(LAMENTOBJS)
+ $(CC_HACK) -o $@ $@.o $(LAMENTOBJS) $(XPM_LIBS)
-B3D = b_sphere.o b_draw.o b_lockglue.o
-bubble3d: bubble3d.o $(HACK_OBJS) $(B3D)
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(B3D) $(HACK_LIBS)
+B3D_OBJS = b_sphere.o b_draw.o b_lockglue.o $(HACK_OBJS)
+bubble3d: bubble3d.o $(B3D_OBJS)
+ $(CC_HACK) -o $@ $@.o $(B3D_OBJS) $(HACK_LIBS)
-glplanet: glplanet.o sphere.o xpm-ximage.o $(HACK_OBJS)
- $(CC_HACK) -o $@ $@.o sphere.o xpm-ximage.o $(HACK_OBJS) $(XPM_LIBS)
+PLANET_OBJS=sphere.o xpm-ximage.o $(HACK_TRACK_OBJS)
+glplanet: glplanet.o $(PLANET_OBJS)
+ $(CC_HACK) -o $@ $@.o $(PLANET_OBJS) $(XPM_LIBS)
-pulsar: pulsar.o $(HACK_OBJS)
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+pulsar: pulsar.o $(HACK_OBJS) xpm-ximage.o
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) xpm-ximage.o $(XPM_LIBS)
EXTRUSION_OBJS=extrusion.o extrusion-helix2.o extrusion-helix3.o \
extrusion-helix4.o extrusion-joinoffset.o extrusion-screw.o \
- extrusion-taper.o extrusion-twistoid.o
-extrusion: $(EXTRUSION_OBJS) $(HACK_OBJS)
- $(CC_HACK) -o $@ $(EXTRUSION_OBJS) $(HACK_OBJS) $(GLE_LIBS)
+ extrusion-taper.o extrusion-twistoid.o xpm-ximage.o \
+ $(HACK_TRACK_OBJS)
+extrusion: $(EXTRUSION_OBJS)
+ $(CC_HACK) -o $@ $(EXTRUSION_OBJS) $(XPM_LIBS) $(GLE_LIBS)
-sierpinski3d: sierpinski3d.o $(HACK_OBJS)
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+sierpinski3d: sierpinski3d.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
-gflux: gflux.o $(HACK_OBJS) $(GRAB_OBJS)
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB_OBJS) $(HACK_LIBS)
+gflux: gflux.o $(HACK_TRACK_GRAB_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_GRAB_OBJS) $(HACK_LIBS)
-SW_OBJS=starwars.o glut_stroke.o glut_swidth.o
-starwars: $(SW_OBJS) $(HACK_OBJS)
- $(CC_HACK) -o $@ $(SW_OBJS) $(HACK_OBJS) $(HACK_LIBS)
+SW_OBJS=starwars.o glut_stroke.o glut_swidth.o texfont.o $(HACK_OBJS)
+starwars: $(SW_OBJS)
+ $(CC_HACK) -o $@ $(SW_OBJS) $(HACK_LIBS)
-GLT_OBJS=gltext.o glut_stroke.o glut_swidth.o tube.o
-gltext: $(GLT_OBJS) $(HACK_OBJS)
- $(CC_HACK) -o $@ $(GLT_OBJS) $(HACK_OBJS) $(HACK_LIBS)
+GLT_OBJS=gltext.o glut_stroke.o glut_swidth.o tube.o $(HACK_TRACK_OBJS)
+gltext: $(GLT_OBJS)
+ $(CC_HACK) -o $@ $(GLT_OBJS) $(HACK_LIBS)
-dangerball: dangerball.o sphere.o tube.o $(HACK_OBJS)
- $(CC_HACK) -o $@ $@.o sphere.o tube.o $(HACK_OBJS) $(HACK_LIBS)
+DB_OBJS=sphere.o tube.o $(HACK_TRACK_OBJS)
+dangerball: dangerball.o $(DB_OBJS)
+ $(CC_HACK) -o $@ $@.o $(DB_OBJS) $(HACK_LIBS)
-circuit: circuit.o $(HACK_OBJS) font-ximage.o
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) font-ximage.o $(HACK_LIBS)
+circuit: circuit.o font-ximage.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o font-ximage.o $(HACK_OBJS) $(HACK_LIBS)
-menger: menger.o $(HACK_OBJS)
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+menger: menger.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
-engine: engine.o $(HACK_OBJS)
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+engine: engine.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
-flipscreen3d: flipscreen3d.o $(HACK_OBJS) $(GRAB_OBJS)
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB_OBJS) $(HACK_LIBS)
+flipscreen3d: flipscreen3d.o $(HACK_TRACK_GRAB_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_GRAB_OBJS) $(HACK_LIBS)
glsnake: glsnake.o $(HACK_OBJS)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
boxed: boxed.o $(HACK_OBJS)
$(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
-glforestfire: glforestfire.o $(HACK_OBJS) xpm-ximage.o
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) xpm-ximage.o $(XPM_LIBS)
+glforestfire: glforestfire.o xpm-ximage.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o xpm-ximage.o $(HACK_TRACK_OBJS) $(XPM_LIBS)
-sballs: sballs.o $(HACK_OBJS) xpm-ximage.o
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) xpm-ximage.o $(XPM_LIBS)
+sballs: sballs.o xpm-ximage.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o xpm-ximage.o $(HACK_TRACK_OBJS) $(XPM_LIBS)
-cubenetic: cubenetic.o $(HACK_OBJS)
- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+cubenetic: cubenetic.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+spheremonics: spheremonics.o normals.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o normals.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+LL_OBJS=marching.o xpm-ximage.o normals.o $(HACK_TRACK_OBJS)
+lavalite: lavalite.o $(LL_OBJS)
+ $(CC_HACK) -o $@ $@.o $(LL_OBJS) $(XPM_LIBS)
+
+queens: queens.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+endgame: endgame.o chessmodels.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o chessmodels.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+glblur: glblur.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+TOAST_OBJS=\
+ toaster.o toaster_base.o toaster_handle.o toaster_handle2.o \
+ toaster_jet.o toaster_knob.o toaster_slots.o toaster_wing.o \
+ toast.o toast2.o \
+ flyingtoasters.o gllist.o xpm-ximage.o $(HACK_TRACK_OBJS)
+flyingtoasters: $(TOAST_OBJS)
+ $(CC_HACK) -o $@ $(TOAST_OBJS) $(XPM_LIBS)
+
+COW_OBJS=\
+ cow_face.o cow_hide.o cow_hoofs.o cow_horns.o cow_tail.o cow_udder.o \
+ bouncingcow.o gllist.o xpm-ximage.o $(HACK_TRACK_OBJS)
+bouncingcow: $(COW_OBJS)
+ $(CC_HACK) -o $@ $(COW_OBJS) $(XPM_LIBS)
+
+glslideshow: glslideshow.o $(HACK_GRAB_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_GRAB_OBJS) $(HACK_LIBS)
+
+jigglypuff: jigglypuff.o xpm-ximage.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o xpm-ximage.o $(HACK_TRACK_OBJS) $(XPM_LIBS)
+
+klein: klein.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+surfaces: surfaces.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+hypertorus: hypertorus.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+glmatrix: glmatrix.o xpm-ximage.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o xpm-ximage.o $(HACK_OBJS) $(XPM_LIBS)
+
+cubestorm: cubestorm.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+glknots: glknots.o tube.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o tube.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+blocktube: blocktube.o xpm-ximage.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o xpm-ximage.o $(HACK_OBJS) $(XPM_LIBS)
+
+flipflop: flipflop.o $(HACK_TRACK_GRAB_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_GRAB_OBJS) $(HACK_LIBS)
+
+antspotlight: antspotlight.o $(HACK_TRACK_GRAB_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_GRAB_OBJS) $(HACK_LIBS)
+
+polytopes: polytopes.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+STONER_OBJS=stonerview-move.o stonerview-osc.o stonerview-view.o
+stonerview: stonerview.o $(STONER_OBJS) $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(STONER_OBJS) $(HACK_TRACK_OBJS) $(HACK_LIBS)
-# This one works differently (it's not xlock-like.)
-#
-STONER_OBJS=stonerview.o stonerview-move.o stonerview-osc.o stonerview-view.o \
- $(UTILS_BIN)/yarandom.o
-stonerview: $(STONER_OBJS)
- $(CC_HACK) -o $@ $(STONER_OBJS) $(HACK_LIBS)
molecules.h:
- @tmp=molecules.h.$$$$ ; \
- rm -f $$tmp ; \
- echo "building molecules.h from $(HACK_SRC)/images/molecules/*.pdb" ; \
- for f in $(HACK_SRC)/images/molecules/*.pdb ; do \
- $(SHELL) $(UTILS_SRC)/ad2c "$$f" | \
- sed 's/",$$/\\n"/' >> $$tmp ; \
- echo ',' >> $$tmp ; \
- done ; \
- mv $$tmp molecules.h
+ @echo "building molecules.h from $(HACK_SRC)/images/molecules/*.pdb"; \
+ UTILS_SRC="$(UTILS_SRC)" \
+ $(srcdir)/molecules.sh molecules.h $(HACK_SRC)/images/molecules/*.pdb
+
+MOLECULE_OBJS=sphere.o tube.o $(HACK_TRACK_OBJS)
+molecule.o: molecules.h
+molecule: molecule.o $(MOLECULE_OBJS)
+ $(CC_HACK) -o $@ $@.o $(MOLECULE_OBJS) $(HACK_LIBS)
+
+gleidescope: gleidescope.o xpm-ximage.o $(HACK_GRAB_OBJS)
+ $(CC_HACK) -o $@ $@.o xpm-ximage.o $(HACK_GRAB_OBJS) $(XPM_LIBS)
+
+mirrorblob: mirrorblob.o $(HACK_TRACK_GRAB_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_GRAB_OBJS) $(XPM_LIBS)
+
+blinkbox: blinkbox.o sphere.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o sphere.o $(HACK_OBJS) $(HACK_LIBS)
+
+noof: noof.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+
+PH_OBJS=polyhedra-gl.o normals.o teapot.o $(HACK_TRACK_OBJS)
+polyhedra: polyhedra.o $(PH_OBJS)
+ $(CC_HACK) -o $@ $@.o $(PH_OBJS) $(HACK_LIBS)
+
+antinspect: antinspect.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+providence: providence.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+pinion: pinion.o $(GEARS_OBJS)
+ $(CC_HACK) -o $@ $@.o $(GEARS_OBJS) $(HACK_LIBS)
+
+moebiusgears: moebiusgears.o $(GEARS_OBJS)
+ $(CC_HACK) -o $@ $@.o $(GEARS_OBJS) $(HACK_LIBS)
+
+boing: boing.o normals.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o normals.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+carousel: carousel.o texfont.o $(HACK_TRACK_GRAB_OBJS)
+ $(CC_HACK) -o $@ $@.o texfont.o $(HACK_TRACK_GRAB_OBJS) $(HACK_LIBS)
+
+fliptext: fliptext.o texfont.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o texfont.o $(HACK_OBJS) $(HACK_LIBS)
+
+antmaze: antmaze.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+TANGRAM_OBJS=tangram_shapes.o $(HACK_OBJS)
+tangram: tangram.o $(TANGRAM_OBJS)
+ $(CC_HACK) -o $@ $@.o $(TANGRAM_OBJS) $(HACK_LIBS)
+
+crackberg: crackberg.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+
+glhanoi: glhanoi.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+cube21: cube21.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+
+TIMETUNNEL_OBJS = xpm-ximage.o $(HACK_TRACK_OBJS)
+timetunnel: timetunnel.o $(TIMETUNNEL_OBJS)
+ $(CC_HACK) -o $@ $@.o $(TIMETUNNEL_OBJS) $(XPM_LIBS)
+
+JUGG_OBJS=sphere.o tube.o $(HACK_TRACK_OBJS)
+juggler3d: juggler3d.o $(JUGG_OBJS)
+ $(CC_HACK) -o $@ $@.o $(JUGG_OBJS) $(HACK_LIBS)
+
+dnalogo: dnalogo.o tube.o normals.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o tube.o normals.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+topblock: topblock.o sphere.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o sphere.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+SCHOOL_OBJS=glschool.o glschool_alg.o glschool_gl.o sphere.o tube.o $(HACK_OBJS)
+glschool: $(SCHOOL_OBJS)
+ $(CC_HACK) -o $@ $(SCHOOL_OBJS) $(HACK_LIBS)
+
+glcells: glcells.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+
+voronoi: voronoi.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+
+lockward: lockward.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+
+cubicgrid: cubicgrid.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+hypnowheel: hypnowheel.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
+
+TENTACLE_OBJS=normals.o xpm-ximage.o $(HACK_TRACK_OBJS)
+skytentacles: skytentacles.o $(TENTACLE_OBJS)
+ $(CC_HACK) -o $@ $@.o $(TENTACLE_OBJS) $(XPM_LIBS)
+
+SONAR_OBJS=sonar-sim.o sonar-icmp.o texfont.o $(HACK_TRACK_OBJS)
+sonar: sonar.o $(SONAR_OBJS)
+ $(CC_HACK) -o $@ $@.o $(SONAR_OBJS) $(XPM_LIBS)
+
+JIGSAW_OBJS=normals.o $(UTILS_BIN)/spline.o $(HACK_TRACK_GRAB_OBJS)
+jigsaw: jigsaw.o $(JIGSAW_OBJS)
+ $(CC_HACK) -o $@ $@.o $(JIGSAW_OBJS) $(HACK_LIBS)
-molecule: molecule.o sphere.o tube.o $(HACK_OBJS)
- $(CC_HACK) -o $@ $@.o sphere.o tube.o $(HACK_OBJS) $(HACK_LIBS)
+photopile: photopile.o texfont.o $(HACK_GRAB_OBJS)
+ $(CC_HACK) -o $@ $@.o texfont.o $(HACK_GRAB_OBJS) $(HACK_LIBS)
-dnalogo: dnalogo.o tube.o $(HACK_OBJS)
- $(CC_HACK) -o $@ $@.o tube.o $(HACK_OBJS) $(HACK_LIBS)
+rubikblocks: rubikblocks.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
##############################################################################
#
# DO NOT DELETE: updated by make distdepend
-# $(srcdir)/DO $(srcdir)/NOT $(srcdir)/DELETE: $(srcdir)/updated $(srcdir)/by $(srcdir)/make $(srcdir)/distdepend
-
-xscreensaver-gl-helper.o: ../../config.h
-atlantis.o: ../../config.h
-atlantis.o: $(srcdir)/atlantis.h
-atlantis.o: $(srcdir)/xpm-ximage.h
-atlantis.o: $(HACK_SRC)/images/sea-texture.xpm
-b_draw.o: $(srcdir)/bubble3d.h
-b_draw.o: ../../config.h
-b_lockglue.o: $(srcdir)/bubble3d.h
-b_lockglue.o: ../../config.h
-b_sphere.o: $(srcdir)/bubble3d.h
-b_sphere.o: ../../config.h
-bubble3d.o: $(srcdir)/bubble3d.h
-bubble3d.o: ../../config.h
-buildlwo.o: $(srcdir)/buildlwo.h
-cage.o: ../../config.h
-cage.o: $(srcdir)/e_textures.h
-dolphin.o: $(srcdir)/atlantis.h
-gears.o: ../../config.h
-lament.o: ../../config.h
-lament.o: $(srcdir)/xpm-ximage.h
-lament.o: $(HACK_SRC)/images/lament.xpm
-moebius.o: ../../config.h
-moebius.o: $(srcdir)/e_textures.h
-morph3d.o: ../../config.h
-pipeobjs.o: $(srcdir)/buildlwo.h
-pipes.o: ../../config.h
-pipes.o: $(srcdir)/buildlwo.h
-rubik.o: ../../config.h
-s1_1.o: $(srcdir)/buildlwo.h
-s1_2.o: $(srcdir)/buildlwo.h
-s1_3.o: $(srcdir)/buildlwo.h
-s1_4.o: $(srcdir)/buildlwo.h
-s1_5.o: $(srcdir)/buildlwo.h
-s1_6.o: $(srcdir)/buildlwo.h
-s1_b.o: $(srcdir)/buildlwo.h
-shark.o: $(srcdir)/atlantis.h
-sproingies.o: ../../config.h
-sproingies.o: $(srcdir)/buildlwo.h
-sproingiewrap.o: ../../config.h
-stairs.o: ../../config.h
-stairs.o: $(srcdir)/e_textures.h
-superquadrics.o: ../../config.h
-swim.o: ../../config.h
-swim.o: $(srcdir)/atlantis.h
-whale.o: $(srcdir)/atlantis.h
-xlock-gl.o: ../../config.h
-fps.o: ../../config.h
-xpm-ximage.o: ../../config.h
-glplanet.o: ../../config.h
-glplanet.o: $(srcdir)/sphere.h
-glplanet.o: $(HACK_SRC)/images/earth.xpm
-glplanet.o: $(srcdir)/xpm-ximage.h
-pulsar.o: ../../config.h
-extrusion.o: ../../config.h
-extrusion-helix2.o: ../../config.h
-extrusion-helix3.o: ../../config.h
-extrusion-helix4.o: ../../config.h
-extrusion-joinoffset.o: ../../config.h
-extrusion-screw.o: ../../config.h
-extrusion-taper.o: ../../config.h
-extrusion-twistoid.o: ../../config.h
-sierpinski3d.o: ../../config.h
-gflux.o: ../../config.h
-gflux.o: $(srcdir)/grab-ximage.h
-stonerview.o: ../../config.h
-stonerview.o: $(srcdir)/stonerview-move.h
-stonerview-move.o: ../../config.h
-stonerview-move.o: $(srcdir)/stonerview-osc.h
-stonerview-move.o: $(srcdir)/stonerview-move.h
-stonerview-osc.o: ../../config.h
-stonerview-osc.o: $(srcdir)/stonerview-osc.h
-stonerview-view.o: ../../config.h
-stonerview-view.o: $(srcdir)/stonerview-osc.h
-stonerview-view.o: $(srcdir)/stonerview-move.h
-starwars.o: ../../config.h
-starwars.o: $(srcdir)/glutstroke.h
-starwars.o: $(srcdir)/glut_roman.h
-glut_stroke.o: ../../config.h
-glut_stroke.o: $(srcdir)/glutstroke.h
-glut_swidth.o: ../../config.h
-glut_swidth.o: $(srcdir)/glutstroke.h
-gltext.o: ../../config.h
-gltext.o: $(srcdir)/tube.h
-gltext.o: $(srcdir)/glutstroke.h
-gltext.o: $(srcdir)/glut_roman.h
-molecule.o: ../../config.h
-molecule.o: $(srcdir)/sphere.h
-molecule.o: $(srcdir)/tube.h
-molecule.o: molecules.h
-dangerball.o: ../../config.h
-dangerball.o: $(srcdir)/sphere.h
-dangerball.o: $(srcdir)/tube.h
-sphere.o: ../../config.h
-tube.o: ../../config.h
-tube.o: $(srcdir)/tube.h
-circuit.o: ../../config.h
-circuit.o: $(srcdir)/font-ximage.h
-menger.o: ../../config.h
-engine.o: ../../config.h
-flipscreen3d.o: ../../config.h
-flipscreen3d.o: $(srcdir)/grab-ximage.h
-font-ximage.o: ../../config.h
-grab-ximage.o: ../../config.h
-glsnake.o: ../../config.h
-boxed.o: $(srcdir)/boxed.h
-boxed.o: ../../config.h
-glforestfire.o: ../../config.h
-glforestfire.o: $(srcdir)/xpm-ximage.h
-glforestfire.o: $(HACK_SRC)/images/ground.xpm
-glforestfire.o: $(HACK_SRC)/images/tree.xpm
-sballs.o: ../../config.h
-sballs.o: $(srcdir)/xpm-ximage.h
-sballs.o: $(HACK_SRC)/images/sball.xpm
-sballs.o: $(HACK_SRC)/images/sball-bg.xpm
-cubenetic.o: ../../config.h