+engine: engine.o $(HACK_OBJS) $(TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(TRACK_OBJS) $(HACK_LIBS)
+
+flipscreen3d: flipscreen3d.o $(HACK_OBJS) $(GRAB_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(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)
+
+sballs: sballs.o $(HACK_OBJS) xpm-ximage.o
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) xpm-ximage.o $(XPM_LIBS)
+
+cubenetic: cubenetic.o $(HACK_OBJS) $(TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(TRACK_OBJS) $(HACK_LIBS)
+
+spheremonics: spheremonics.o $(HACK_OBJS) $(TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(TRACK_OBJS) $(HACK_LIBS)
+
+LLOBJS=marching.o xpm-ximage.o $(TRACK_OBJS) $(HACK_OBJS)
+lavalite: lavalite.o $(LLOBJS)
+ $(CC_HACK) -o $@ $@.o $(LLOBJS) $(XPM_LIBS)
+
+queens: queens.o $(TRACK_OBJS) $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(TRACK_OBJS) $(HACK_OBJS) $(HACK_LIBS)
+
+CHESSOBJS=chessmodels.o $(TRACK_OBJS) $(HACK_OBJS)
+endgame: endgame.o $(CHESSOBJS)
+ $(CC_HACK) -o $@ $@.o $(CHESSOBJS) $(HACK_LIBS)
+
+glblur: glblur.o $(HACK_OBJS) $(TRACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(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
+
+MOLECULEOBJS=sphere.o tube.o $(TRACK_OBJS)
+molecule: molecule.o $(MOLECULEOBJS) $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(MOLECULEOBJS) $(HACK_OBJS) $(HACK_LIBS)
+
+dnalogo: dnalogo.o tube.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o tube.o $(HACK_OBJS) $(HACK_LIBS)