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