1 # hacks/glx/Makefile.in --- xscreensaver, Copyright (c) 1999-2005
3 # the `../../configure' script generates `hacks/glx/Makefile' from this file.
11 top_srcdir = @top_srcdir@
16 exec_prefix = @exec_prefix@
18 datarootdir = @datarootdir@
21 libexecdir = @libexecdir@
23 manNdir = $(mandir)/man$(mansuffix)
26 HACK_CONF_DIR = @HACK_CONF_DIR@
31 DEFS = -DSTANDALONE -DUSE_GL @DEFS@
35 DEPEND_FLAGS = @DEPEND_FLAGS@
36 DEPEND_DEFINES = @DEPEND_DEFINES@
40 SUID_FLAGS = -o root -m 4755
41 INSTALL_PROGRAM = @INSTALL_PROGRAM@
42 INSTALL_SETUID = @INSTALL_SETUID@
43 INSTALL_DATA = @INSTALL_DATA@
44 INSTALL_DIRS = @INSTALL_DIRS@
48 X_PRE_LIBS = @X_PRE_LIBS@
49 X_EXTRA_LIBS = @X_EXTRA_LIBS@
52 # Note: see comment in ../../driver/Makefile.in for explanation of X_LIBS, etc.
54 HACK_PRE = $(LIBS) $(X_LIBS)
55 HACK_POST = $(X_PRE_LIBS) -lXt -lX11 $(XMU_LIBS) -lXext $(X_EXTRA_LIBS) -lm
56 HACK_POST2 = @GL_LIBS@ @HACK_LIBS@ $(HACK_POST)
57 HACK_LIBS = $(HACK_PRE) $(HACK_POST2)
58 XPM_LIBS = $(HACK_PRE) @XPM_LIBS@ $(HACK_POST2)
59 GLE_LIBS = $(HACK_PRE) @GLE_LIBS@ @XPM_LIBS@ $(HACK_POST2)
60 MINIXPM = $(UTILS_BIN)/minixpm.o
62 HACK_SRC = $(srcdir)/..
64 UTILS_SRC = $(HACK_SRC)/../utils
65 UTILS_BIN = $(HACK_BIN)/../utils
67 INCLUDES = -I. -I$(srcdir) -I$(UTILS_SRC) -I$(HACK_SRC) -I../.. @INCLUDES@
69 UTIL_SRCS = $(UTILS_SRC)/colors.c $(UTILS_SRC)/hsv.c \
70 $(UTILS_SRC)/resources.c $(UTILS_SRC)/usleep.c \
71 $(UTILS_SRC)/visual.c $(UTILS_SRC)/visual-gl.c \
72 $(UTILS_SRC)/yarandom.c $(UTILS_SRC)/xshm.c
73 UTIL_OBJS = $(UTILS_SRC)/colors.o $(UTILS_SRC)/hsv.o \
74 $(UTILS_SRC)/resources.o $(UTILS_SRC)/usleep.o \
75 $(UTILS_SRC)/visual.o $(UTILS_SRC)/visual-gl.o \
76 $(UTILS_SRC)/yarandom.o $(UTILS_SRC)/xshm.o
78 SRCS = xscreensaver-gl-helper.c normals.c glxfonts.c fps-gl.c \
79 atlantis.c b_draw.c b_lockglue.c b_sphere.c bubble3d.c \
80 buildlwo.c cage.c dolphin.c gears.c lament.c moebius.c \
81 morph3d.c pipeobjs.c pipes.c rubik.c s1_1.c s1_2.c s1_3.c \
82 s1_4.c s1_5.c s1_6.c s1_b.c shark.c sproingies.c \
83 sproingiewrap.c stairs.c superquadrics.c swim.c whale.c \
84 xlock-gl-utils.c xpm-ximage.c glplanet.c pulsar.c \
85 extrusion.c extrusion-helix2.c extrusion-helix3.c \
86 extrusion-helix4.c extrusion-joinoffset.c extrusion-screw.c \
87 extrusion-taper.c extrusion-twistoid.c sierpinski3d.c \
88 gflux.c stonerview.c stonerview-move.c stonerview-osc.c \
89 stonerview-view.c starwars.c glut_stroke.c glut_swidth.c \
90 gltext.c molecule.c dangerball.c sphere.c tube.c circuit.c \
91 menger.c engine.c flipscreen3d.c font-ximage.c dnalogo.c \
92 grab-ximage.c glsnake.c boxed.c glforestfire.c sballs.c \
93 cubenetic.c spheremonics.c marching.c lavalite.c rotator.c \
94 trackball.c gltrackball.c queens.c endgame.c chessmodels.c \
95 glblur.c gllist.c flurry.c flurry-smoke.c flurry-spark.c \
96 flurry-star.c flurry-texture.c atunnel.c tunnel_draw.c \
97 flyingtoasters.c toaster.c toaster_base.c toaster_handle.c \
98 toaster_handle2.c toaster_jet.c toaster_knob.c \
99 toaster_slots.c toaster_wing.c toast.c toast2.c \
100 bouncingcow.c cow_face.c cow_hide.c cow_hoofs.c cow_horns.c \
101 cow_tail.c cow_udder.c glslideshow.c jigglypuff.c klein.c \
102 hypertorus.c glmatrix.c cubestorm.c glknots.c blocktube.c \
103 flipflop.c antspotlight.c polytopes.c gleidescope.c \
104 mirrorblob.c blinkbox.c noof.c polyhedra.c polyhedra-gl.c \
105 antinspect.c providence.c pinion.c involute.c boing.c \
106 texfont.c carousel.c fliptext.c antmaze.c tangram.c \
107 tangram_shapes.c crackberg.c glhanoi.c cube21.c \
108 timetunnel.c juggler3d.c topblock.c glschool.c \
109 glschool_gl.c glschool_alg.c glcells.c voronoi.c \
110 moebiusgears.c lockward.c cubicgrid.c hypnowheel.c \
111 skytentacles.c teapot.c sonar.c sonar-sim.c sonar-icmp.c \
112 jigsaw.c photopile.c rubikblocks.c surfaces.c
114 OBJS = xscreensaver-gl-helper.o normals.o glxfonts.o fps-gl.o \
115 atlantis.o b_draw.o b_lockglue.o b_sphere.o bubble3d.o \
116 buildlwo.o cage.o dolphin.o gears.o lament.o moebius.o \
117 morph3d.o pipeobjs.o pipes.o rubik.o s1_1.o s1_2.o s1_3.o \
118 s1_4.o s1_5.o s1_6.o s1_b.o shark.o sproingies.o \
119 sproingiewrap.o stairs.o superquadrics.o swim.o whale.o \
120 xlock-gl-utils.o xpm-ximage.o glplanet.o pulsar.o \
121 extrusion.o extrusion-helix2.o extrusion-helix3.o \
122 extrusion-helix4.o extrusion-joinoffset.o extrusion-screw.o \
123 extrusion-taper.o extrusion-twistoid.o sierpinski3d.o \
124 gflux.o stonerview.o stonerview-move.o stonerview-osc.o \
125 stonerview-view.o starwars.o glut_stroke.o glut_swidth.o \
126 gltext.o molecule.o dangerball.o sphere.o tube.o circuit.o \
127 menger.o engine.o flipscreen3d.o font-ximage.o dnalogo.o \
128 grab-ximage.o glsnake.o boxed.o glforestfire.o sballs.o \
129 cubenetic.o spheremonics.o marching.o lavalite.o rotator.o \
130 trackball.o gltrackball.o queens.o endgame.o chessmodels.o \
131 glblur.o gllist.o flurry.o flurry-smoke.o flurry-spark.o \
132 flurry-star.o flurry-texture.o atunnel.o tunnel_draw.o \
133 flyingtoasters.o toaster.o toaster_base.o toaster_handle.o \
134 toaster_handle2.o toaster_jet.o toaster_knob.o \
135 toaster_slots.o toaster_wing.o toast.o toast2.o \
136 bouncingcow.o cow_face.o cow_hide.o cow_hoofs.o cow_horns.o \
137 cow_tail.o cow_udder.o glslideshow.o jigglypuff.o klein.o \
138 hypertorus.o glmatrix.o cubestorm.o glknots.o blocktube.o \
139 flipflop.o antspotlight.o polytopes.o gleidescope.o \
140 mirrorblob.o blinkbox.o noof.o polyhedra.o polyhedra-gl.o \
141 antinspect.o providence.o pinion.o involute.o boing.o \
142 texfont.o carousel.o fliptext.o antmaze.o tangram.o \
143 tangram_shapes.o crackberg.o glhanoi.o cube21.o \
144 timetunnel.o juggler3d.o topblock.o glschool.o \
145 glschool_gl.o glschool_alg.o glcells.o voronoi.o \
146 moebiusgears.o lockward.o cubicgrid.o hypnowheel.o \
147 skytentacles.o teapot.o sonar.o sonar-sim.o sonar-icmp.o \
148 jigsaw.o photopile.o rubikblocks.o surfaces.o
150 GL_EXES = cage gears moebius pipes sproingies stairs superquadrics \
151 morph3d rubik atlantis lament bubble3d glplanet pulsar \
152 sierpinski3d gflux stonerview starwars gltext molecule \
153 dangerball circuit menger engine flipscreen3d glsnake boxed \
154 sballs cubenetic spheremonics lavalite queens \
155 endgame glblur flurry atunnel flyingtoasters bouncingcow \
156 glslideshow jigglypuff klein hypertorus glmatrix cubestorm \
157 glknots blocktube flipflop antspotlight polytopes \
158 gleidescope mirrorblob blinkbox noof polyhedra \
159 antinspect providence pinion boing carousel fliptext \
160 antmaze tangram crackberg glhanoi cube21 timetunnel \
161 juggler3d topblock glschool glcells voronoi moebiusgears \
162 lockward cubicgrid hypnowheel skytentacles jigsaw photopile \
166 GL_UTIL_EXES = xscreensaver-gl-helper
167 HACK_EXES_1 = @GL_EXES@ @GLE_EXES@
168 HACK_EXES = $(HACK_EXES_1) @SUID_EXES@
169 XSHM_OBJS = $(UTILS_BIN)/xshm.o
170 GRAB_OBJS = $(UTILS_BIN)/grabclient.o grab-ximage.o $(XSHM_OBJS)
171 EXES = @GL_UTIL_EXES@ $(HACK_EXES)
173 RETIRED_EXES = @RETIRED_GL_EXES@
174 RETIRED_GL_EXES = glforestfire
176 HACK_OBJS = $(HACK_BIN)/screenhack.o $(HACK_BIN)/fps.o \
177 xlockmore-gl.o xlock-gl-utils.o glxfonts.o fps-gl.o \
178 $(UTILS_BIN)/resources.o $(UTILS_BIN)/visual.o \
179 $(UTILS_BIN)/visual-gl.o $(UTILS_BIN)/usleep.o \
180 $(UTILS_BIN)/yarandom.o $(UTILS_BIN)/hsv.o \
181 $(UTILS_BIN)/colors.o
183 HDRS = atlantis.h bubble3d.h buildlwo.h e_textures.h xpm-ximage.h \
184 grab-ximage.h font-ximage.h tube.h sphere.h boxed.h \
185 stonerview.h stonerview-move.h stonerview-osc.h \
186 glutstroke.h glut_roman.h marching.h rotator.h trackball.h \
187 gltrackball.h chessmodels.h chessgames.h gllist.h flurry.h \
188 tunnel_draw.h ants.h polyhedra.h normals.h glxfonts.h \
189 texfont.h tangram_shapes.h sproingies.h extrusion.h \
190 glschool.h glschool_gl.h glschool_alg.h topblock.h \
191 involute.h teapot.h sonar.h
192 GL_MEN = atlantis.man boxed.man bubble3d.man cage.man circuit.man \
193 cubenetic.man dangerball.man engine.man extrusion.man \
194 flipscreen3d.man gears.man gflux.man \
195 glplanet.man glsnake.man gltext.man lament.man lavalite.man \
196 menger.man moebius.man molecule.man morph3d.man pipes.man \
197 pulsar.man queens.man rubik.man sballs.man sierpinski3d.man \
198 spheremonics.man sproingies.man stairs.man starwars.man \
199 stonerview.man superquadrics.man xscreensaver-gl-helper.man \
200 endgame.man flurry.man glblur.man atunnel.man \
201 flyingtoasters.man bouncingcow.man glslideshow.man \
202 jigglypuff.man klein.man hypertorus.man glmatrix.man \
203 cubestorm.man glknots.man blocktube.man flipflop.man \
204 antspotlight.man polytopes.man gleidescope.man \
205 mirrorblob.man blinkbox.man noof.man polyhedra.man \
206 antinspect.man providence.man pinion.man boing.man \
207 carousel.man fliptext.man antmaze.man tangram.man \
208 crackberg.man glhanoi.man cube21.man timetunnel.man \
209 juggler3d.man topblock.man glschool.man glcells.man \
210 voronoi.man moebiusgears.man lockward.man cubicgrid.man \
211 hypnowheel.man skytentacles.man sonar.man jigsaw.man \
212 photopile.man rubikblocks.man surfaces.man
214 RETIRED_MEN = glforestfire.man
215 EXTRAS = README Makefile.in dxf2gl.pl molecules.sh starwars.txt
217 TARFILES = $(SRCS) $(HDRS) $(MEN) $(EXTRAS)
221 all: $(EXES) $(RETIRED_EXES)
223 install: install-program install-xml install-man
224 uninstall: uninstall-program uninstall-xml uninstall-man
227 $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install
229 # the hacks, in $HACKDIR
230 install-program:: $(EXES)
231 @exes="$(HACK_EXES_1)" ; \
232 idir="$(install_prefix)$(HACKDIR)" ; \
233 if [ "$$exes" != "" ]; then \
234 if [ ! -d $$idir ]; then \
235 $(INSTALL_DIRS) $$idir ; \
237 for program in $$exes; do \
238 echo $(INSTALL_PROGRAM) $$program $$idir/$$program ; \
239 $(INSTALL_PROGRAM) $$program $$idir/$$program ; \
242 exes="$(SUID_EXES)" ; \
243 if [ @SETUID_HACKS@ = yes ]; then \
244 sinst="$(INSTALL_SETUID)" ; \
246 sinst="$(INSTALL_PROGRAM)" ; \
248 for program in $$exes; do \
249 echo $$sinst $$program $$idir/$$program ; \
250 if $$sinst $$program $$idir/$$program ; then \
252 elif [ @SETUID_HACKS@ = yes ]; then \
253 echo $(INSTALL_PROGRAM) $$program $$idir/$$program ; \
254 if $(INSTALL_PROGRAM) $$program $$idir/$$program ; then\
256 echo "WARNING: unable to install $$program setuid:" \
257 "installed non-setuid instead." ; \
269 # the xscreensaver-gl-helper program, in $bindir
270 install-program:: $(EXES)
271 @exes="@GL_UTIL_EXES@" ; \
272 idir="$(install_prefix)$(bindir)" ; \
273 if [ "$$exes" != "" ]; then \
274 if [ ! -d $$idir ]; then \
275 $(INSTALL_DIRS) $$idir ; \
277 for program in $$exes; do \
278 echo $(INSTALL_PROGRAM) $$program $$idir/$$program ; \
279 $(INSTALL_PROGRAM) $$program $$idir/$$program ; \
283 # When installing man pages, we install "foo.man" as "foo.N" and update
284 # the .TH line in the installed file with one like
286 # .TH XScreenSaver N "V.VV (DD-MMM-YYYY)" "X Version 11"
288 # where N is the manual section suffix.
292 U=$(UTILS_SRC)/version.h ; \
293 V=`sed -n 's/.*xscreensaver \([0-9]\.[^)]*)\).*/\1/p' < $$U` ; \
294 T=/tmp/xs$$$$.$(mansuffix) ; \
295 TH=".TH XScreenSaver $(mansuffix) \"$$V\" \"X Version 11\"" ; \
296 echo "installing man pages: $$TH" ; \
298 if [ ! -d $(install_prefix)$(manNdir) ]; then \
299 $(INSTALL_DIRS) $(install_prefix)$(manNdir) ; \
302 for man in $$men; do \
303 instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
304 manbase=`echo $$man | sed 's/\.man$$//'` ; \
305 TH=".TH $$manbase $(mansuffix) \"$$V\" \"X Version 11\" \"XScreenSaver manual\"" ; \
306 sed -e "s/^\.TH.*/$$TH/" \
307 -e 's@(MANSUFFIX)@($(mansuffix))@g' \
308 < $(srcdir)/$$man > $$T ; \
309 echo $(INSTALL_DATA) $(srcdir)/$$man \
310 $(install_prefix)$(manNdir)/$$instname ; \
311 $(INSTALL_DATA) $$T \
312 $(install_prefix)$(manNdir)/$$instname ; \
317 @dest=$(install_prefix)$(HACK_CONF_DIR) ; \
318 if [ ! -d $$dest ]; then \
319 $(INSTALL_DIRS) $$dest ; \
321 src=$(srcdir)/../config ; \
322 for file in $(EXES) $(SCRIPTS) ; do \
323 if [ -f $$src/$$file.xml ]; then \
324 echo $(INSTALL_DATA) $$src/$$file.xml $$dest/$$file.xml ; \
325 $(INSTALL_DATA) $$src/$$file.xml $$dest/$$file.xml ; \
329 # the hacks, in $HACKDIR
331 @exes="$(HACK_EXES) $(RETIRED_EXES)" ; \
332 idir="$(install_prefix)$(HACKDIR)" ; \
333 for program in $$exes; do \
334 echo rm -f $$idir/$$program ; \
335 rm -f $$idir/$$program ; \
338 # the xscreensaver-gl-helper program, in $bindir
340 @exes="$(GL_UTIL_EXES)" ; \
341 idir="$(install_prefix)$(bindir)" ; \
342 for program in $$exes; do \
343 echo rm -f $$idir/$$program ; \
344 rm -f $$idir/$$program ; \
348 @men="$(MEN) $(RETIRED_MEN)" ; \
349 for man in $$men; do \
350 instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
351 echo rm -f $(install_prefix)$(manNdir)/$$instname* ; \
352 rm -f $(install_prefix)$(manNdir)/$$instname* ; \
356 @dest=$(install_prefix)$(HACK_CONF_DIR) ; \
357 for file in $(EXES) $(RETIRED_EXES) $(SCRIPTS) ; do \
358 echo rm -f $$dest/$$file.xml ; \
359 rm -f $$dest/$$file.xml ; \
363 -rm -f *.o a.out core $(EXES) $(RETIRED_EXES) molecules.h
366 -rm -f Makefile TAGS *~ "#"*
368 # Adds all current dependencies to Makefile
370 $(DEPEND) -s '# DO NOT DELETE: updated by make depend' \
372 $(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) -- \
375 # Adds some dependencies to Makefile.in -- not totally accurate, but pretty
376 # close. This excludes dependencies on files in /usr/include, etc. It tries
377 # to include only dependencies on files which are themselves a part of this
379 distdepend:: molecules.h
380 @echo updating dependencies in `pwd`/Makefile.in... ; \
381 $(DEPEND) -w 0 -f - \
382 -s '# DO NOT DELETE: updated by make distdepend' $(DEPEND_FLAGS) -- \
383 $(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) -- \
384 $(SRCS) 2>/dev/null | \
387 awk '/^# .*Makefile.in ---/,/^# DO .*distdepend/' < Makefile.in ; \
389 -e 's@ \./@ @g;s@ /[^ ]*@@g;/^.*:$$/d' \
390 -e 's@\.\./\.\./utils@$$(UTILS_SRC)@g' \
391 -e 's@\.\./glx/@@g' \
392 -e 's@ \.\./@ $$(HACK_SRC)/@g' \
393 -e 's@ \([^$$]\)@ $$(srcdir)/\1@g' \
394 -e 's@ $$(srcdir)/\(.*config.h\)@ \1@g' \
395 -e 's@ $$(HACK_SRC)/\(.*config.h\)@ ../\1@g' \
396 -e 's@ $$(srcdir)/\(.*molecules.h\)@ \1@g' ; \
398 ) > /tmp/distdepend.$$$$ && \
399 mv Makefile.in Makefile.in.bak && \
400 mv /tmp/distdepend.$$$$ Makefile.in
405 find $(srcdir) -name '*.[chly]' -print | xargs etags -a
412 for exe in $(EXES); do \
413 if ! [ -f $(srcdir)/$$exe.man ]; then \
414 badmen="$$badmen $$exe" ; \
417 if [ -n "$$badmen" ]; then \
419 echo "Warning: The following programs have no manuals:" ; \
421 for m in $$badmen ; do \
427 @echo "Validating XML..." ; \
428 cd $(HACK_SRC) ; ./check-configs.pl $(EXES)
430 distdepend:: check_men validate_xml
434 # Rules for noticing when the objects from the utils directory are out of
435 # date with respect to their sources, and going and building them according
436 # to the rules in their own Makefile...
438 $(UTILS_BIN)/colors.o: $(UTILS_SRC)/colors.c
439 $(UTILS_BIN)/grabclient.o: $(UTILS_SRC)/grabclient.c
440 $(UTILS_BIN)/hsv.o: $(UTILS_SRC)/hsv.c
441 $(UTILS_BIN)/resources.o: $(UTILS_SRC)/resources.c
442 $(UTILS_BIN)/usleep.o: $(UTILS_SRC)/usleep.c
443 $(UTILS_BIN)/visual.o: $(UTILS_SRC)/visual.c
444 $(UTILS_BIN)/visual-gl.o: $(UTILS_SRC)/visual-gl.c
445 $(UTILS_BIN)/yarandom.o: $(UTILS_SRC)/yarandom.c
446 $(UTILS_BIN)/xshm.o: $(UTILS_SRC)/xshm.c
450 $(MAKE) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
452 $(HACK_BIN)/xlockmore.o: $(HACK_SRC)/xlockmore.c
453 cd $(HACK_BIN) ; $(MAKE) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)"
456 # How we build object files in this directory.
458 $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $<
461 # How to build the "xscreensaver-gl-helper" program, that lets the daemon
462 # know which visual is the right one for GL programs.
464 HELPER_OBJS = xscreensaver-gl-helper.o $(UTILS_BIN)/visual-gl.o \
465 $(UTILS_BIN)/visual.o $(UTILS_BIN)/resources.o
466 xscreensaver-gl-helper: $(HELPER_OBJS)
467 $(CC) $(LDFLAGS) -o $@ $(HELPER_OBJS) $(LIBS) $(X_LIBS) $(HACK_POST2)
470 # These hacks use a slightly-differently-compiled variant of xlockmore.c.
471 # This is how to make the the other .o file from it.
473 XLM_CFLAGS=-DUSE_GL $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS)
474 xlockmore-gl.o: $(HACK_SRC)/xlockmore.c
475 $(CC) -o $@ -c $(XLM_CFLAGS) $(HACK_SRC)/xlockmore.c
477 CC_HACK = $(CC) $(LDFLAGS)
479 TRACK_OBJS=rotator.o trackball.o gltrackball.o
480 HACK_TRACK_OBJS=$(HACK_OBJS) $(TRACK_OBJS)
481 HACK_GRAB_OBJS=$(HACK_OBJS) $(GRAB_OBJS)
482 HACK_TRACK_GRAB_OBJS=$(HACK_TRACK_OBJS) $(GRAB_OBJS)
484 ATLANTIS_OBJS = $(HACK_OBJS) dolphin.o shark.o swim.o whale.o xpm-ximage.o
485 atlantis: atlantis.o $(ATLANTIS_OBJS)
486 $(CC_HACK) -o $@ $@.o $(ATLANTIS_OBJS) $(XPM_LIBS)
488 ATUNNEL_OBJS = $(HACK_OBJS) tunnel_draw.o xpm-ximage.o
489 atunnel: atunnel.o $(ATUNNEL_OBJS)
490 $(CC_HACK) -o $@ $@.o $(ATUNNEL_OBJS) $(XPM_LIBS)
492 cage: cage.o $(HACK_OBJS)
493 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
495 FLURRY_OBJS_1 = flurry-smoke.o flurry-spark.o flurry-star.o flurry-texture.o
496 FLURRY_OBJS = $(FLURRY_OBJS_1) $(HACK_OBJS)
498 flurry: flurry.o $(FLURRY_OBJS)
499 $(CC_HACK) -o $@ $@.o $(FLURRY_OBJS) $(HACK_LIBS) -lm
501 GEARS_OBJS=normals.o involute.o $(HACK_TRACK_OBJS)
502 gears: gears.o tube.o $(GEARS_OBJS)
503 $(CC_HACK) -o $@ $@.o tube.o $(GEARS_OBJS) $(HACK_LIBS)
505 moebius: moebius.o $(HACK_TRACK_OBJS)
506 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
508 PIPE_OBJS=pipeobjs.o buildlwo.o teapot.o
509 pipes: pipes.o $(PIPE_OBJS) $(HACK_OBJS)
510 $(CC_HACK) -o $@ $@.o $(PIPE_OBJS) $(HACK_OBJS) $(HACK_LIBS)
512 superquadrics: superquadrics.o $(HACK_OBJS)
513 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
515 morph3d: morph3d.o $(HACK_OBJS)
516 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
518 rubik: rubik.o $(HACK_OBJS)
519 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
521 stairs: stairs.o sphere.o $(HACK_TRACK_OBJS)
522 $(CC_HACK) -o $@ $@.o sphere.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
524 SPROINGIES = sproingiewrap.o gllist.o \
525 s1_1.o s1_2.o s1_3.o s1_4.o s1_5.o s1_6.o s1_b.o
526 sproingies: sproingies.o $(HACK_OBJS) $(SPROINGIES)
527 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(SPROINGIES) $(HACK_LIBS)
529 LAMENTOBJS = $(HACK_TRACK_OBJS) xpm-ximage.o normals.o
530 lament: lament.o $(LAMENTOBJS)
531 $(CC_HACK) -o $@ $@.o $(LAMENTOBJS) $(XPM_LIBS)
533 B3D_OBJS = b_sphere.o b_draw.o b_lockglue.o $(HACK_OBJS)
534 bubble3d: bubble3d.o $(B3D_OBJS)
535 $(CC_HACK) -o $@ $@.o $(B3D_OBJS) $(HACK_LIBS)
537 PLANET_OBJS=sphere.o xpm-ximage.o $(HACK_TRACK_OBJS)
538 glplanet: glplanet.o $(PLANET_OBJS)
539 $(CC_HACK) -o $@ $@.o $(PLANET_OBJS) $(XPM_LIBS)
541 pulsar: pulsar.o $(HACK_OBJS) xpm-ximage.o
542 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) xpm-ximage.o $(XPM_LIBS)
544 EXTRUSION_OBJS=extrusion.o extrusion-helix2.o extrusion-helix3.o \
545 extrusion-helix4.o extrusion-joinoffset.o extrusion-screw.o \
546 extrusion-taper.o extrusion-twistoid.o xpm-ximage.o \
548 extrusion: $(EXTRUSION_OBJS)
549 $(CC_HACK) -o $@ $(EXTRUSION_OBJS) $(XPM_LIBS) $(GLE_LIBS)
551 sierpinski3d: sierpinski3d.o $(HACK_TRACK_OBJS)
552 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
554 gflux: gflux.o $(HACK_TRACK_GRAB_OBJS)
555 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_GRAB_OBJS) $(HACK_LIBS)
557 SW_OBJS=starwars.o glut_stroke.o glut_swidth.o texfont.o $(HACK_OBJS)
559 $(CC_HACK) -o $@ $(SW_OBJS) $(HACK_LIBS)
561 GLT_OBJS=gltext.o glut_stroke.o glut_swidth.o tube.o $(HACK_TRACK_OBJS)
563 $(CC_HACK) -o $@ $(GLT_OBJS) $(HACK_LIBS)
565 DB_OBJS=sphere.o tube.o $(HACK_TRACK_OBJS)
566 dangerball: dangerball.o $(DB_OBJS)
567 $(CC_HACK) -o $@ $@.o $(DB_OBJS) $(HACK_LIBS)
569 circuit: circuit.o font-ximage.o $(HACK_OBJS)
570 $(CC_HACK) -o $@ $@.o font-ximage.o $(HACK_OBJS) $(HACK_LIBS)
572 menger: menger.o $(HACK_TRACK_OBJS)
573 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
575 engine: engine.o $(HACK_TRACK_OBJS)
576 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
578 flipscreen3d: flipscreen3d.o $(HACK_TRACK_GRAB_OBJS)
579 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_GRAB_OBJS) $(HACK_LIBS)
581 glsnake: glsnake.o $(HACK_OBJS)
582 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
584 boxed: boxed.o $(HACK_OBJS)
585 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
587 glforestfire: glforestfire.o xpm-ximage.o $(HACK_TRACK_OBJS)
588 $(CC_HACK) -o $@ $@.o xpm-ximage.o $(HACK_TRACK_OBJS) $(XPM_LIBS)
590 sballs: sballs.o xpm-ximage.o $(HACK_TRACK_OBJS)
591 $(CC_HACK) -o $@ $@.o xpm-ximage.o $(HACK_TRACK_OBJS) $(XPM_LIBS)
593 cubenetic: cubenetic.o $(HACK_TRACK_OBJS)
594 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
596 spheremonics: spheremonics.o normals.o $(HACK_TRACK_OBJS)
597 $(CC_HACK) -o $@ $@.o normals.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
599 LL_OBJS=marching.o xpm-ximage.o normals.o $(HACK_TRACK_OBJS)
600 lavalite: lavalite.o $(LL_OBJS)
601 $(CC_HACK) -o $@ $@.o $(LL_OBJS) $(XPM_LIBS)
603 queens: queens.o $(HACK_TRACK_OBJS)
604 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
606 endgame: endgame.o chessmodels.o $(HACK_TRACK_OBJS)
607 $(CC_HACK) -o $@ $@.o chessmodels.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
609 glblur: glblur.o $(HACK_TRACK_OBJS)
610 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
613 toaster.o toaster_base.o toaster_handle.o toaster_handle2.o \
614 toaster_jet.o toaster_knob.o toaster_slots.o toaster_wing.o \
616 flyingtoasters.o gllist.o xpm-ximage.o $(HACK_TRACK_OBJS)
617 flyingtoasters: $(TOAST_OBJS)
618 $(CC_HACK) -o $@ $(TOAST_OBJS) $(XPM_LIBS)
621 cow_face.o cow_hide.o cow_hoofs.o cow_horns.o cow_tail.o cow_udder.o \
622 bouncingcow.o gllist.o xpm-ximage.o $(HACK_TRACK_OBJS)
623 bouncingcow: $(COW_OBJS)
624 $(CC_HACK) -o $@ $(COW_OBJS) $(XPM_LIBS)
626 glslideshow: glslideshow.o $(HACK_GRAB_OBJS)
627 $(CC_HACK) -o $@ $@.o $(HACK_GRAB_OBJS) $(HACK_LIBS)
629 jigglypuff: jigglypuff.o xpm-ximage.o $(HACK_TRACK_OBJS)
630 $(CC_HACK) -o $@ $@.o xpm-ximage.o $(HACK_TRACK_OBJS) $(XPM_LIBS)
632 klein: klein.o $(HACK_TRACK_OBJS)
633 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
635 surfaces: surfaces.o $(HACK_TRACK_OBJS)
636 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
638 hypertorus: hypertorus.o $(HACK_TRACK_OBJS)
639 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
641 glmatrix: glmatrix.o xpm-ximage.o $(HACK_OBJS)
642 $(CC_HACK) -o $@ $@.o xpm-ximage.o $(HACK_OBJS) $(XPM_LIBS)
644 cubestorm: cubestorm.o $(HACK_TRACK_OBJS)
645 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
647 glknots: glknots.o tube.o $(HACK_TRACK_OBJS)
648 $(CC_HACK) -o $@ $@.o tube.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
650 blocktube: blocktube.o xpm-ximage.o $(HACK_OBJS)
651 $(CC_HACK) -o $@ $@.o xpm-ximage.o $(HACK_OBJS) $(XPM_LIBS)
653 flipflop: flipflop.o $(HACK_TRACK_GRAB_OBJS)
654 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_GRAB_OBJS) $(HACK_LIBS)
656 antspotlight: antspotlight.o $(HACK_TRACK_GRAB_OBJS)
657 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_GRAB_OBJS) $(HACK_LIBS)
659 polytopes: polytopes.o $(HACK_TRACK_OBJS)
660 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
662 STONER_OBJS=stonerview-move.o stonerview-osc.o stonerview-view.o
663 stonerview: stonerview.o $(STONER_OBJS) $(HACK_TRACK_OBJS)
664 $(CC_HACK) -o $@ $@.o $(STONER_OBJS) $(HACK_TRACK_OBJS) $(HACK_LIBS)
668 @echo "building molecules.h from $(HACK_SRC)/images/molecules/*.pdb"; \
669 UTILS_SRC="$(UTILS_SRC)" \
670 $(srcdir)/molecules.sh molecules.h $(HACK_SRC)/images/molecules/*.pdb
672 MOLECULE_OBJS=sphere.o tube.o $(HACK_TRACK_OBJS)
673 molecule: molecule.o $(MOLECULE_OBJS)
674 $(CC_HACK) -o $@ $@.o $(MOLECULE_OBJS) $(HACK_LIBS)
676 gleidescope: gleidescope.o xpm-ximage.o $(HACK_GRAB_OBJS)
677 $(CC_HACK) -o $@ $@.o xpm-ximage.o $(HACK_GRAB_OBJS) $(XPM_LIBS)
679 mirrorblob: mirrorblob.o $(HACK_TRACK_GRAB_OBJS)
680 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_GRAB_OBJS) $(XPM_LIBS)
682 blinkbox: blinkbox.o sphere.o $(HACK_OBJS)
683 $(CC_HACK) -o $@ $@.o sphere.o $(HACK_OBJS) $(HACK_LIBS)
685 noof: noof.o $(HACK_OBJS)
686 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
688 PH_OBJS=polyhedra-gl.o normals.o teapot.o $(HACK_TRACK_OBJS)
689 polyhedra: polyhedra.o $(PH_OBJS)
690 $(CC_HACK) -o $@ $@.o $(PH_OBJS) $(HACK_LIBS)
692 antinspect: antinspect.o $(HACK_TRACK_OBJS)
693 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
695 providence: providence.o $(HACK_TRACK_OBJS)
696 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
698 pinion: pinion.o $(GEARS_OBJS)
699 $(CC_HACK) -o $@ $@.o $(GEARS_OBJS) $(HACK_LIBS)
701 moebiusgears: moebiusgears.o $(GEARS_OBJS)
702 $(CC_HACK) -o $@ $@.o $(GEARS_OBJS) $(HACK_LIBS)
704 boing: boing.o normals.o $(HACK_TRACK_OBJS)
705 $(CC_HACK) -o $@ $@.o normals.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
707 carousel: carousel.o texfont.o $(HACK_TRACK_GRAB_OBJS)
708 $(CC_HACK) -o $@ $@.o texfont.o $(HACK_TRACK_GRAB_OBJS) $(HACK_LIBS)
710 fliptext: fliptext.o texfont.o $(HACK_OBJS)
711 $(CC_HACK) -o $@ $@.o texfont.o $(HACK_OBJS) $(HACK_LIBS)
713 antmaze: antmaze.o $(HACK_TRACK_OBJS)
714 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
716 TANGRAM_OBJS=tangram_shapes.o $(HACK_OBJS)
717 tangram: tangram.o $(TANGRAM_OBJS)
718 $(CC_HACK) -o $@ $@.o $(TANGRAM_OBJS) $(HACK_LIBS)
720 crackberg: crackberg.o $(HACK_OBJS)
721 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
723 glhanoi: glhanoi.o $(HACK_TRACK_OBJS)
724 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
726 cube21: cube21.o $(HACK_OBJS)
727 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
729 TIMETUNNEL_OBJS = xpm-ximage.o $(HACK_TRACK_OBJS)
730 timetunnel: timetunnel.o $(TIMETUNNEL_OBJS)
731 $(CC_HACK) -o $@ $@.o $(TIMETUNNEL_OBJS) $(XPM_LIBS)
733 JUGG_OBJS=sphere.o tube.o $(HACK_TRACK_OBJS)
734 juggler3d: juggler3d.o $(JUGG_OBJS)
735 $(CC_HACK) -o $@ $@.o $(JUGG_OBJS) $(HACK_LIBS)
737 dnalogo: dnalogo.o tube.o normals.o $(HACK_TRACK_OBJS)
738 $(CC_HACK) -o $@ $@.o tube.o normals.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
740 topblock: topblock.o sphere.o $(HACK_TRACK_OBJS)
741 $(CC_HACK) -o $@ $@.o sphere.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
743 SCHOOL_OBJS=glschool.o glschool_alg.o glschool_gl.o sphere.o tube.o $(HACK_OBJS)
744 glschool: $(SCHOOL_OBJS)
745 $(CC_HACK) -o $@ $(SCHOOL_OBJS) $(HACK_LIBS)
747 glcells: glcells.o $(HACK_OBJS)
748 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
750 voronoi: voronoi.o $(HACK_OBJS)
751 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
753 lockward: lockward.o $(HACK_OBJS)
754 $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS)
756 cubicgrid: cubicgrid.o $(HACK_TRACK_OBJS)
757 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
759 hypnowheel: hypnowheel.o $(HACK_TRACK_OBJS)
760 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
762 TENTACLE_OBJS=normals.o xpm-ximage.o $(HACK_TRACK_OBJS)
763 skytentacles: skytentacles.o $(TENTACLE_OBJS)
764 $(CC_HACK) -o $@ $@.o $(TENTACLE_OBJS) $(XPM_LIBS)
766 SONAR_OBJS=sonar-sim.o sonar-icmp.o texfont.o $(HACK_TRACK_OBJS)
767 sonar: sonar.o $(SONAR_OBJS)
768 $(CC_HACK) -o $@ $@.o $(SONAR_OBJS) $(XPM_LIBS)
770 JIGSAW_OBJS=normals.o $(UTILS_BIN)/spline.o $(HACK_TRACK_GRAB_OBJS)
771 jigsaw: jigsaw.o $(JIGSAW_OBJS)
772 $(CC_HACK) -o $@ $@.o $(JIGSAW_OBJS) $(HACK_LIBS)
774 photopile: photopile.o texfont.o $(HACK_GRAB_OBJS)
775 $(CC_HACK) -o $@ $@.o texfont.o $(HACK_GRAB_OBJS) $(HACK_LIBS)
777 rubikblocks: rubikblocks.o $(HACK_TRACK_OBJS)
778 $(CC_HACK) -o $@ $@.o $(HACK_TRACK_OBJS) $(HACK_LIBS)
780 ##############################################################################
782 # DO NOT DELETE: updated by make distdepend