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 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 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 hyperball hypercube laser \
179 lightning lisa lissie lmorph rotor sphere spiral t3d vines \
180 whirlygig worm xsublim juggle
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 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 \
232 hypercube.man hyperball.man
235 EXTRAS = README Makefile.in xml2man.pl m6502.sh .gdbinit \
236 euler2d.tex check-configs.pl munge-ad.pl \
243 images/bubbles/$(STAR).pov \
244 images/bubbles/$(STAR).xpm \
245 images/noseguy/$(STAR).xbm \
246 images/noseguy/$(STAR).xpm \
247 images/m6502/$(STAR).asm \
248 images/molecules/$(STAR).pdb \
249 images/pacman/$(STAR).xpm
251 VMSFILES = compile_axp.com compile_decc.com link_axp.com link_decc.com \
252 vms_axp.opt vms_axp_12.opt vms_decc.opt vms_decc_12.opt
254 TARFILES = $(SRCS) $(HDRS) $(SCRIPTS) $(MEN) $(RETIRED_MEN) \
255 $(EXTRAS) $(VMSFILES)
259 all: $(EXES) $(RETIRED_EXES)
261 install: install-program install-scripts install-xml install-man
262 uninstall: uninstall-program uninstall-xml uninstall-man
265 $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
268 # the hacks, in $HACKDIR
269 install-program:: $(EXES)
270 @if [ ! -d $(install_prefix)$(HACKDIR) ]; then \
271 $(INSTALL_DIRS) $(install_prefix)$(HACKDIR) ; \
273 for program in $(EXES); do \
274 echo $(INSTALL_PROGRAM) $$program \
275 $(install_prefix)$(HACKDIR)/$$program ; \
276 $(INSTALL_PROGRAM) $$program \
277 $(install_prefix)$(HACKDIR)/$$program ; \
280 install-scripts: $(SCRIPTS) munge-scripts
281 @for program in $(SCRIPTS); do \
282 if [ -r $$program ] ; then \
285 p=$(srcdir)/$$program ; \
287 echo $(INSTALL_SCRIPT) $$p \
288 $(install_prefix)$(HACKDIR)/$$program ; \
289 $(INSTALL_SCRIPT) $$p \
290 $(install_prefix)$(HACKDIR)/$$program ; \
293 munge-scripts: $(SCRIPTS)
294 @tmp=/tmp/mf.$$$$ ; \
297 for program in $(SCRIPTS); do \
298 sed "s@^\(#!\)\(/[^ ]*/perl[^ ]*\)\(.*\)\$$@\1$$perl\3@" \
299 < $(srcdir)/$$program > $$tmp ; \
300 if ! cmp -s $(srcdir)/$$program $$tmp ; then \
301 echo "$$program: setting interpreter to $$perl" >&2 ; \
302 cat $$tmp > ./$$program ; \
307 # When installing man pages, we install "foo.man" as "foo.N" and update
308 # the .TH line in the installed file with one like
310 # .TH XScreenSaver N "V.VV (DD-MMM-YYYY)" "X Version 11"
312 # where N is the manual section suffix.
316 U=$(UTILS_SRC)/version.h ; \
317 V=`sed -n 's/.*xscreensaver \([0-9]\.[^)]*)\).*/\1/p' < $$U` ; \
318 T=/tmp/xs$$$$.$(mansuffix) ; \
319 TH=".TH XScreenSaver $(mansuffix) \"$$V\" \"X Version 11\"" ; \
320 echo "installing man pages: $$TH" ; \
322 if [ ! -d $(install_prefix)$(manNdir) ]; then \
323 $(INSTALL_DIRS) $(install_prefix)$(manNdir) ; \
326 for man in $$men; do \
327 instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
328 manbase=`echo $$man | sed 's/\.man$$//'` ; \
329 TH=".TH $$manbase $(mansuffix) \"$$V\" \"X Version 11\" \"XScreenSaver manual\"" ; \
330 sed -e "s/^\.TH.*/$$TH/" \
331 -e 's@(MANSUFFIX)@($(mansuffix))@g' \
332 < $(srcdir)/$$man > $$T ; \
333 echo $(INSTALL_DATA) $(srcdir)/$$man \
334 $(install_prefix)$(manNdir)/$$instname ; \
335 $(INSTALL_DATA) $$T \
336 $(install_prefix)$(manNdir)/$$instname ; \
341 @dest=$(install_prefix)$(HACK_CONF_DIR) ; \
342 if [ ! -d $$dest ]; then \
343 $(INSTALL_DIRS) $$dest ; \
345 src=$(srcdir)/config ; \
346 for file in $(EXES) $(SCRIPTS) $(EXTERNALS) ; do \
347 if [ -f $$src/$$file.xml ]; then \
348 echo $(INSTALL_DATA) $$src/$$file.xml $$dest/$$file.xml ; \
349 $(INSTALL_DATA) $$src/$$file.xml $$dest/$$file.xml ; \
354 @for program in $(EXES) $(RETIRED_EXES) $(SCRIPTS); do \
355 echo rm -f $(install_prefix)$(HACKDIR)/$$program ; \
356 rm -f $(install_prefix)$(HACKDIR)/$$program ; \
360 @men="$(MEN) $(RETIRED_MEN)" ; \
361 for man in $$men; do \
362 instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
363 echo rm -f $(install_prefix)$(manNdir)/$$instname* ; \
364 rm -f $(install_prefix)$(manNdir)/$$instname* ; \
368 @dest=$(install_prefix)$(HACK_CONF_DIR) ; \
369 for file in $(EXES) $(RETIRED_EXES) $(SCRIPTS) $(EXTERNALS) ; do \
370 echo rm -f $$dest/$$file.xml ; \
371 rm -f $$dest/$$file.xml ; \
375 -rm -f *.o a.out core $(EXES) $(RETIRED_EXES) m6502.h
378 -rm -f Makefile TAGS *~ "#"*
380 # Adds all current dependencies to Makefile
382 $(DEPEND) -s '# DO NOT DELETE: updated by make depend' \
384 $(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) -- \
387 # Adds some dependencies to Makefile.in -- not totally accurate, but pretty
388 # close. This excludes dependencies on files in /usr/include, etc. It tries
389 # to include only dependencies on files which are themselves a part of this
392 @echo updating dependencies in `pwd`/Makefile.in... ; \
393 $(DEPEND) -w 0 -f - \
394 -s '# DO NOT DELETE: updated by make distdepend' $(DEPEND_FLAGS) -- \
395 $(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) -- \
396 $(SRCS) 2>/dev/null | \
399 awk '/^# .*Makefile.in ---/,/^# DO .*distdepend/' < Makefile.in ; \
401 -e 's@ \./@ @g;s@ /[^ ]*@@g;/^.*:$$/d' \
402 -e 's@\.\./utils@$$(UTILS_SRC)@g' \
403 -e 's@ \([^$$]\)@ $$(srcdir)/\1@g' \
404 -e 's@ $$(srcdir)/\(.*config.h\)@ \1@g' \
405 -e 's@ $$(srcdir)/\(m6502.h\)@ \1@g' ; \
407 ) > /tmp/distdepend.$$$$ && \
408 mv Makefile.in Makefile.in.bak && \
409 mv /tmp/distdepend.$$$$ Makefile.in
413 find $(srcdir) -name '*.[chly]' -print | xargs etags -a
420 for exe in $(EXES) $(SCRIPTS); do \
421 if ! [ -f $(srcdir)/$$exe.man \
422 -o "$$exe" = webcollage-helper ]; then \
423 badmen="$$badmen $$exe" ; \
426 if [ -n "$$badmen" ]; then \
428 echo "Warning: The following programs have no manuals:" ; \
430 for m in $$badmen ; do \
436 @echo "Validating XML..." ; \
437 cd $(srcdir) ; ./check-configs.pl $(EXES)
440 @echo "Updating hack list in XScreenSaver.ad.in..." ; \
441 cd $(srcdir) ; ./munge-ad.pl ../driver/XScreenSaver.ad.in
444 # Rules for generating the VMS makefiles on Unix, so that it doesn't have to
447 VMS_AXP_COMPILE_1=$$ CC/DECC/PREFIX=ALL/DEFINE=(VMS,HAVE_CONFIG_H,STANDALONE
448 VMS_AXP_COMPILE_2=)/INCL=([],[-],[-.UTILS])
450 compile_axp.com: Makefile.in
451 @echo generating $@ from $<... ; \
452 ( for c in $(SRCS) ; do \
453 c=`echo $$c | tr a-z A-Z` ; \
454 echo "$(VMS_AXP_COMPILE_1)$(VMS_AXP_COMPILE_2) $$c" ; \
458 compile_decc.com: compile_axp.com
459 @echo generating $@ from $<... ; \
460 sed 's/axp/decc/g' < $< > $@
462 #### TODO: generating link_axp.com is kinda tricky...
464 link_decc.com: link_axp.com
465 @echo generating $@ from $<... ; \
466 sed 's/axp/decc/g' < $< > $@
468 $(srcdir)/../setup.com: Makefile.in
469 @echo generating $@ from $<... ; \
470 ( echo '$$! Xscreensaver - definition of various DCL symbols' ; \
471 echo '$$ set NOON' ; \
472 echo '$$ set def [.HACKS]' ; \
473 echo '$$ mydisk = f$$trnlmn("SYS$$DISK")' ; \
474 echo '$$ mydir = mydisk+f$$directory()' ; \
475 ( for c in $(EXES) ; do \
477 c2=`echo "$${c2}" | sed 's/^\(........*\) $$/\1/'` ; \
478 echo '$$' "$${c2}:== $$'mydir'$${c}" ; \
481 echo '$$ set def [-.DRIVER]' ; \
482 echo '$$ mydir = mydisk+f$$directory()' ; \
483 echo "$$ xscreensaver :== $$'mydir'xscreensaver" ; \
484 echo "$$ xscreen*command :== $$'mydir'xscreensaver-command" ; \
485 echo '$$ set def [-]' ; \
489 distdepend:: compile_axp.com compile_decc.com
490 distdepend:: link_axp.com link_decc.com
491 distdepend:: $(srcdir)/../setup.com
492 distdepend:: check_men validate_xml munge_ad_file
495 # Rules for noticing when the objects from the utils directory are out of
496 # date with respect to their sources, and going and building them according
497 # to the rules in their own Makefile...
499 $(UTILS_BIN)/alpha.o: $(UTILS_SRC)/alpha.c
500 $(UTILS_BIN)/colors.o: $(UTILS_SRC)/colors.c
501 $(UTILS_BIN)/grabclient.o: $(UTILS_SRC)/grabclient.c
502 $(UTILS_BIN)/hsv.o: $(UTILS_SRC)/hsv.c
503 $(UTILS_BIN)/resources.o: $(UTILS_SRC)/resources.c
504 $(UTILS_BIN)/spline.o: $(UTILS_SRC)/spline.c
505 $(UTILS_BIN)/usleep.o: $(UTILS_SRC)/usleep.c
506 $(UTILS_BIN)/visual.o: $(UTILS_SRC)/visual.c
507 $(UTILS_BIN)/xmu.o: $(UTILS_SRC)/xmu.c
508 $(UTILS_BIN)/logo.o: $(UTILS_SRC)/logo.c
509 $(UTILS_BIN)/minixpm.o: $(UTILS_SRC)/minixpm.c
510 $(UTILS_BIN)/yarandom.o: $(UTILS_SRC)/yarandom.c
511 $(UTILS_BIN)/erase.o: $(UTILS_SRC)/erase.c
512 $(UTILS_BIN)/xshm.o: $(UTILS_SRC)/xshm.c
513 $(UTILS_BIN)/xdbe.o: $(UTILS_SRC)/xdbe.c
517 $(MAKE) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
519 # How we build object files in this directory.
521 $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $<
524 # Make sure these are regenerated when the version number ticks.
525 screenhack.o: $(UTILS_SRC)/version.h
527 # Some abbreviations to keep the lines short...
529 ALP = $(UTILS_BIN)/alpha.o
530 HSV = $(UTILS_BIN)/hsv.o
531 SPL = $(UTILS_BIN)/spline.o
532 LOGO = $(UTILS_BIN)/logo.o $(UTILS_BIN)/minixpm.o
534 ERASE = $(UTILS_BIN)/erase.o
538 BARS = $(UTILS_BIN)/colorbars.o $(LOGO)
539 ATV = analogtv.o $(SHM)
540 APPLE2 = apple2.o $(ATV)
542 CC_HACK = $(CC) $(LDFLAGS)
544 xscreensaver-sgigl: xscreensaver-sgigl.c
545 $(CC) $(LDFLAGS) -o $@ $< -I$(UTILS_SRC) $(HACK_PRE) \
546 $(XMU_LIBS) -lX11 -lXext $(X_EXTRA_LIBS) -lm
549 # The rules for those hacks which follow the `screenhack.c' API.
550 # If make wasn't such an utter abomination, these could all be combined
551 # into one rule, but we don't live in such a perfect world. The $< rule
552 # is pretty much useless in the face of more than one dependency, as far
555 attraction: attraction.o $(HACK_OBJS) $(COL) $(SPL)
556 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS)
558 blitspin: blitspin.o $(HACK_OBJS) $(GRAB) $(XPM)
559 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(XPM) $(XPM_LIBS)
561 bubbles: bubbles.o $(HACK_OBJS) bubbles-default.o $(XPM)
562 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) bubbles-default.o $(XPM) $(XPM_LIBS)
564 decayscreen: decayscreen.o $(HACK_OBJS) $(GRAB)
565 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(HACK_LIBS)
567 deco: deco.o $(HACK_OBJS) $(COL)
568 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
570 flame: flame.o $(HACK_OBJS) $(COL)
571 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
573 greynetic: greynetic.o $(HACK_OBJS)
574 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
576 halo: halo.o $(HACK_OBJS) $(COL)
577 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
579 helix: helix.o $(HACK_OBJS) $(HSV) $(ERASE)
580 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HSV) $(ERASE) $(HACK_LIBS)
582 hypercube: hypercube.o $(HACK_OBJS)
583 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
585 imsmap: imsmap.o $(HACK_OBJS) $(COL)
586 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
588 kaleidescope: kaleidescope.o $(HACK_OBJS)
589 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
591 lmorph: lmorph.o $(HACK_OBJS)
592 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
594 maze: maze.o $(HACK_OBJS) $(ERASE) $(LOGO)
595 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ERASE) $(LOGO) $(HACK_LIBS)
597 moire: moire.o $(HACK_OBJS) $(COL) $(SHM)
598 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SHM) $(HACK_LIBS)
600 moire2: moire2.o $(HACK_OBJS) $(COL) $(DBE)
601 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(DBE) $(HACK_LIBS)
603 noseguy: noseguy.o $(HACK_OBJS) $(XPM)
604 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(XPM) $(XPM_LIBS)
606 pedal: pedal.o $(HACK_OBJS) $(HSV) $(ERASE)
607 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HSV) $(ERASE) $(HACK_LIBS)
609 pyro: pyro.o $(HACK_OBJS) $(HSV)
610 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HSV) $(HACK_LIBS)
612 qix: qix.o $(HACK_OBJS) $(HSV) $(ALP)
613 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HSV) $(ALP) $(HACK_LIBS)
615 rocks: rocks.o $(HACK_OBJS) $(COL)
616 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
618 rorschach: rorschach.o $(HACK_OBJS) $(HSV) $(ERASE)
619 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HSV) $(ERASE) $(HACK_LIBS)
621 slidescreen: slidescreen.o $(HACK_OBJS) $(GRAB)
622 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(HACK_LIBS)
624 goop: goop.o $(HACK_OBJS) $(HSV) $(ALP) $(SPL)
625 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HSV) $(ALP) $(SPL) $(HACK_LIBS)
627 starfish: starfish.o $(HACK_OBJS) $(COL) $(SPL)
628 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS)
630 munch: munch.o $(HACK_OBJS) $(COL) $(SPL)
631 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS)
633 rd-bomb: rd-bomb.o $(HACK_OBJS) $(COL) $(SHM)
634 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SHM) $(HACK_LIBS)
636 coral: coral.o $(HACK_OBJS) $(COL) $(ERASE)
637 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
639 xjack: xjack.o $(HACK_OBJS)
640 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
642 xlyap: xlyap.o $(HACK_OBJS) $(COL)
643 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
645 cynosure: cynosure.o $(HACK_OBJS) $(COL)
646 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
648 epicycle: epicycle.o $(HACK_OBJS) $(COL) $(ERASE)
649 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
651 interference: interference.o $(HACK_OBJS) $(COL) $(SHM) $(DBE)
652 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SHM) $(DBE) $(HACK_LIBS)
654 truchet: truchet.o $(HACK_OBJS) $(COL)
655 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
657 bsod: bsod.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM)
658 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) $(XPM_LIBS)
660 apple2: apple2.o apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB)
661 $(CC_HACK) -o $@ $@.o apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM_LIBS) $(PTY_LIBS)
663 xanalogtv: xanalogtv.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM)
664 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(XPM_LIBS) $(HACK_LIBS)
666 distort: distort.o $(HACK_OBJS) $(GRAB) $(SHM)
667 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS)
669 kumppa: kumppa.o $(HACK_OBJS) $(DBE)
670 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(DBE) $(HACK_LIBS)
672 t3d: t3d.o $(HACK_OBJS) $(COL)
673 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
675 penetrate: penetrate.o $(HACK_OBJS) $(COL)
676 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
678 deluxe: deluxe.o $(HACK_OBJS) $(ALP) $(COL) $(DBE)
679 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ALP) $(COL) $(DBE) $(HACK_LIBS)
681 compass: compass.o $(HACK_OBJS) $(DBE)
682 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(DBE) $(HACK_LIBS)
684 squiral: squiral.o $(HACK_OBJS) $(COL)
685 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
687 xflame: xflame.o $(HACK_OBJS) $(SHM) $(XPM)
688 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(SHM) $(XPM) $(XPM_LIBS)
690 wander: wander.o $(HACK_OBJS) $(COL) $(ERASE)
691 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
693 spotlight: spotlight.o $(HACK_OBJS) $(GRAB)
694 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(HACK_LIBS)
696 critical: critical.o $(HACK_OBJS) $(COL) $(ERASE)
697 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
699 phosphor: phosphor.o $(HACK_OBJS) $(COL)
700 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS) $(PTY_LIBS)
702 xmatrix: xmatrix.o $(HACK_OBJS) $(XPM)
703 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(XPM) $(XPM_LIBS)
705 petri: petri.o $(HACK_OBJS) $(COL) $(SPL)
706 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS)
708 shadebobs: shadebobs.o $(HACK_OBJS) $(COL) $(SPL)
709 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS)
711 ccurve: ccurve.o $(HACK_OBJS) $(COL) $(SPL)
712 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
714 blaster: blaster.o $(HACK_OBJS)
715 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
717 bumps: bumps.o $(HACK_OBJS) $(GRAB) $(SHM)
718 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS)
720 ripples: ripples.o $(HACK_OBJS) $(SHM) $(COL) $(GRAB)
721 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(SHM) $(COL) $(GRAB) $(HACK_LIBS)
723 xspirograph: xspirograph.o $(HACK_OBJS) $(COL) $(ERASE)
724 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
726 nerverot: nerverot.o $(HACK_OBJS) $(COL)
727 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
729 xrayswarm: xrayswarm.o $(HACK_OBJS)
730 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
732 hyperball: hyperball.o $(HACK_OBJS)
733 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
735 zoom: zoom.o $(HACK_OBJS) $(GRAB)
736 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(HACK_LIBS)
738 whirlwindwarp: whirlwindwarp.o $(HACK_OBJS) $(COL)
739 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
741 rotzoomer: rotzoomer.o $(HACK_OBJS) $(GRAB) $(SHM)
742 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS)
744 whirlygig: whirlygig.o $(HACK_OBJS) $(DBE) $(COL)
745 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(DBE) $(COL) $(HACK_LIBS)
747 speedmine: speedmine.o $(HACK_OBJS) $(COL)
748 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
750 vermiculate: vermiculate.o $(HACK_OBJS) $(COL)
751 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
753 twang: twang.o $(HACK_OBJS) $(GRAB) $(SHM)
754 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS)
756 fluidballs: fluidballs.o $(HACK_OBJS) $(DBE)
757 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(DBE) $(HACK_LIBS)
759 anemone: anemone.o $(HACK_OBJS) $(COL) $(DBE)
760 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(DBE) $(HACK_LIBS)
762 halftone: halftone.o $(HACK_OBJS) $(COL)
763 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
765 metaballs: metaballs.o $(HACK_OBJS)
766 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
768 eruption: eruption.o $(HACK_OBJS)
769 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
771 popsquares: popsquares.o $(HACK_OBJS) $(DBE) $(COL)
772 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(DBE) $(COL) $(HACK_LIBS)
774 barcode: barcode.o $(HACK_OBJS) $(HSV)
775 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HSV) $(HACK_LIBS)
777 piecewise: piecewise.o $(HACK_OBJS) $(COL) $(DBE)
778 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(DBE) $(HACK_LIBS)
780 cloudlife: cloudlife.o $(HACK_OBJS) $(COL) $(DBE)
781 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(DBE) $(HACK_LIBS)
783 fontglide: fontglide.o $(HACK_OBJS) $(DBE)
784 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(DBE) $(HACK_LIBS)
786 pong: pong.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM)
787 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(XPM_LIBS) $(HACK_LIBS)
789 wormhole: wormhole.o $(HACK_OBJS)
790 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
792 fuzzyflakes: fuzzyflakes.o $(HACK_OBJS)
793 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
795 anemotaxis: anemotaxis.o $(HACK_OBJS) $(COL) $(DBE)
796 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(DBE) $(HACK_LIBS)
798 memscroller: memscroller.o $(HACK_OBJS) $(SHM) $(COL)
799 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(SHM) $(COL) $(HACK_LIBS)
801 substrate: substrate.o $(HACK_OBJS)
802 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
804 intermomentary: intermomentary.o $(HACK_OBJS) $(COL)
805 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
807 interaggregate: interaggregate.o $(HACK_OBJS) $(COL)
808 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
810 fireworkx: fireworkx.o $(HACK_OBJS) $(COL)
811 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
813 boxfit: boxfit.o $(HACK_OBJS) $(COL) $(GRAB)
814 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(GRAB) $(HACK_LIBS)
816 ifs: ifs.o $(HACK_OBJS) $(COL)
817 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
819 celtic: celtic.o $(HACK_OBJS) $(COL) $(ERASE)
820 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS)
822 cwaves: cwaves.o $(HACK_OBJS) $(COL)
823 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
826 @echo "building m6502.h from $(srcdir)/images/m6502/*.asm"; \
827 UTILS_SRC="$(UTILS_SRC)" \
828 $(srcdir)/m6502.sh m6502.h $(srcdir)/images/m6502/*.asm
831 m6502: m6502.o asm6502.o $(HACK_OBJS) $(ATV)
832 $(CC_HACK) -o $@ $@.o asm6502.o $(HACK_OBJS) $(ATV) $(HACK_LIBS)
834 abstractile: abstractile.o $(HACK_OBJS) $(COL)
835 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS)
837 lcdscrub: lcdscrub.o $(HACK_OBJS)
838 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
840 # The rules for those hacks which follow the `xlockmore' API.
843 bouboule: bouboule.o $(XLOCK_OBJS)
844 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
846 braid: braid.o $(XLOCK_OBJS) $(ERASE)
847 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
849 drift: drift.o $(XLOCK_OBJS) $(ERASE)
850 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
852 flag: flag.o $(XLOCK_OBJS) $(XPM)
853 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(XPM) $(XPM_LIBS)
855 forest: forest.o $(XLOCK_OBJS) $(ERASE)
856 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
858 vines: vines.o $(XLOCK_OBJS) $(ERASE)
859 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
861 galaxy: galaxy.o $(XLOCK_OBJS)
862 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
864 grav: grav.o $(XLOCK_OBJS)
865 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
867 hopalong: hopalong.o $(XLOCK_OBJS) $(ERASE)
868 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
870 julia: julia.o $(XLOCK_OBJS)
871 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
873 laser: laser.o $(XLOCK_OBJS)
874 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
876 lightning: lightning.o $(XLOCK_OBJS)
877 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
879 lisa: lisa.o $(XLOCK_OBJS)
880 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
882 lissie: lissie.o $(XLOCK_OBJS)
883 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
885 penrose: penrose.o $(XLOCK_OBJS)
886 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
888 sierpinski: sierpinski.o $(XLOCK_OBJS)
889 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
891 slip: slip.o $(XLOCK_OBJS) $(GRAB)
892 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(GRAB) $(HACK_LIBS)
894 sphere: sphere.o $(XLOCK_OBJS)
895 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
897 spiral: spiral.o $(XLOCK_OBJS)
898 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
900 strange: strange.o $(XLOCK_OBJS)
901 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
903 swirl: swirl.o $(XLOCK_OBJS) $(SHM)
904 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(SHM) $(HACK_LIBS)
906 fadeplot: fadeplot.o $(XLOCK_OBJS)
907 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
909 mountain: mountain.o $(XLOCK_OBJS)
910 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
912 triangle: triangle.o $(XLOCK_OBJS)
913 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
915 worm: worm.o $(XLOCK_OBJS)
916 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
918 rotor: rotor.o $(XLOCK_OBJS)
919 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
921 ant: ant.o $(XLOCK_OBJS) $(ERASE)
922 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
924 demon: demon.o $(XLOCK_OBJS)
925 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
927 loop: loop.o $(XLOCK_OBJS)
928 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
930 flow: flow.o $(XLOCK_OBJS)
931 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
933 discrete: discrete.o $(XLOCK_OBJS) $(ERASE)
934 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
936 crystal: crystal.o $(XLOCK_OBJS)
937 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
939 apollonian: apollonian.o $(XLOCK_OBJS) $(ERASE)
940 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
942 euler2d: euler2d.o $(XLOCK_OBJS)
943 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
945 juggle: juggle.o $(XLOCK_OBJS)
946 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
948 polyominoes: polyominoes.o $(XLOCK_OBJS) $(ERASE)
949 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS)
951 thornbird: thornbird.o $(XLOCK_OBJS)
952 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
954 PACOBJS=pacman_ai.o pacman_level.o
955 pacman: pacman.o $(PACOBJS) $(XLOCK_OBJS) $(XPM)
956 $(CC_HACK) -o $@ $@.o $(PACOBJS) $(XLOCK_OBJS) $(XPM) $(XPM_LIBS)
958 fiberlamp: fiberlamp.o $(XLOCK_OBJS)
959 $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS)
961 # These are not like the others.
963 xsublim: xsublim.o $(HACK_OBJS_1)
964 $(CC_HACK) -o $@ $@.o $(HACK_OBJS_1) $(HACK_LIBS)
966 webcollage-helper: webcollage-helper.o
967 $(CC_HACK) -o $@ $@.o $(XPM_LIBS) $(JPEG_LIBS)
970 ##############################################################################
972 # DO NOT DELETE: updated by make distdepend