1 # hacks/Makefile.in --- xscreensaver, Copyright (c) 1997-2005 Jamie Zawinski.
2 # the `../configure' script generates `hacks/Makefile' from this file.
10 top_srcdir = @top_srcdir@
15 exec_prefix = @exec_prefix@
17 datarootdir = @datarootdir@
20 libexecdir = @libexecdir@
22 manNdir = $(mandir)/man$(mansuffix)
25 HACK_CONF_DIR = @HACK_CONF_DIR@
30 DEFS = -DSTANDALONE @DEFS@
35 DEPEND_FLAGS = @DEPEND_FLAGS@
36 DEPEND_DEFINES = @DEPEND_DEFINES@
40 INSTALL_PROGRAM = @INSTALL_PROGRAM@
41 INSTALL_SCRIPT = @INSTALL_SCRIPT@
42 INSTALL_DATA = @INSTALL_DATA@
43 INSTALL_DIRS = @INSTALL_DIRS@
47 X_PRE_LIBS = @X_PRE_LIBS@
48 X_EXTRA_LIBS = @X_EXTRA_LIBS@
51 # Note: see comment in ../driver/Makefile.in for explanation of X_LIBS, etc.
53 HACK_PRE = $(LIBS) $(X_LIBS)
54 HACK_POST = $(X_PRE_LIBS) -lXt -lX11 $(XMU_LIBS) -lXext $(X_EXTRA_LIBS) -lm
55 HACK_LIBS = $(HACK_PRE) @HACK_LIBS@ $(HACK_POST)
56 XPM_LIBS = $(HACK_PRE) @XPM_LIBS@ @HACK_LIBS@ $(HACK_POST)
57 JPEG_LIBS = @JPEG_LIBS@
58 XLOCK_LIBS = $(HACK_LIBS)
60 MINIXPM = $(UTILS_BIN)/minixpm.o
62 UTILS_SRC = $(srcdir)/../utils
65 INCLUDES = -I. -I$(srcdir) -I$(UTILS_SRC) -I.. @INCLUDES@
67 UTIL_SRCS = $(UTILS_SRC)/alpha.c $(UTILS_SRC)/colors.c \
68 $(UTILS_SRC)/grabscreen.c $(UTILS_SRC)/grabclient.c \
69 $(UTILS_SRC)/hsv.c $(UTILS_SRC)/resources.c \
70 $(UTILS_SRC)/spline.c $(UTILS_SRC)/usleep.c \
71 $(UTILS_SRC)/visual.c $(UTILS_SRC)/logo.c \
72 $(UTILS_SRC)/minixpm.c \
73 $(UTILS_SRC)/yarandom.c $(UTILS_SRC)/erase.c \
74 $(UTILS_SRC)/xshm.c $(UTILS_SRC)/xdbe.c
75 UTIL_OBJS = $(UTILS_BIN)/alpha.o $(UTILS_BIN)/colors.o \
76 $(UTILS_BIN)/grabscreen.o $(UTILS_BIN)/grabclient.o \
77 $(UTILS_BIN)/hsv.o $(UTILS_BIN)/resources.o \
78 $(UTILS_BIN)/spline.o $(UTILS_BIN)/usleep.o \
79 $(UTILS_BIN)/visual.o $(UTILS_BIN)/logo.o \
80 $(UTILS_SRC)/minixpm.c \
81 $(UTILS_BIN)/yarandom.o $(UTILS_BIN)/erase.o \
82 $(UTILS_BIN)/xshm.o $(UTILS_BIN)/xdbe.o \
83 $(UTILS_BIN)/colorbars.o
85 SRCS = attraction.c blitspin.c bouboule.c braid.c bubbles.c \
86 bubbles-default.c decayscreen.c deco.c drift.c flag.c \
87 flame.c forest.c vines.c galaxy.c grav.c greynetic.c \
88 halo.c helix.c hopalong.c hypercube.c ifs.c imsmap.c \
89 julia.c kaleidescope.c laser.c lightning.c lisa.c lmorph.c \
90 maze.c moire.c noseguy.c pedal.c penrose.c pyro.c qix.c \
91 rocks.c rorschach.c screenhack.c sierpinski.c slidescreen.c \
92 slip.c sphere.c spiral.c strange.c swirl.c xlockmore.c \
93 fps.c goop.c starfish.c munch.c fadeplot.c \
94 rd-bomb.c coral.c mountain.c triangle.c lissie.c worm.c \
95 rotor.c ant.c xjack.c xlyap.c xscreensaver-sgigl.c \
96 cynosure.c moire2.c flow.c epicycle.c interference.c \
97 truchet.c bsod.c crystal.c discrete.c distort.c kumppa.c \
98 demon.c loop.c t3d.c penetrate.c deluxe.c compass.c \
99 squiral.c xflame.c wander.c spotlight.c critical.c \
100 phosphor.c xmatrix.c petri.c shadebobs.c xsublim.c ccurve.c \
101 blaster.c bumps.c ripples.c xspirograph.c \
102 nerverot.c xrayswarm.c hyperball.c zoom.c whirlwindwarp.c \
103 rotzoomer.c whirlygig.c speedmine.c vermiculate.c \
104 xpm-pixmap.c webcollage-helper.c twang.c apollonian.c \
105 euler2d.c juggle.c polyominoes.c thornbird.c fluidballs.c \
106 anemone.c halftone.c metaballs.c eruption.c popsquares.c \
107 barcode.c piecewise.c cloudlife.c fontglide.c apple2.c \
108 apple2-main.c analogtv.c xanalogtv.c pong.c wormhole.c \
109 pacman.c pacman_ai.c pacman_level.c \
110 fuzzyflakes.c anemotaxis.c memscroller.c substrate.c \
111 intermomentary.c fireworkx.c fireworkx_mmx.S fiberlamp.c \
112 boxfit.c interaggregate.c celtic.c cwaves.c m6502.c \
113 asm6502.c abstractile.c lcdscrub.c \
114 webcollage-cocoa.m webcollage-helper-cocoa.m
115 SCRIPTS = vidwhacker webcollage ljlatest
117 # Programs that are mentioned in XScreenSaver.ad, and that have XML files,
118 # but that are not shipped with xscreensaver itself.
120 EXTERNALS = cosmos electricsheep extrusion fireflies goban \
121 sphereeversion ssystem xaos xdaliclock xearth xfishtank \
122 xmountains xplanet xsnow
124 OBJS = attraction.o blitspin.o bouboule.o braid.o bubbles.o \
125 bubbles-default.o decayscreen.o deco.o drift.o flag.o \
126 flame.o forest.o vines.o galaxy.o grav.o greynetic.o \
127 halo.o helix.o hopalong.o hypercube.o ifs.o imsmap.o \
128 julia.o kaleidescope.o laser.o lightning.o lisa.o lmorph.o \
129 maze.o moire.o noseguy.o pedal.o penrose.o pyro.o qix.o \
130 rocks.o rorschach.o screenhack.o sierpinski.o slidescreen.o \
131 slip.o sphere.o spiral.o strange.o swirl.o xlockmore.o \
132 fps.o goop.o starfish.o munch.o fadeplot.o \
133 rd-bomb.o coral.o mountain.o triangle.o lissie.o worm.o \
134 rotor.o ant.o xjack.o xlyap.o xscreensaver-sgigl.o \
135 cynosure.o moire2.o flow.o epicycle.o interference.o \
136 truchet.o bsod.o crystal.o discrete.o distort.o kumppa.o \
137 demon.o loop.o t3d.o penetrate.o deluxe.o compass.o \
138 squiral.o xflame.o wander.o spotlight.o critical.o \
139 phosphor.o xmatrix.o petri.o shadebobs.o xsublim.o ccurve.o \
140 blaster.o bumps.o ripples.o xspirograph.o \
141 nerverot.o xrayswarm.o hyperball.o zoom.o whirlwindwarp.o \
142 rotzoomer.o whirlygig.o speedmine.o vermiculate.o \
143 xpm-pixmap.o webcollage-helper.o twang.o apollonian.o \
144 euler2d.o juggle.o polyominoes.o thornbird.o fluidballs.o \
145 anemone.o halftone.o metaballs.o eruption.o popsquares.o \
146 barcode.o piecewise.o cloudlife.o fontglide.o apple2.o \
147 apple2-main.o analogtv.o xanalogtv.o pong.o wormhole.o \
148 pacman.o pacman_ai.o pacman_level.o \
149 fuzzyflakes.o anemotaxis.o memscroller.o substrate.o \
150 intermomentary.o fireworkx.o fiberlamp.o boxfit.o \
151 interaggregate.o celtic.o cwaves.o webcollage-cocoa.o \
152 webcollage-helper-cocoa.o m6502.o asm6502.o abstractile.o \
155 EXES = attraction blitspin bouboule braid decayscreen deco \
156 drift flame galaxy grav greynetic halo \
157 helix hopalong hypercube ifs imsmap julia kaleidescope \
158 maze moire noseguy pedal \
159 penrose pyro qix rocks rorschach sierpinski slidescreen \
160 slip strange swirl goop starfish munch \
161 fadeplot rd-bomb coral mountain triangle \
162 xjack xlyap cynosure moire2 flow epicycle \
163 interference truchet bsod crystal discrete distort kumppa \
164 demon loop penetrate deluxe compass squiral xflame \
165 wander spotlight phosphor xmatrix petri shadebobs \
166 ccurve blaster bumps ripples xspirograph \
167 nerverot xrayswarm hyperball zoom whirlwindwarp rotzoomer \
168 speedmine vermiculate twang apollonian euler2d \
169 polyominoes thornbird fluidballs anemone halftone \
170 metaballs eruption popsquares barcode piecewise cloudlife \
171 fontglide apple2 xanalogtv pong wormhole \
172 pacman fuzzyflakes anemotaxis memscroller substrate \
173 intermomentary fireworkx fiberlamp boxfit interaggregate \
174 celtic cwaves m6502 abstractile lcdscrub \
176 JPEG_EXES = webcollage-helper
178 RETIRED_EXES = ant bubbles critical flag forest laser lightning lisa \
179 lissie lmorph rotor sphere spiral t3d vines whirlygig \
182 HACK_OBJS_1 = fps.o $(UTILS_BIN)/resources.o $(UTILS_BIN)/visual.o \
183 $(UTILS_BIN)/usleep.o $(UTILS_BIN)/yarandom.o @XMU_OBJS@
184 HACK_OBJS = screenhack.o $(HACK_OBJS_1)
185 XLOCK_OBJS = screenhack.o xlockmore.o $(COLOR_OBJS) $(HACK_OBJS_1)
186 COLOR_OBJS = $(UTILS_BIN)/hsv.o $(UTILS_BIN)/colors.o
187 GRAB_OBJS = $(UTILS_BIN)/grabclient.o
188 XSHM_OBJS = $(UTILS_BIN)/xshm.o
189 XDBE_OBJS = $(UTILS_BIN)/xdbe.o
191 HDRS = screenhack.h screenhackI.h fps.h fpsI.h xlockmore.h \
192 xlockmoreI.h automata.h bubbles.h xpm-pixmap.h \
193 apple2.h analogtv.h pacman.h pacman_ai.h pacman_level.h \
195 MEN = anemone.man apollonian.man attraction.man \
196 blaster.man blitspin.man bouboule.man braid.man bsod.man \
197 bumps.man ccurve.man compass.man coral.man \
198 crystal.man cynosure.man decayscreen.man \
199 deco.man deluxe.man demon.man discrete.man distort.man \
200 drift.man epicycle.man euler2d.man fadeplot.man \
201 flame.man flow.man fluidballs.man galaxy.man \
202 goop.man grav.man greynetic.man halo.man helix.man \
203 hopalong.man hyperball.man hypercube.man ifs.man imsmap.man \
204 interference.man julia.man \
205 kaleidescope.man kumppa.man \
206 loop.man maze.man moire.man \
207 moire2.man mountain.man munch.man nerverot.man noseguy.man \
208 pedal.man penetrate.man penrose.man petri.man phosphor.man \
209 polyominoes.man pyro.man qix.man rd-bomb.man ripples.man \
210 rocks.man rorschach.man rotzoomer.man \
211 shadebobs.man sierpinski.man slidescreen.man slip.man \
213 spotlight.man squiral.man starfish.man strange.man \
214 swirl.man thornbird.man triangle.man truchet.man \
215 twang.man vermiculate.man vidwhacker.man \
216 wander.man webcollage.man whirlwindwarp.man \
217 xflame.man xjack.man xlyap.man xmatrix.man \
218 xrayswarm.man xspirograph.man \
219 zoom.man halftone.man eruption.man metaballs.man \
220 barcode.man piecewise.man cloudlife.man ljlatest.man \
221 fontglide.man apple2.man xanalogtv.man pong.man \
222 wormhole.man pacman.man fuzzyflakes.man \
223 anemotaxis.man memscroller.man substrate.man \
224 intermomentary.man fireworkx.man fiberlamp.man boxfit.man \
225 interaggregate.man celtic.man cwaves.man abstractile.man \
228 RETIRED_MEN = ant.man bubbles.man critical.man flag.man forest.man \
229 laser.man lightning.man lisa.man lissie.man lmorph.man \
230 rotor.man sphere.man spiral.man t3d.man vines.man \
231 whirlygig.man worm.man xsublim.man juggle.man
234 EXTRAS = README Makefile.in xml2man.pl m6502.sh .gdbinit \
235 euler2d.tex check-configs.pl munge-ad.pl \
242 images/bubbles/$(STAR).pov \
243 images/bubbles/$(STAR).xpm \
244 images/noseguy/$(STAR).xbm \
245 images/noseguy/$(STAR).xpm \
246 images/m6502/$(STAR).asm \
247 images/molecules/$(STAR).pdb \
248 images/pacman/$(STAR).xpm
250 VMSFILES = compile_axp.com compile_decc.com link_axp.com link_decc.com \
251 vms_axp.opt vms_axp_12.opt vms_decc.opt vms_decc_12.opt
253 TARFILES = $(SRCS) $(HDRS) $(SCRIPTS) $(MEN) $(EXTRAS) $(VMSFILES)
257 all: $(EXES) $(RETIRED_EXES)
259 install: install-program install-scripts install-xml install-man
260 uninstall: uninstall-program uninstall-xml uninstall-man
263 $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
266 # the hacks, in $HACKDIR
267 install-program:: $(EXES)
268 @if [ ! -d $(install_prefix)$(HACKDIR) ]; then \
269 $(INSTALL_DIRS) $(install_prefix)$(HACKDIR) ; \
271 for program in $(EXES); do \
272 echo $(INSTALL_PROGRAM) $$program \
273 $(install_prefix)$(HACKDIR)/$$program ; \
274 $(INSTALL_PROGRAM) $$program \
275 $(install_prefix)$(HACKDIR)/$$program ; \
278 install-scripts: $(SCRIPTS) munge-scripts
279 @for program in $(SCRIPTS); do \
280 if [ -r $$program ] ; then \
283 p=$(srcdir)/$$program ; \
285 echo $(INSTALL_SCRIPT) $$p \
286 $(install_prefix)$(HACKDIR)/$$program ; \
287 $(INSTALL_SCRIPT) $$p \
288 $(install_prefix)$(HACKDIR)/$$program ; \
291 munge-scripts: $(SCRIPTS)
292 @tmp=/tmp/mf.$$$$ ; \
295 for program in $(SCRIPTS); do \
296 sed "s@^\(#!\)\(/[^ ]*/perl[^ ]*\)\(.*\)\$$@\1$$perl\3@" \
297 < $(srcdir)/$$program > $$tmp ; \
298 if ! cmp -s $(srcdir)/$$program $$tmp ; then \
299 echo "$$program: setting interpreter to $$perl" >&2 ; \
300 cat $$tmp > ./$$program ; \
305 # When installing man pages, we install "foo.man" as "foo.N" and update
306 # the .TH line in the installed file with one like
308 # .TH XScreenSaver N "V.VV (DD-MMM-YYYY)" "X Version 11"
310 # where N is the manual section suffix.
314 U=$(UTILS_SRC)/version.h ; \
315 V=`sed -n 's/.*xscreensaver \([0-9]\.[^)]*)\).*/\1/p' < $$U` ; \
316 T=/tmp/xs$$$$.$(mansuffix) ; \
317 TH=".TH XScreenSaver $(mansuffix) \"$$V\" \"X Version 11\"" ; \
318 echo "installing man pages: $$TH" ; \
320 if [ ! -d $(install_prefix)$(manNdir) ]; then \
321 $(INSTALL_DIRS) $(install_prefix)$(manNdir) ; \
324 for man in $$men; do \
325 instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
326 manbase=`echo $$man | sed 's/\.man$$//'` ; \
327 TH=".TH $$manbase $(mansuffix) \"$$V\" \"X Version 11\" \"XScreenSaver manual\"" ; \
328 sed -e "s/^\.TH.*/$$TH/" \
329 -e 's@(MANSUFFIX)@($(mansuffix))@g' \
330 < $(srcdir)/$$man > $$T ; \
331 echo $(INSTALL_DATA) $(srcdir)/$$man \
332 $(install_prefix)$(manNdir)/$$instname ; \
333 $(INSTALL_DATA) $$T \
334 $(install_prefix)$(manNdir)/$$instname ; \
339 @dest=$(install_prefix)$(HACK_CONF_DIR) ; \
340 if [ ! -d $$dest ]; then \
341 $(INSTALL_DIRS) $$dest ; \
343 src=$(srcdir)/config ; \
344 for file in $(EXES) $(SCRIPTS) $(EXTERNALS) ; do \
345 if [ -f $$src/$$file.xml ]; then \
346 echo $(INSTALL_DATA) $$src/$$file.xml $$dest/$$file.xml ; \
347 $(INSTALL_DATA) $$src/$$file.xml $$dest/$$file.xml ; \
352 @for program in $(EXES) $(RETIRED_EXES) $(SCRIPTS); do \
353 echo rm -f $(install_prefix)$(HACKDIR)/$$program ; \
354 rm -f $(install_prefix)$(HACKDIR)/$$program ; \
358 @men="$(MEN) $(RETIRED_MEN)" ; \
359 for man in $$men; do \
360 instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
361 echo rm -f $(install_prefix)$(manNdir)/$$instname* ; \
362 rm -f $(install_prefix)$(manNdir)/$$instname* ; \
366 @dest=$(install_prefix)$(HACK_CONF_DIR) ; \
367 for file in $(EXES) $(RETIRED_EXES) $(SCRIPTS) $(EXTERNALS) ; do \
368 echo rm -f $$dest/$$file.xml ; \
369 rm -f $$dest/$$file.xml ; \
373 -rm -f *.o a.out core $(EXES) $(RETIRED_EXES) m6502.h
376 -rm -f Makefile TAGS *~ "#"*
378 # Adds all current dependencies to Makefile
380 $(DEPEND) -s '# DO NOT DELETE: updated by make depend' \
382 $(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) -- \
385 # Adds some dependencies to Makefile.in -- not totally accurate, but pretty
386 # close. This excludes dependencies on files in /usr/include, etc. It tries
387 # to include only dependencies on files which are themselves a part of this
390 @echo updating dependencies in `pwd`/Makefile.in... ; \
391 $(DEPEND) -w 0 -f - \
392 -s '# DO NOT DELETE: updated by make distdepend' $(DEPEND_FLAGS) -- \
393 $(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) -- \
394 $(SRCS) 2>/dev/null | \
397 awk '/^# .*Makefile.in ---/,/^# DO .*distdepend/' < Makefile.in ; \
399 -e 's@ \./@ @g;s@ /[^ ]*@@g;/^.*:$$/d' \
400 -e 's@\.\./utils@$$(UTILS_SRC)@g' \
401 -e 's@ \([^$$]\)@ $$(srcdir)/\1@g' \
402 -e 's@ $$(srcdir)/\(.*config.h\)@ \1@g' \
403 -e 's@ $$(srcdir)/\(m6502.h\)@ \1@g' ; \
405 ) > /tmp/distdepend.$$$$ && \
406 mv Makefile.in Makefile.in.bak && \
407 mv /tmp/distdepend.$$$$ Makefile.in
411 find $(srcdir) -name '*.[chly]' -print | xargs etags -a
418 for exe in $(EXES) $(SCRIPTS); do \
419 if ! [ -f $(srcdir)/$$exe.man \
420 -o "$$exe" = webcollage-helper ]; then \
421 badmen="$$badmen $$exe" ; \
424 if [ -n "$$badmen" ]; then \
426 echo "Warning: The following programs have no manuals:" ; \
428 for m in $$badmen ; do \
434 @echo "Validating XML..." ; \
435 cd $(srcdir) ; ./check-configs.pl $(EXES)
438 @echo "Updating hack list in XScreenSaver.ad.in..." ; \
439 cd $(srcdir) ; ./munge-ad.pl ../driver/XScreenSaver.ad.in
442 # Rules for generating the VMS makefiles on Unix, so that it doesn't have to
445 VMS_AXP_COMPILE_1=$$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE
446 VMS_AXP_COMPILE_2=)/INCL=([],[-],[-.UTILS])
448 compile_axp.com: Makefile.in
449 @echo generating $@ from $<... ; \
450 ( for c in $(SRCS) ; do \
451 c=`echo $$c | tr a-z A-Z` ; \
452 echo "$(VMS_AXP_COMPILE_1)$(VMS_AXP_COMPILE_2) $$c" ; \
456 compile_decc.com: compile_axp.com
457 @echo generating $@ from $<... ; \
458 sed 's/axp/decc/g' < $< > $@
460 #### TODO: generating link_axp.com is kinda tricky...
462 link_decc.com: link_axp.com
463 @echo generating $@ from $<... ; \
464 sed 's/axp/decc/g' < $< > $@
466 $(srcdir)/../setup.com: Makefile.in
467 @echo generating $@ from $<... ; \
468 ( echo '$$! Xscreensaver - definition of various DCL symbols' ; \
469 echo '$$ set NOON' ; \
470 echo '$$ set def [.HACKS]' ; \
471 echo '$$ mydisk = f$$trnlmn("SYS$$DISK")' ; \
472 echo '$$ mydir = mydisk+f$$directory()' ; \
473 ( for c in $(EXES) ; do \
475 c2=`echo "$${c2}" | sed 's/^\(........*\) $$/\1/'` ; \
476 echo '$$' "$${c2}:== $$'mydir'$${c}" ; \
479 echo '$$ set def [-.DRIVER]' ; \
480 echo '$$ mydir = mydisk+f$$directory()' ; \
481 echo "$$ xscreensaver :== $$'mydir'xscreensaver" ; \
482 echo "$$ xscreen*command :== $$'mydir'xscreensaver-command" ; \
483 echo '$$ set def [-]' ; \
487 distdepend:: compile_axp.com compile_decc.com
488 distdepend:: link_axp.com link_decc.com
489 distdepend:: $(srcdir)/../setup.com
490 distdepend:: check_men validate_xml munge_ad_file
493 # Rules for noticing when the objects from the utils directory are out of
494 # date with respect to their sources, and going and building them according
495 # to the rules in their own Makefile...
497 $(UTILS_BIN)/alpha.o: $(UTILS_SRC)/alpha.c
498 $(UTILS_BIN)/colors.o: $(UTILS_SRC)/colors.c
499 $(UTILS_BIN)/grabclient.o: $(UTILS_SRC)/grabclient.c
500 $(UTILS_BIN)/hsv.o: $(UTILS_SRC)/hsv.c
501 $(UTILS_BIN)/resources.o: $(UTILS_SRC)/resources.c
502 $(UTILS_BIN)/spline.o: $(UTILS_SRC)/spline.c
503 $(UTILS_BIN)/usleep.o: $(UTILS_SRC)/usleep.c
504 $(UTILS_BIN)/visual.o: $(UTILS_SRC)/visual.c
505 $(UTILS_BIN)/xmu.o: $(UTILS_SRC)/xmu.c
506 $(UTILS_BIN)/logo.o: $(UTILS_SRC)/logo.c
507 $(UTILS_BIN)/minixpm.o: $(UTILS_SRC)/minixpm.c
508 $(UTILS_BIN)/yarandom.o: $(UTILS_SRC)/yarandom.c
509 $(UTILS_BIN)/erase.o: $(UTILS_SRC)/erase.c
510 $(UTILS_BIN)/xshm.o: $(UTILS_SRC)/xshm.c
511 $(UTILS_BIN)/xdbe.o: $(UTILS_SRC)/xdbe.c
515 $(MAKE) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
517 # How we build object files in this directory.
519 $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $<
522 # Make sure these are regenerated when the version number ticks.
523 screenhack.o: $(UTILS_SRC)/version.h
525 # Some abbreviations to keep the lines short...
527 ALP = $(UTILS_BIN)/alpha.o
528 HSV = $(UTILS_BIN)/hsv.o
529 SPL = $(UTILS_BIN)/spline.o
530 LOGO = $(UTILS_BIN)/logo.o $(UTILS_BIN)/minixpm.o
532 ERASE = $(UTILS_BIN)/erase.o
536 BARS = $(UTILS_BIN)/colorbars.o $(LOGO)
537 ATV = analogtv.o $(SHM)
538 APPLE2 = apple2.o $(ATV)
540 CC_HACK = $(CC) $(LDFLAGS)
542 xscreensaver-sgigl: xscreensaver-sgigl.c
543 $(CC) $(LDFLAGS) -o $@ $< -I$(UTILS_SRC) $(HACK_PRE) \
544 $(XMU_LIBS) -lX11 -lXext $(X_EXTRA_LIBS) -lm
547 # The rules for those hacks which follow the `screenhack.c' API.
548 # If make wasn't such an utter abomination, these could all be combined
549 # into one rule, but we don't live in such a perfect world. The $< rule
550 # is pretty much useless in the face of more than one dependency, as far
553 attraction: attraction.o $(HACK_OBJS) $(COL) $(SPL)
554 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS)
556 blitspin: blitspin.o $(HACK_OBJS) $(GRAB) $(XPM)
557 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(XPM) $(XPM_LIBS)
559 bubbles: bubbles.o $(HACK_OBJS) bubbles-default.o $(XPM)
560 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) bubbles-default.o $(XPM) $(XPM_LIBS)
562 decayscreen: decayscreen.o $(HACK_OBJS) $(GRAB)
563 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(HACK_LIBS)
565 deco: deco.o $(HACK_OBJS) $(COL)
566 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
568 flame: flame.o $(HACK_OBJS) $(COL)
569 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
571 greynetic: greynetic.o $(HACK_OBJS)
572 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
574 halo: halo.o $(HACK_OBJS) $(COL)
575 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
577 helix: helix.o $(HACK_OBJS) $(HSV) $(ERASE)
578 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HSV) $(ERASE) $(HACK_LIBS)
580 hypercube: hypercube.o $(HACK_OBJS)
581 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
583 imsmap: imsmap.o $(HACK_OBJS) $(COL)
584 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
586 kaleidescope: kaleidescope.o $(HACK_OBJS)
587 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
589 lmorph: lmorph.o $(HACK_OBJS)
590 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
592 maze: maze.o $(HACK_OBJS) $(ERASE) $(LOGO)
593 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ERASE) $(LOGO) $(HACK_LIBS)
595 moire: moire.o $(HACK_OBJS) $(COL) $(SHM)
596 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SHM) $(HACK_LIBS)
598 moire2: moire2.o $(HACK_OBJS) $(COL) $(DBE)
599 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(DBE) $(HACK_LIBS)
601 noseguy: noseguy.o $(HACK_OBJS) $(XPM)
602 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(XPM) $(XPM_LIBS)
604 pedal: pedal.o $(HACK_OBJS) $(HSV) $(ERASE)
605 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HSV) $(ERASE) $(HACK_LIBS)
607 pyro: pyro.o $(HACK_OBJS) $(HSV)
608 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HSV) $(HACK_LIBS)
610 qix: qix.o $(HACK_OBJS) $(HSV) $(ALP)
611 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HSV) $(ALP) $(HACK_LIBS)
613 rocks: rocks.o $(HACK_OBJS) $(COL)
614 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
616 rorschach: rorschach.o $(HACK_OBJS) $(HSV) $(ERASE)
617 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HSV) $(ERASE) $(HACK_LIBS)
619 slidescreen: slidescreen.o $(HACK_OBJS) $(GRAB)
620 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(HACK_LIBS)
622 goop: goop.o $(HACK_OBJS) $(HSV) $(ALP) $(SPL)
623 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HSV) $(ALP) $(SPL) $(HACK_LIBS)
625 starfish: starfish.o $(HACK_OBJS) $(COL) $(SPL)
626 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS)
628 munch: munch.o $(HACK_OBJS) $(COL) $(SPL)
629 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS)
631 rd-bomb: rd-bomb.o $(HACK_OBJS) $(COL) $(SHM)
632 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SHM) $(HACK_LIBS)
634 coral: coral.o $(HACK_OBJS) $(COL) $(ERASE)
635 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
637 xjack: xjack.o $(HACK_OBJS)
638 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
640 xlyap: xlyap.o $(HACK_OBJS) $(COL)
641 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
643 cynosure: cynosure.o $(HACK_OBJS) $(COL)
644 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
646 epicycle: epicycle.o $(HACK_OBJS) $(COL) $(ERASE)
647 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
649 interference: interference.o $(HACK_OBJS) $(COL) $(SHM) $(DBE)
650 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SHM) $(DBE) $(HACK_LIBS)
652 truchet: truchet.o $(HACK_OBJS) $(COL)
653 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
655 bsod: bsod.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM)
656 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) $(XPM_LIBS)
658 apple2: apple2.o apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB)
659 $(CC_HACK) -o $@ $@.o apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM_LIBS) $(PTY_LIBS)
661 xanalogtv: xanalogtv.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM)
662 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(XPM_LIBS) $(HACK_LIBS)
664 distort: distort.o $(HACK_OBJS) $(GRAB) $(SHM)
665 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS)
667 kumppa: kumppa.o $(HACK_OBJS) $(DBE)
668 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(DBE) $(HACK_LIBS)
670 t3d: t3d.o $(HACK_OBJS) $(COL)
671 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
673 penetrate: penetrate.o $(HACK_OBJS) $(COL)
674 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
676 deluxe: deluxe.o $(HACK_OBJS) $(ALP) $(COL) $(DBE)
677 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ALP) $(COL) $(DBE) $(HACK_LIBS)
679 compass: compass.o $(HACK_OBJS) $(DBE)
680 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(DBE) $(HACK_LIBS)
682 squiral: squiral.o $(HACK_OBJS) $(COL)
683 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
685 xflame: xflame.o $(HACK_OBJS) $(SHM) $(XPM)
686 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(SHM) $(XPM) $(XPM_LIBS)
688 wander: wander.o $(HACK_OBJS) $(COL) $(ERASE)
689 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
691 spotlight: spotlight.o $(HACK_OBJS) $(GRAB)
692 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(HACK_LIBS)
694 critical: critical.o $(HACK_OBJS) $(COL) $(ERASE)
695 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
697 phosphor: phosphor.o $(HACK_OBJS) $(COL)
698 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS) $(PTY_LIBS)
700 xmatrix: xmatrix.o $(HACK_OBJS) $(XPM)
701 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(XPM) $(XPM_LIBS)
703 petri: petri.o $(HACK_OBJS) $(COL) $(SPL)
704 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS)
706 shadebobs: shadebobs.o $(HACK_OBJS) $(COL) $(SPL)
707 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS)
709 ccurve: ccurve.o $(HACK_OBJS) $(COL) $(SPL)
710 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
712 blaster: blaster.o $(HACK_OBJS)
713 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
715 bumps: bumps.o $(HACK_OBJS) $(GRAB) $(SHM)
716 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS)
718 ripples: ripples.o $(HACK_OBJS) $(SHM) $(COL) $(GRAB)
719 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(SHM) $(COL) $(GRAB) $(HACK_LIBS)
721 xspirograph: xspirograph.o $(HACK_OBJS) $(COL) $(ERASE)
722 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
724 nerverot: nerverot.o $(HACK_OBJS) $(COL)
725 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
727 xrayswarm: xrayswarm.o $(HACK_OBJS)
728 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
730 hyperball: hyperball.o $(HACK_OBJS)
731 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
733 zoom: zoom.o $(HACK_OBJS) $(GRAB)
734 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(HACK_LIBS)
736 whirlwindwarp: whirlwindwarp.o $(HACK_OBJS) $(COL)
737 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
739 rotzoomer: rotzoomer.o $(HACK_OBJS) $(GRAB) $(SHM)
740 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS)
742 whirlygig: whirlygig.o $(HACK_OBJS) $(DBE) $(COL)
743 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(DBE) $(COL) $(HACK_LIBS)
745 speedmine: speedmine.o $(HACK_OBJS) $(COL)
746 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
748 vermiculate: vermiculate.o $(HACK_OBJS) $(COL)
749 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
751 twang: twang.o $(HACK_OBJS) $(GRAB) $(SHM)
752 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS)
754 fluidballs: fluidballs.o $(HACK_OBJS) $(DBE)
755 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(DBE) $(HACK_LIBS)
757 anemone: anemone.o $(HACK_OBJS) $(COL) $(DBE)
758 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(DBE) $(HACK_LIBS)
760 halftone: halftone.o $(HACK_OBJS) $(COL)
761 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
763 metaballs: metaballs.o $(HACK_OBJS)
764 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
766 eruption: eruption.o $(HACK_OBJS)
767 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
769 popsquares: popsquares.o $(HACK_OBJS) $(DBE) $(COL)
770 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(DBE) $(COL) $(HACK_LIBS)
772 barcode: barcode.o $(HACK_OBJS) $(HSV)
773 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HSV) $(HACK_LIBS)
775 piecewise: piecewise.o $(HACK_OBJS) $(COL) $(DBE)
776 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(DBE) $(HACK_LIBS)
778 cloudlife: cloudlife.o $(HACK_OBJS) $(COL) $(DBE)
779 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(DBE) $(HACK_LIBS)
781 fontglide: fontglide.o $(HACK_OBJS) $(DBE)
782 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(DBE) $(HACK_LIBS)
784 pong: pong.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM)
785 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(XPM_LIBS) $(HACK_LIBS)
787 wormhole: wormhole.o $(HACK_OBJS)
788 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
790 fuzzyflakes: fuzzyflakes.o $(HACK_OBJS)
791 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
793 anemotaxis: anemotaxis.o $(HACK_OBJS) $(COL) $(DBE)
794 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(DBE) $(HACK_LIBS)
796 memscroller: memscroller.o $(HACK_OBJS) $(SHM) $(COL)
797 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(SHM) $(COL) $(HACK_LIBS)
799 substrate: substrate.o $(HACK_OBJS)
800 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
802 intermomentary: intermomentary.o $(HACK_OBJS) $(COL)
803 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
805 interaggregate: interaggregate.o $(HACK_OBJS) $(COL)
806 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
808 fireworkx: fireworkx.o $(HACK_OBJS) $(COL)
809 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
811 boxfit: boxfit.o $(HACK_OBJS) $(COL) $(GRAB)
812 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(GRAB) $(HACK_LIBS)
814 ifs: ifs.o $(HACK_OBJS) $(COL)
815 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
817 celtic: celtic.o $(HACK_OBJS) $(COL) $(ERASE)
818 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
820 cwaves: cwaves.o $(HACK_OBJS) $(COL)
821 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
824 @echo "building m6502.h from $(srcdir)/images/m6502/*.asm"; \
825 UTILS_SRC="$(UTILS_SRC)" \
826 $(srcdir)/m6502.sh m6502.h $(srcdir)/images/m6502/*.asm
828 m6502: m6502.o asm6502.o $(HACK_OBJS) $(ATV)
829 $(CC_HACK) -o $@ $@.o asm6502.o $(HACK_OBJS) $(ATV) $(HACK_LIBS)
831 abstractile: abstractile.o $(HACK_OBJS) $(COL)
832 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
834 lcdscrub: lcdscrub.o $(HACK_OBJS)
835 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
837 # The rules for those hacks which follow the `xlockmore' API.
840 bouboule: bouboule.o $(XLOCK_OBJS)
841 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
843 braid: braid.o $(XLOCK_OBJS) $(ERASE)
844 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
846 drift: drift.o $(XLOCK_OBJS) $(ERASE)
847 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
849 flag: flag.o $(XLOCK_OBJS) $(XPM)
850 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(XPM) $(XPM_LIBS)
852 forest: forest.o $(XLOCK_OBJS) $(ERASE)
853 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
855 vines: vines.o $(XLOCK_OBJS) $(ERASE)
856 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
858 galaxy: galaxy.o $(XLOCK_OBJS)
859 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
861 grav: grav.o $(XLOCK_OBJS)
862 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
864 hopalong: hopalong.o $(XLOCK_OBJS) $(ERASE)
865 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
867 julia: julia.o $(XLOCK_OBJS)
868 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
870 laser: laser.o $(XLOCK_OBJS)
871 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
873 lightning: lightning.o $(XLOCK_OBJS)
874 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
876 lisa: lisa.o $(XLOCK_OBJS)
877 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
879 lissie: lissie.o $(XLOCK_OBJS)
880 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
882 penrose: penrose.o $(XLOCK_OBJS)
883 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
885 sierpinski: sierpinski.o $(XLOCK_OBJS)
886 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
888 slip: slip.o $(XLOCK_OBJS) $(GRAB)
889 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(GRAB) $(HACK_LIBS)
891 sphere: sphere.o $(XLOCK_OBJS)
892 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
894 spiral: spiral.o $(XLOCK_OBJS)
895 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
897 strange: strange.o $(XLOCK_OBJS)
898 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
900 swirl: swirl.o $(XLOCK_OBJS) $(SHM)
901 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(SHM) $(HACK_LIBS)
903 fadeplot: fadeplot.o $(XLOCK_OBJS)
904 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
906 mountain: mountain.o $(XLOCK_OBJS)
907 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
909 triangle: triangle.o $(XLOCK_OBJS)
910 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
912 worm: worm.o $(XLOCK_OBJS)
913 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
915 rotor: rotor.o $(XLOCK_OBJS)
916 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
918 ant: ant.o $(XLOCK_OBJS) $(ERASE)
919 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
921 demon: demon.o $(XLOCK_OBJS)
922 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
924 loop: loop.o $(XLOCK_OBJS)
925 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
927 flow: flow.o $(XLOCK_OBJS)
928 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
930 discrete: discrete.o $(XLOCK_OBJS) $(ERASE)
931 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
933 crystal: crystal.o $(XLOCK_OBJS)
934 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
936 apollonian: apollonian.o $(XLOCK_OBJS) $(ERASE)
937 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
939 euler2d: euler2d.o $(XLOCK_OBJS)
940 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
942 juggle: juggle.o $(XLOCK_OBJS)
943 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
945 polyominoes: polyominoes.o $(XLOCK_OBJS) $(ERASE)
946 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
948 thornbird: thornbird.o $(XLOCK_OBJS)
949 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
951 PACOBJS=pacman_ai.o pacman_level.o
952 pacman: pacman.o $(PACOBJS) $(XLOCK_OBJS) $(XPM)
953 $(CC_HACK) -o $@ $@.o $(PACOBJS) $(XLOCK_OBJS) $(XPM) $(XPM_LIBS)
955 fiberlamp: fiberlamp.o $(XLOCK_OBJS)
956 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
958 # These are not like the others.
960 xsublim: xsublim.o $(HACK_OBJS_1)
961 $(CC_HACK) -o $@ $@.o $(HACK_OBJS_1) $(HACK_LIBS)
963 webcollage-helper: webcollage-helper.o
964 $(CC_HACK) -o $@ $@.o $(XPM_LIBS) $(JPEG_LIBS)
967 ##############################################################################
969 # DO NOT DELETE: updated by make distdepend