+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 glxfonts.o $(HACK_GRAB_OBJS)
+ $(CC_HACK) -o $@ $@.o glxfonts.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)
+
+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_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_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)
+
+# 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 $(UTILS_BIN)/usleep.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
+
+MOLECULE_OBJS=sphere.o tube.o glxfonts.o $(HACK_TRACK_OBJS)
+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_GRAB_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_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 glxfonts.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 normals.o glxfonts.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o normals.o glxfonts.o $(HACK_TRACK_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 glxfonts.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)
+
+juggler3d: juggler3d.o $(HACK_TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_TRACK_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)