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