48382559afb98773cbe580eac8d45e0402fbf239
[xscreensaver] / hacks / glx / Makefile.in
1 # hacks/glx/Makefile.in --- xscreensaver, Copyright (c) 1999, 2000
2 #  by Jamie Zawinski.
3 # the `../../configure' script generates `hacks/glx/Makefile' from this file.
4
5 @SET_MAKE@
6 .SUFFIXES:
7 .SUFFIXES: .c .o
8
9 srcdir          = @srcdir@
10 VPATH           = @srcdir@
11
12 install_prefix  =
13 prefix          = @prefix@
14 exec_prefix     = @exec_prefix@
15 bindir          = @bindir@
16 mandir          = @mandir@
17 # maybe this should be 6 (games)?
18 mansuffix       = 1
19 manNdir         = $(mandir)/man$(mansuffix)
20
21 # maybe this should be 6 (games)?
22 mansuffix       = 1
23
24 CC              = @CC@
25 CFLAGS          = @CFLAGS@
26 LDFLAGS         = @LDFLAGS@
27 DEFS            = -DSTANDALONE -DUSE_GL @DEFS@
28 LIBS            = @LIBS@
29
30 DEPEND          = @DEPEND@
31 DEPEND_FLAGS    = @DEPEND_FLAGS@
32 DEPEND_DEFINES  = @DEPEND_DEFINES@
33
34 SHELL           = /bin/sh
35 INSTALL         = @INSTALL@
36 INSTALL_PROGRAM = @INSTALL_PROGRAM@
37 INSTALL_DATA    = @INSTALL_DATA@
38 INSTALL_DIRS    = @INSTALL_DIRS@
39 HACKDIR         = @HACKDIR@
40
41 X_CFLAGS        = @X_CFLAGS@
42 X_LIBS          = @X_LIBS@
43 X_PRE_LIBS      = @X_PRE_LIBS@
44 X_EXTRA_LIBS    = @X_EXTRA_LIBS@
45 XMU_LIBS        = @XMU_LIBS@
46
47 # Note: see comment in ../../driver/Makefile.in for explanation of X_LIBS, etc.
48 #
49 HACK_PRE        = $(LIBS) $(X_LIBS)
50 HACK_POST     = $(X_PRE_LIBS) -lXt -lX11 $(XMU_LIBS) -lXext $(X_EXTRA_LIBS) -lm
51 HACK_POST2      = @GL_LIBS@ @HACK_LIBS@ $(HACK_POST)
52 HACK_LIBS       = $(HACK_PRE)                       $(HACK_POST2)
53 XPM_LIBS        = $(HACK_PRE)            @XPM_LIBS@ $(HACK_POST2)
54 GLE_LIBS        = $(HACK_PRE) @GLE_LIBS@ @XPM_LIBS@ $(HACK_POST2)
55
56 HACK_SRC        = $(srcdir)/..
57 HACK_BIN        = ..
58 UTILS_SRC       = $(HACK_SRC)/../utils
59 UTILS_BIN       = $(HACK_BIN)/../utils
60
61 INCLUDES        = -I. -I$(srcdir) -I$(UTILS_SRC) -I$(HACK_SRC) -I../.. @INCLUDES@
62
63 UTIL_SRCS       = $(UTILS_SRC)/colors.c $(UTILS_SRC)/hsv.c \
64                   $(UTILS_SRC)/resources.c $(UTILS_SRC)/usleep.c \
65                   $(UTILS_SRC)/visual.c $(UTILS_SRC)/visual-gl.c \
66                   $(UTILS_SRC)/yarandom.c
67 UTIL_OBJS       = $(UTILS_SRC)/colors.o $(UTILS_SRC)/hsv.o \
68                   $(UTILS_SRC)/resources.o $(UTILS_SRC)/usleep.o \
69                   $(UTILS_SRC)/visual.o $(UTILS_SRC)/visual-gl.o \
70                    $(UTILS_SRC)/yarandom.o
71
72 SRCS            = xscreensaver-gl-helper.c \
73                   atlantis.c b_draw.c b_lockglue.c b_sphere.c bubble3d.c \
74                   buildlwo.c cage.c dolphin.c gears.c lament.c moebius.c \
75                   morph3d.c pipeobjs.c pipes.c rubik.c s1_1.c s1_2.c s1_3.c \
76                   s1_4.c s1_5.c s1_6.c s1_b.c shark.c sproingies.c \
77                   sproingiewrap.c stairs.c superquadrics.c swim.c whale.c \
78                   xlock-gl.c fps.c xpm-ximage.c glplanet.c pulsar.c \
79                   extrusion.c extrusion-helix2.c extrusion-helix3.c \
80                   extrusion-helix4.c extrusion-joinoffset.c extrusion-screw.c \
81                   extrusion-taper.c extrusion-twistoid.c sierpinski3d.c \
82                   gflux.c stonerview.c stonerview-move.c stonerview-osc.c \
83                   stonerview-view.c starwars.c glut_stroke.c glut_swidth.c \
84                   gltext.c molecule.c dangerball.c sphere.c tube.c circuit.c \
85                   menger.c engine.c flipscreen3d.c font-ximage.c \
86                   grab-ximage.c glsnake.c boxed.c glforestfire.c sballs.c \
87                   cubenetic.c spheremonics.c marching.c lavalite.c rotator.c \
88                   trackball.c gltrackball.c queens.c endgame.c chessmodels.c \
89                   glblur.c gllist.c flurry.c flurry-smoke.c flurry-spark.c \
90                   flurry-star.c flurry-texture.c
91
92 OBJS            = xscreensaver-gl-helper.o \
93                   atlantis.o b_draw.o b_lockglue.o b_sphere.o bubble3d.o \
94                   buildlwo.o cage.o dolphin.o gears.o lament.o moebius.o \
95                   morph3d.o pipeobjs.o pipes.o rubik.o s1_1.o s1_2.o s1_3.o \
96                   s1_4.o s1_5.o s1_6.o s1_b.o shark.o sproingies.o \
97                   sproingiewrap.o stairs.o superquadrics.o swim.o whale.o \
98                   xlock-gl.o fps.o xpm-ximage.o glplanet.o pulsar.o \
99                   extrusion.o extrusion-helix2.o extrusion-helix3.o \
100                   extrusion-helix4.o extrusion-joinoffset.o extrusion-screw.o \
101                   extrusion-taper.o extrusion-twistoid.o sierpinski3d.o \
102                   gflux.o stonerview.o stonerview-move.o stonerview-osc.o \
103                   stonerview-view.o starwars.o glut_stroke.o glut_swidth.o \
104                   gltext.o molecule.o dangerball.o sphere.o tube.o circuit.o \
105                   menger.o engine.o flipscreen3d.o font-ximage.o \
106                   grab-ximage.o glsnake.o boxed.o glforestfire.o sballs.o \
107                   cubenetic.o spheremonics.o marching.o lavalite.o rotator.o \
108                   trackball.o gltrackball.o queens.o endgame.o chessmodels.o \
109                   glblur.o gllist.o flurry.o flurry-smoke.o flurry-spark.o \
110                   flurry-star.o flurry-texture.o
111
112 GL_EXES         = cage gears moebius pipes sproingies stairs superquadrics \
113                   morph3d rubik atlantis lament bubble3d glplanet pulsar \
114                   sierpinski3d gflux stonerview starwars gltext molecule \
115                   dangerball circuit menger engine flipscreen3d glsnake boxed \
116                   glforestfire sballs cubenetic spheremonics lavalite queens \
117                   endgame glblur flurry
118 GLE_EXES        = extrusion
119 GL_UTIL_EXES    = xscreensaver-gl-helper
120 HACK_EXES       = @GL_EXES@ @GLE_EXES@
121 GRAB_OBJS       = $(UTILS_BIN)/grabclient.o grab-ximage.o
122 EXES            = @GL_UTIL_EXES@ $(HACK_EXES)
123
124 HACK_OBJS       = screenhack-gl.o xlock-gl.o fps.o $(HACK_BIN)/xlockmore.o \
125                   $(UTILS_BIN)/resources.o $(UTILS_BIN)/visual.o \
126                   $(UTILS_BIN)/visual-gl.o $(UTILS_BIN)/usleep.o \
127                   $(UTILS_BIN)/yarandom.o $(UTILS_BIN)/hsv.o \
128                   $(UTILS_BIN)/colors.o
129
130 HDRS            = atlantis.h bubble3d.h buildlwo.h e_textures.h xpm-ximage.h \
131                   grab-ximage.h font-ximage.h tube.h sphere.h boxed.h \
132                   stonerview-move.h stonerview-osc.h glutstroke.h \
133                   glut_roman.h marching.h rotator.h trackball.h gltrackball.h \
134                   chessmodels.h chessgames.h gllist.h flurry.h
135 GL_MEN          = atlantis.man boxed.man bubble3d.man cage.man circuit.man \
136                   cubenetic.man dangerball.man engine.man extrusion.man \
137                   flipscreen3d.man gears.man gflux.man glforestfire.man \
138                   glplanet.man glsnake.man gltext.man lament.man lavalite.man \
139                   menger.man moebius.man molecule.man morph3d.man pipes.man \
140                   pulsar.man queens.man rubik.man sballs.man sierpinski3d.man \
141                   spheremonics.man sproingies.man stairs.man starwars.man \
142                   stonerview.man superquadrics.man xscreensaver-gl-helper.man \
143                   endgame.man flurry.man glblur.man
144 MEN             = @GL_MEN@
145 EXTRAS          = README Makefile.in
146
147 TARFILES        = $(SRCS) $(HDRS) $(MEN) $(EXTRAS)
148
149
150 default: all
151 all: $(EXES)
152
153 install:   install-program   install-man
154 uninstall: uninstall-program uninstall-man
155
156 install-strip:
157         $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install
158
159 # the hacks, in $HACKDIR
160 install-program:: $(EXES)
161         @exes="$(HACK_EXES)" ;                                          \
162          idir="$(install_prefix)$(HACKDIR)" ;                           \
163          if [ "$$exes" != "" ]; then                                    \
164            if [ ! -d $$idir ]; then                                     \
165              $(INSTALL_DIRS) $$idir ;                                   \
166            fi ;                                                         \
167            for program in $$exes; do                                    \
168              echo $(INSTALL_PROGRAM) $$program $$idir/$$program ;       \
169                   $(INSTALL_PROGRAM) $$program $$idir/$$program ;       \
170            done ;                                                       \
171          fi
172
173 # the xscreensaver-gl-helper program, in $bindir
174 install-program:: $(EXES)
175         @exes="@GL_UTIL_EXES@" ;                                        \
176          idir="$(install_prefix)$(bindir)" ;                            \
177          if [ "$$exes" != "" ]; then                                    \
178            if [ ! -d $$idir ]; then                                     \
179              $(INSTALL_DIRS) $$idir ;                                   \
180            fi ;                                                         \
181            for program in $$exes; do                                    \
182              echo $(INSTALL_PROGRAM) $$program $$idir/$$program ;       \
183                   $(INSTALL_PROGRAM) $$program $$idir/$$program ;       \
184            done ;                                                       \
185          fi
186
187 install-man: $(MEN)
188         @men="$(MEN)" ;                                                 \
189          idir="$(install_prefix)$(manNdir)" ;                           \
190          if [ ! -d $$idir ]; then                                       \
191           $(INSTALL_DIRS) $$idir ;                                      \
192          fi ;                                                           \
193          for man in $$men; do                                           \
194            instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ;    \
195            echo $(INSTALL_DATA) $(srcdir)/$$man $$idir/$$instname ;     \
196                 $(INSTALL_DATA) $(srcdir)/$$man $$idir/$$instname ;     \
197          done
198
199 # the hacks, in $HACKDIR
200 uninstall-program::
201         @exes="$(HACK_EXES)" ;                                          \
202          idir="$(install_prefix)$(HACKDIR)" ;                           \
203          for program in $$exes; do                                      \
204            echo rm -f $$idir/$$program ;                                \
205                 rm -f $$idir/$$program ;                                \
206          done
207
208 # the xscreensaver-gl-helper program, in $bindir
209 uninstall-program::
210         @exes="$(GL_UTIL_EXES)" ;                                       \
211          idir="$(install_prefix)$(bindir)" ;                            \
212          for program in $$exes; do                                      \
213            echo rm -f $$idir/$$program ;                                \
214                 rm -f $$idir/$$program ;                                \
215         done
216
217 uninstall-man:
218         @men="$(MEN)" ;                                                 \
219          idir="$(install_prefix)$(manNdir)" ;                           \
220          for man in $$men; do                                           \
221            instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ;    \
222            echo rm -f $$idir/$$instname ;                               \
223                 rm -f $$idir/$$instname ;                               \
224         done
225
226 clean:
227         -rm -f *.o a.out core $(EXES) molecules.h
228
229 distclean: clean
230         -rm -f Makefile TAGS *~ "#"*
231
232 # Adds all current dependencies to Makefile
233 depend:
234         $(DEPEND) -s '# DO NOT DELETE: updated by make depend'              \
235         $(DEPEND_FLAGS) --                                                  \
236         $(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) --      \
237         $(SRCS)
238
239 # Adds some dependencies to Makefile.in -- not totally accurate, but pretty
240 # close.  This excludes dependencies on files in /usr/include, etc.  It tries
241 # to include only dependencies on files which are themselves a part of this
242 # package.
243 distdepend:: molecules.h
244         @echo updating dependencies in `pwd`/Makefile.in... ;               \
245         $(DEPEND) -w 0 -f -                                                 \
246         -s '# DO NOT DELETE: updated by make distdepend' $(DEPEND_FLAGS) -- \
247         $(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) --      \
248         $(SRCS) 2>/dev/null |                                               \
249         sort -d |                                                           \
250         (                                                                   \
251           awk '/^# .*Makefile.in ---/,/^# DO .*distdepend/' < Makefile.in ; \
252           sed -e '/^#.*/d'                                                  \
253               -e 's@ \./@ @g;s@ /[^ ]*@@g;/^.*:$$/d'                        \
254               -e 's@\.\./\.\./utils@$$(UTILS_SRC)@g'                        \
255               -e 's@\.\./glx/@@g'                                           \
256               -e 's@ \.\./@ $$(HACK_SRC)/@g'                                \
257               -e 's@ \([^$$]\)@ $$(srcdir)/\1@g'                            \
258               -e 's@ $$(srcdir)/\(.*config.h\)@ \1@g'                       \
259               -e 's@ $$(HACK_SRC)/\(.*config.h\)@ ../\1@g'                  \
260               -e 's@ $$(srcdir)/\(.*molecules.h\)@ \1@g' ;                  \
261           echo ''                                                           \
262         ) > /tmp/distdepend.$$$$ &&                                         \
263         mv Makefile.in Makefile.in.bak &&                                   \
264         mv /tmp/distdepend.$$$$ Makefile.in
265
266
267 TAGS: tags
268 tags:
269         find $(srcdir) -name '*.[chly]' -print | xargs etags -a
270
271 echo_tarfiles:
272         @echo $(TARFILES)
273
274 check_men:
275         @badmen="" ;                                                    \
276          for exe in $(EXES); do                                         \
277            if ! [ -f $(srcdir)/$$exe.man ]; then                        \
278              badmen="$$badmen $$exe" ;                                  \
279            fi ;                                                         \
280          done ;                                                         \
281          if [ -n "$$badmen" ]; then                                     \
282            echo "" ;                                                    \
283            echo "Warning: The following programs have no manuals:" ;    \
284            echo "" ;                                                    \
285            for m in $$badmen ; do                                       \
286              echo "    $$m" ;                                           \
287            done ;                                                       \
288          fi
289
290 check_xml:
291         @badxml="" ;                                                    \
292          for exe in $(EXES); do                                         \
293            if ! [ -f $(srcdir)/../config/$$exe.xml -o                   \
294                   "$$exe" = xscreensaver-gl-helper ]; then              \
295              badxml="$$badxml $$exe" ;                                  \
296            fi ;                                                         \
297          done ;                                                         \
298          if [ -n "$$badxml" ]; then                                     \
299            echo "" ;                                                    \
300            echo "Warning: The following programs have no configurators:" ; \
301            echo "" ;                                                    \
302            for m in $$badxml ; do                                       \
303              echo "    $$m" ;                                           \
304            done ;                                                       \
305            echo "" ;                                                    \
306          fi
307
308 distdepend:: check_men check_xml
309
310
311
312
313 # Rules for noticing when the objects from the utils directory are out of
314 # date with respect to their sources, and going and building them according
315 # to the rules in their own Makefile...
316 #
317 $(UTILS_BIN)/colors.o:          $(UTILS_SRC)/colors.c
318 $(UTILS_BIN)/hsv.o:             $(UTILS_SRC)/hsv.c
319 $(UTILS_BIN)/resources.o:       $(UTILS_SRC)/resources.c
320 $(UTILS_BIN)/usleep.o:          $(UTILS_SRC)/usleep.c
321 $(UTILS_BIN)/visual.o:          $(UTILS_SRC)/visual.c
322 $(UTILS_BIN)/visual-gl.o:       $(UTILS_SRC)/visual-gl.c
323 $(UTILS_BIN)/yarandom.o:        $(UTILS_SRC)/yarandom.c
324
325 $(UTIL_OBJS):
326         cd $(UTILS_BIN) ; \
327         $(MAKE) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
328
329 $(HACK_BIN)/xlockmore.o: $(HACK_SRC)/xlockmore.c
330         cd $(HACK_BIN)  ; $(MAKE) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)"
331
332
333 # How we build object files in this directory.
334 .c.o:
335         $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $<
336
337
338 # How to build the "xscreensaver-gl-helper" program, that lets the daemon
339 # know which visual is the right one for GL programs.
340 #
341 HELPER_OBJS = xscreensaver-gl-helper.o $(UTILS_BIN)/visual-gl.o \
342               $(UTILS_BIN)/visual.o $(UTILS_BIN)/resources.o
343 xscreensaver-gl-helper: $(HELPER_OBJS)
344         $(CC) $(LDFLAGS) -o $@ $(HELPER_OBJS) $(LIBS) $(X_LIBS) $(HACK_POST2)
345
346
347 # These hacks use a slightly-differently-compiled variant of screenhack.c.
348 # This is how to make the the other .o file from it.
349 #
350 screenhack-gl.o: $(HACK_SRC)/screenhack.c
351         $(CC) -o $@ -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) \
352           -DXLOCKMORE  -DUSE_GL $(HACK_SRC)/screenhack.c
353
354 CC_HACK         = $(CC) $(LDFLAGS)
355
356 TRACK_OBJS=rotator.o trackball.o gltrackball.o
357
358 ATLANTIS_OBJS = $(HACK_OBJS) dolphin.o shark.o swim.o whale.o xpm-ximage.o
359 atlantis:       atlantis.o      $(ATLANTIS_OBJS)
360         $(CC_HACK) -o $@ $@.o   $(ATLANTIS_OBJS) $(HACK_LIBS) $(XPM_LIBS)
361
362 cage:           cage.o          $(HACK_OBJS)
363         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
364
365 FLURRY_OBJS_1 = flurry-smoke.o flurry-spark.o flurry-star.o flurry-texture.o
366 FLURRY_OBJS = $(FLURRY_OBJS_1) $(HACK_OBJS) $(TRACK_OBJS)
367
368 flurry:         flurry.o $(FLURRY_OBJS)
369         $(CC_HACK) -o $@ $@.o   $(FLURRY_OBJS) $(HACK_LIBS) -lm
370
371 gears:          gears.o         $(HACK_OBJS) $(TRACK_OBJS)
372         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(TRACK_OBJS) $(HACK_LIBS)
373
374 moebius:        moebius.o       $(TRACK_OBJS) $(HACK_OBJS)
375         $(CC_HACK) -o $@ $@.o   $(TRACK_OBJS) $(HACK_OBJS) $(HACK_LIBS)
376
377 pipes:          pipes.o         $(HACK_OBJS) pipeobjs.o buildlwo.o
378         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) pipeobjs.o buildlwo.o \
379           $(HACK_LIBS)
380
381 superquadrics:  superquadrics.o $(HACK_OBJS)
382         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
383
384 morph3d:        morph3d.o       $(HACK_OBJS)
385         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
386
387 rubik:          rubik.o $(HACK_OBJS)
388         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
389
390 stairs:         stairs.o        $(HACK_OBJS)
391         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
392
393 SPROINGIES = sproingiewrap.o gllist.o \
394              s1_1.o s1_2.o s1_3.o s1_4.o s1_5.o s1_6.o s1_b.o
395 sproingies: sproingies.o $(HACK_OBJS) $(SPROINGIES)
396         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(SPROINGIES) $(HACK_LIBS)
397
398 lament:         lament.o        $(TRACK_OBJS) xpm-ximage.o $(HACK_OBJS)
399         $(CC_HACK) -o $@ $@.o   $(TRACK_OBJS) xpm-ximage.o $(HACK_OBJS) $(XPM_LIBS)
400
401 B3D = b_sphere.o b_draw.o b_lockglue.o
402 bubble3d:       bubble3d.o      $(HACK_OBJS) $(B3D)
403         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(B3D) $(HACK_LIBS)
404
405 PLANETHACKS=sphere.o xpm-ximage.o $(TRACK_OBJS)
406 glplanet:       glplanet.o      $(PLANETHACKS) $(HACK_OBJS)
407         $(CC_HACK) -o $@ $@.o   $(PLANETHACKS) $(HACK_OBJS) $(XPM_LIBS)
408
409 pulsar:         pulsar.o        $(HACK_OBJS) xpm-ximage.o
410         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) xpm-ximage.o $(HACK_LIBS) $(XPM_LIBS)
411
412 EXTRUSION_OBJS=extrusion.o extrusion-helix2.o extrusion-helix3.o    \
413         extrusion-helix4.o extrusion-joinoffset.o extrusion-screw.o \
414         extrusion-taper.o extrusion-twistoid.o xpm-ximage.o $(TRACK_OBJS)
415 extrusion:      $(EXTRUSION_OBJS) $(HACK_OBJS)
416         $(CC_HACK) -o $@ $(EXTRUSION_OBJS) $(HACK_OBJS) $(XPM_LIBS) $(GLE_LIBS)
417
418 sierpinski3d:   sierpinski3d.o  $(HACK_OBJS) $(TRACK_OBJS)
419         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(TRACK_OBJS) $(HACK_LIBS)
420
421 gflux:          gflux.o         $(HACK_OBJS) $(GRAB_OBJS)
422         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(GRAB_OBJS) $(HACK_LIBS)
423
424 SW_OBJS=starwars.o glut_stroke.o glut_swidth.o
425 starwars:       $(SW_OBJS) $(HACK_OBJS)
426         $(CC_HACK) -o $@ $(SW_OBJS) $(HACK_OBJS) $(HACK_LIBS)
427
428 GLT_OBJS=gltext.o glut_stroke.o glut_swidth.o tube.o $(TRACK_OBJS)
429 gltext: $(GLT_OBJS) $(HACK_OBJS)
430         $(CC_HACK) -o $@ $(GLT_OBJS) $(HACK_OBJS) $(HACK_LIBS)
431
432 DB_OBJS=sphere.o tube.o $(TRACK_OBJS)
433 dangerball:     dangerball.o    $(DB_OBJS) $(HACK_OBJS)
434         $(CC_HACK) -o $@ $@.o   $(DB_OBJS) $(HACK_OBJS) $(HACK_LIBS)
435
436 circuit:        circuit.o       $(HACK_OBJS) font-ximage.o
437         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) font-ximage.o $(HACK_LIBS)
438
439 menger:         menger.o        $(HACK_OBJS) $(TRACK_OBJS)
440         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(TRACK_OBJS) $(HACK_LIBS)
441
442 engine:         engine.o        $(HACK_OBJS) $(TRACK_OBJS)
443         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(TRACK_OBJS) $(HACK_LIBS)
444
445 flipscreen3d:   flipscreen3d.o  $(HACK_OBJS) $(GRAB_OBJS)
446         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(GRAB_OBJS) $(HACK_LIBS)
447
448 glsnake:        glsnake.o       $(HACK_OBJS)
449         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
450
451 boxed:          boxed.o         $(HACK_OBJS)
452         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(HACK_LIBS)
453
454 glforestfire:   glforestfire.o  $(HACK_OBJS) xpm-ximage.o
455         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) xpm-ximage.o $(XPM_LIBS)
456
457 sballs:         sballs.o        $(HACK_OBJS) xpm-ximage.o
458         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) xpm-ximage.o $(XPM_LIBS)
459
460 cubenetic:      cubenetic.o     $(HACK_OBJS) $(TRACK_OBJS)
461         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(TRACK_OBJS) $(HACK_LIBS)
462
463 spheremonics:   spheremonics.o  $(HACK_OBJS) $(TRACK_OBJS)
464         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(TRACK_OBJS) $(HACK_LIBS)
465
466 LLOBJS=marching.o xpm-ximage.o $(TRACK_OBJS) $(HACK_OBJS)
467 lavalite:       lavalite.o      $(LLOBJS)
468         $(CC_HACK) -o $@ $@.o   $(LLOBJS)  $(XPM_LIBS)
469
470 queens:         queens.o        $(TRACK_OBJS) $(HACK_OBJS)
471         $(CC_HACK) -o $@ $@.o   $(TRACK_OBJS) $(HACK_OBJS) $(HACK_LIBS)
472
473 CHESSOBJS=chessmodels.o $(TRACK_OBJS) $(HACK_OBJS)
474 endgame:        endgame.o       $(CHESSOBJS)
475         $(CC_HACK) -o $@ $@.o   $(CHESSOBJS) $(HACK_LIBS)
476
477 glblur: glblur.o                $(HACK_OBJS) $(TRACK_OBJS)
478         $(CC_HACK) -o $@ $@.o   $(HACK_OBJS) $(TRACK_OBJS) $(HACK_LIBS)
479
480
481 # This one works differently (it's not xlock-like.)
482 #
483 STONER_OBJS=stonerview.o stonerview-move.o stonerview-osc.o stonerview-view.o \
484             $(UTILS_BIN)/yarandom.o
485 stonerview:     $(STONER_OBJS)
486         $(CC_HACK) -o $@ $(STONER_OBJS) $(HACK_LIBS)
487
488 molecules.h:
489         @tmp=molecules.h.$$$$ ;                                         \
490         rm -f $$tmp ;                                                   \
491         echo "building molecules.h from $(HACK_SRC)/images/molecules/*.pdb" ; \
492         for f in $(HACK_SRC)/images/molecules/*.pdb ; do                \
493           $(SHELL) $(UTILS_SRC)/ad2c "$$f" |                            \
494             sed 's/",$$/\\n"/' >> $$tmp ;                               \
495           echo ',' >> $$tmp ;                                           \
496         done ;                                                          \
497         mv $$tmp molecules.h
498
499 MOLECULEOBJS=sphere.o tube.o $(TRACK_OBJS)
500 molecule:       molecule.o      $(MOLECULEOBJS) $(HACK_OBJS)
501         $(CC_HACK) -o $@ $@.o   $(MOLECULEOBJS) $(HACK_OBJS) $(HACK_LIBS)
502
503 dnalogo:        dnalogo.o       tube.o $(HACK_OBJS)
504         $(CC_HACK) -o $@ $@.o   tube.o $(HACK_OBJS) $(HACK_LIBS)
505
506 ##############################################################################
507 #
508 # DO NOT DELETE: updated by make distdepend
509
510 atlantis.o: $(srcdir)/atlantis.h
511 atlantis.o: ../../config.h
512 atlantis.o: $(HACK_SRC)/images/sea-texture.xpm
513 atlantis.o: $(srcdir)/xpm-ximage.h
514 b_draw.o: $(srcdir)/bubble3d.h
515 b_draw.o: ../../config.h
516 b_lockglue.o: $(srcdir)/bubble3d.h
517 b_lockglue.o: ../../config.h
518 boxed.o: $(srcdir)/boxed.h
519 boxed.o: ../../config.h
520 b_sphere.o: $(srcdir)/bubble3d.h
521 b_sphere.o: ../../config.h
522 bubble3d.o: $(srcdir)/bubble3d.h
523 bubble3d.o: ../../config.h
524 buildlwo.o: $(srcdir)/buildlwo.h
525 cage.o: ../../config.h
526 cage.o: $(srcdir)/e_textures.h
527 chessmodels.o: $(srcdir)/chessmodels.h
528 circuit.o: ../../config.h
529 circuit.o: $(srcdir)/font-ximage.h
530 cubenetic.o: ../../config.h
531 cubenetic.o: $(srcdir)/gltrackball.h
532 cubenetic.o: $(srcdir)/rotator.h
533 dangerball.o: ../../config.h
534 dangerball.o: $(srcdir)/gltrackball.h
535 dangerball.o: $(srcdir)/rotator.h
536 dangerball.o: $(srcdir)/sphere.h
537 dangerball.o: $(srcdir)/tube.h
538 dolphin.o: $(srcdir)/atlantis.h
539 endgame.o: $(srcdir)/chessgames.h
540 endgame.o: $(srcdir)/chessmodels.h
541 endgame.o: ../../config.h
542 endgame.o: $(srcdir)/gltrackball.h
543 engine.o: ../../config.h
544 engine.o: $(srcdir)/gltrackball.h
545 engine.o: $(srcdir)/rotator.h
546 extrusion-helix2.o: ../../config.h
547 extrusion-helix3.o: ../../config.h
548 extrusion-helix4.o: ../../config.h
549 extrusion-joinoffset.o: ../../config.h
550 extrusion.o: ../../config.h
551 extrusion.o: $(srcdir)/rotator.h
552 extrusion.o: $(srcdir)/xpm-ximage.h
553 extrusion-screw.o: ../../config.h
554 extrusion-taper.o: ../../config.h
555 extrusion-twistoid.o: ../../config.h
556 flipscreen3d.o: ../../config.h
557 flipscreen3d.o: $(srcdir)/grab-ximage.h
558 flurry.o: ../../config.h
559 flurry.o: $(srcdir)/flurry.h
560 flurry.o: $(srcdir)/gltrackball.h
561 flurry.o: $(srcdir)/rotator.h
562 flurry-smoke.o: $(srcdir)/flurry.h
563 flurry-smoke.o: $(srcdir)/gltrackball.h
564 flurry-smoke.o: $(srcdir)/rotator.h
565 flurry-spark.o: $(srcdir)/flurry.h
566 flurry-spark.o: $(srcdir)/gltrackball.h
567 flurry-spark.o: $(srcdir)/rotator.h
568 flurry-star.o: $(srcdir)/flurry.h
569 flurry-star.o: $(srcdir)/gltrackball.h
570 flurry-star.o: $(srcdir)/rotator.h
571 flurry-texture.o: $(srcdir)/flurry.h
572 flurry-texture.o: $(srcdir)/gltrackball.h
573 flurry-texture.o: $(srcdir)/rotator.h
574 font-ximage.o: ../../config.h
575 fps.o: ../../config.h
576 gears.o: ../../config.h
577 gears.o: $(srcdir)/gltrackball.h
578 gears.o: $(srcdir)/rotator.h
579 gflux.o: ../../config.h
580 gflux.o: $(srcdir)/grab-ximage.h
581 glblur.o: ../../config.h
582 glblur.o: $(srcdir)/gltrackball.h
583 glblur.o: $(srcdir)/rotator.h
584 glforestfire.o: ../../config.h
585 glforestfire.o: $(HACK_SRC)/images/ground.xpm
586 glforestfire.o: $(HACK_SRC)/images/tree.xpm
587 glforestfire.o: $(srcdir)/xpm-ximage.h
588 gllist.o: $(srcdir)/gllist.h
589 glplanet.o: ../../config.h
590 glplanet.o: $(srcdir)/gltrackball.h
591 glplanet.o: $(HACK_SRC)/images/earth.xpm
592 glplanet.o: $(srcdir)/rotator.h
593 glplanet.o: $(srcdir)/sphere.h
594 glplanet.o: $(srcdir)/xpm-ximage.h
595 glsnake.o: ../../config.h
596 gltext.o: ../../config.h
597 gltext.o: $(srcdir)/gltrackball.h
598 gltext.o: $(srcdir)/glut_roman.h
599 gltext.o: $(srcdir)/glutstroke.h
600 gltext.o: $(srcdir)/rotator.h
601 gltext.o: $(srcdir)/tube.h
602 gltrackball.o: ../../config.h
603 gltrackball.o: $(srcdir)/gltrackball.h
604 gltrackball.o: $(srcdir)/trackball.h
605 glut_stroke.o: ../../config.h
606 glut_stroke.o: $(srcdir)/glutstroke.h
607 glut_swidth.o: ../../config.h
608 glut_swidth.o: $(srcdir)/glutstroke.h
609 grab-ximage.o: ../../config.h
610 lament.o: ../../config.h
611 lament.o: $(srcdir)/gltrackball.h
612 lament.o: $(HACK_SRC)/images/lament.xpm
613 lament.o: $(srcdir)/rotator.h
614 lament.o: $(srcdir)/xpm-ximage.h
615 lavalite.o: ../../config.h
616 lavalite.o: $(srcdir)/gltrackball.h
617 lavalite.o: $(srcdir)/marching.h
618 lavalite.o: $(srcdir)/rotator.h
619 lavalite.o: $(srcdir)/xpm-ximage.h
620 marching.o: ../../config.h
621 marching.o: $(srcdir)/marching.h
622 menger.o: ../../config.h
623 menger.o: $(srcdir)/gltrackball.h
624 menger.o: $(srcdir)/rotator.h
625 moebius.o: ../../config.h
626 moebius.o: $(srcdir)/e_textures.h
627 moebius.o: $(srcdir)/gltrackball.h
628 moebius.o: $(srcdir)/rotator.h
629 molecule.o: ../../config.h
630 molecule.o: $(srcdir)/gltrackball.h
631 molecule.o: molecules.h
632 molecule.o: $(srcdir)/rotator.h
633 molecule.o: $(srcdir)/sphere.h
634 molecule.o: $(srcdir)/tube.h
635 morph3d.o: ../../config.h
636 pipeobjs.o: $(srcdir)/buildlwo.h
637 pipes.o: $(srcdir)/buildlwo.h
638 pipes.o: ../../config.h
639 pulsar.o: ../../config.h
640 pulsar.o: $(srcdir)/xpm-ximage.h
641 queens.o: ../../config.h
642 queens.o: $(srcdir)/gltrackball.h
643 rotator.o: ../../config.h
644 rotator.o: $(srcdir)/rotator.h
645 rubik.o: ../../config.h
646 s1_1.o: $(srcdir)/gllist.h
647 s1_2.o: $(srcdir)/gllist.h
648 s1_3.o: $(srcdir)/gllist.h
649 s1_4.o: $(srcdir)/gllist.h
650 s1_5.o: $(srcdir)/gllist.h
651 s1_6.o: $(srcdir)/gllist.h
652 s1_b.o: $(srcdir)/gllist.h
653 sballs.o: ../../config.h
654 sballs.o: $(HACK_SRC)/images/sball-bg.xpm
655 sballs.o: $(HACK_SRC)/images/sball.xpm
656 sballs.o: $(srcdir)/xpm-ximage.h
657 shark.o: $(srcdir)/atlantis.h
658 sierpinski3d.o: ../../config.h
659 sierpinski3d.o: $(srcdir)/gltrackball.h
660 sierpinski3d.o: $(srcdir)/rotator.h
661 spheremonics.o: ../../config.h
662 spheremonics.o: $(srcdir)/gltrackball.h
663 spheremonics.o: $(srcdir)/rotator.h
664 sphere.o: ../../config.h
665 sproingies.o: ../../config.h
666 sproingies.o: $(srcdir)/gllist.h
667 sproingiewrap.o: ../../config.h
668 stairs.o: ../../config.h
669 stairs.o: $(srcdir)/e_textures.h
670 starwars.o: ../../config.h
671 starwars.o: $(srcdir)/glut_roman.h
672 starwars.o: $(srcdir)/glutstroke.h
673 stonerview-move.o: ../../config.h
674 stonerview-move.o: $(srcdir)/stonerview-move.h
675 stonerview-move.o: $(srcdir)/stonerview-osc.h
676 stonerview.o: ../../config.h
677 stonerview.o: $(srcdir)/stonerview-move.h
678 stonerview-osc.o: ../../config.h
679 stonerview-osc.o: $(srcdir)/stonerview-osc.h
680 stonerview-view.o: ../../config.h
681 stonerview-view.o: $(srcdir)/stonerview-move.h
682 stonerview-view.o: $(srcdir)/stonerview-osc.h
683 superquadrics.o: ../../config.h
684 swim.o: $(srcdir)/atlantis.h
685 swim.o: ../../config.h
686 trackball.o: ../../config.h
687 trackball.o: $(srcdir)/trackball.h
688 tube.o: ../../config.h
689 tube.o: $(srcdir)/tube.h
690 whale.o: $(srcdir)/atlantis.h
691 xlock-gl.o: ../../config.h
692 xpm-ximage.o: ../../config.h
693 xscreensaver-gl-helper.o: ../../config.h
694