+fuzzyflakes: fuzzyflakes.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+
+anemotaxis: anemotaxis.o $(HACK_OBJS) $(COL) $(DBE)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(DBE) $(HACK_LIBS)
+
+memscroller: memscroller.o $(HACK_OBJS) $(SHM) $(COL)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(SHM) $(COL) $(HACK_LIBS) $(THRL)
+
+substrate: substrate.o $(HACK_OBJS)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
+
+intermomentary: intermomentary.o $(HACK_OBJS) $(COL)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
+
+interaggregate: interaggregate.o $(HACK_OBJS) $(COL)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
+
+fireworkx: fireworkx.o $(HACK_OBJS) $(COL)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
+
+boxfit: boxfit.o $(HACK_OBJS) $(COL) $(GRAB)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(GRAB) $(HACK_LIBS)
+
+ifs: ifs.o $(HACK_OBJS) $(COL)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
+
+celtic: celtic.o $(HACK_OBJS) $(COL) $(ERASE)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
+
+cwaves: cwaves.o $(HACK_OBJS) $(COL)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
+
+m6502.h:
+ @echo "building m6502.h from $(srcdir)/images/m6502/*.asm"; \
+ 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) $(PNG)
+ $(CC_HACK) -o $@ $@.o asm6502.o $(HACK_OBJS) $(ATV) $(PNG) $(PNG_LIBS) $(THRL)
+
+abstractile: abstractile.o $(HACK_OBJS) $(COL)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
+
+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)
+
+tessellimage: tessellimage.o delaunay.o $(HACK_OBJS) $(GRAB)
+ $(CC_HACK) -o $@ $@.o delaunay.o $(HACK_OBJS) $(GRAB) $(HACK_LIBS)
+
+glitchpeg: glitchpeg.o $(HACK_OBJS) $(PNG)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(PNG) $(PNG_LIBS)
+
+filmleader: filmleader.o $(HACK_OBJS) $(ATV) $(GRAB) $(PNG)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(PNG) $(PNG_LIBS) $(HACK_LIBS) $(THRL)
+
+vfeedback: vfeedback.o $(HACK_OBJS) $(ATV) $(GRAB) $(PNG)
+ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(PNG) $(PNG_LIBS) $(HACK_LIBS) $(THRL)
+
+
+testx11: testx11.o glx/rotator.o $(HACK_OBJS) $(COL) $(PNG) $(BARS) $(ERASE)
+ $(CC_HACK) -o $@ $@.o glx/rotator.o $(HACK_OBJS) $(COL) $(PNG) $(BARS) $(ERASE) $(PNG_LIBS)
+
+glx/rotator.o: glx/rotator.c
+ cd glx ; \
+ $(MAKE) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"