http://ftp.x.org/contrib/applications/xscreensaver-3.19.tar.gz
[xscreensaver] / driver / Makefile.in
1 # driver/Makefile.in --- xscreensaver, Copyright (c) 1997 Jamie Zawinski.
2 # the `../configure' script generates `driver/Makefile' from this file.
3
4 @SET_MAKE@
5 .SUFFIXES:
6 .SUFFIXES: .c .o
7
8 srcdir          = @srcdir@
9 VPATH           = @srcdir@
10
11 install_prefix  =
12 prefix          = @prefix@
13 exec_prefix     = @exec_prefix@
14 bindir          = @bindir@
15 mandir          = @mandir@
16 man1dir         = $(mandir)/man1
17 mansuffix       = 1
18
19 CC              = @CC@
20 CFLAGS          = @CFLAGS@
21 LDFLAGS         = @LDFLAGS@
22 DEFS            = @DEFS@
23 DEFS2           = $(DEFS) -DDEFAULT_PATH_PREFIX='"@HACKDIR@"'
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 SUID_FLAGS      = -o root -m 4755
33 INSTALL_PROGRAM = @INSTALL_PROGRAM@
34 INSTALL_SETUID  = @INSTALL_SETUID@
35 INSTALL_DATA    = @INSTALL_DATA@
36 INSTALL_DIRS    = @INSTALL_DIRS@
37
38 X_CFLAGS        = @X_CFLAGS@
39 X_LIBS          = @X_LIBS@
40 X_PRE_LIBS      = @X_PRE_LIBS@
41 X_EXTRA_LIBS    = @X_EXTRA_LIBS@
42
43 # Note:
44 #
45 # X_LIBS would more properly be called X_LDFLAGS (it contains the -L args.)
46 # X_PRE_LIBS contains extra libraries you have to link against on some systems,
47 #         and that must come before -lX11.  (e.g., -lSM and -lICE.)
48 # X_EXTRA_LIBS contains extra libraries needed by X that aren't a part of X.
49 #         (e.g., -lsocket, -lnsl, etc.)
50 #
51 # I think (but am not totally sure) that LIBS is also really "LDFLAGS".
52 #
53 # SAVER_LIBS is the link line for "xscreensaver", and
54 # CMD_LIBS is the link line for "xscreensaver-command".
55
56
57 AD_DIR          = @APPDEFAULTS@
58 PAM_DIR         = /etc/pam.d
59 PAM_CONF        = /etc/pam.conf
60
61 UTILS_SRC       = $(srcdir)/../utils
62 UTILS_BIN       = ../utils
63
64 INCLUDES        = -I. -I$(srcdir) -I$(UTILS_SRC) -I.. @INCLUDES@
65
66 MOTIF_SRCS      = dialogs-Xm.c
67 MOTIF_OBJS      = dialogs-Xm.o
68
69 GTK_SRCS        = dialogs-Gtk.c
70 GTK_OBJS        = dialogs-Gtk.o
71
72 ATHENA_SRCS     = dialogs-Xaw.c
73 ATHENA_OBJS     = dialogs-Xaw.o
74
75 PWENT_SRCS      = passwd-pwent.c
76 PWENT_OBJS      = passwd-pwent.o
77
78 KERBEROS_SRCS   = passwd-kerberos.c
79 KERBEROS_OBJS   = passwd-kerberos.o
80
81 PAM_SRCS        = passwd-pam.c
82 PAM_OBJS        = passwd-pam.o
83
84 LOCK_SRCS_1     = lock.c passwd.c
85 LOCK_OBJS_1     = lock.o passwd.o
86 NOLOCK_SRCS_1   = lock.c
87 NOLOCK_OBJS_1   = lock.o
88
89 TEST_SRCS       = test-passwd.c test-uid.c test-xdpms.c test-grab.c test-apm.c
90
91 MOTIF_LIBS      = @MOTIF_LIBS@
92 GTK_LIBS        = @GTK_LIBS@
93 ATHENA_LIBS     = @ATHENA_LIBS@
94 ATHENA3D_LIBS   = @ATHENA3D_LIBS@
95
96 PASSWD_SRCS     = @PASSWD_SRCS@
97 PASSWD_OBJS     = @PASSWD_OBJS@
98 PASSWD_LIBS     = @PASSWD_LIBS@
99
100 LOCK_SRCS       = @LOCK_SRCS@
101 LOCK_OBJS       = @LOCK_OBJS@
102
103 XMU_SRCS        = @XMU_SRCS@
104 XMU_OBJS        = @XMU_OBJS@
105
106 GL_SRCS         = @SAVER_GL_SRCS@
107 GL_OBJS         = @SAVER_GL_OBJS@
108 GL_LIBS         = @SAVER_GL_LIBS@
109
110 DEMO_UTIL_SRCS  = $(UTILS_SRC)/resources.c $(UTILS_SRC)/usleep.c \
111                   $(UTILS_SRC)/visual.c
112 DEMO_UTIL_OBJS  = $(UTILS_BIN)/resources.o $(UTILS_BIN)/usleep.o \
113                   $(UTILS_BIN)/visual.o
114
115 SAVER_UTIL_SRCS = $(UTILS_SRC)/fade.c $(UTILS_SRC)/overlay.c \
116                   $(UTILS_SRC)/xroger.c $(UTILS_SRC)/spline.c \
117                   $(UTILS_SRC)/yarandom.c \
118                   $(DEMO_UTIL_SRCS)
119 SAVER_UTIL_OBJS = $(UTILS_BIN)/fade.o $(UTILS_BIN)/overlay.o \
120                   $(UTILS_BIN)/xroger.o $(UTILS_BIN)/spline.o \
121                   $(UTILS_BIN)/yarandom.o \
122                   $(DEMO_UTIL_OBJS)
123
124 SAVER_SRCS_1    = xscreensaver.c windows.c timers.c subprocs.c \
125                   xset.c splash.c setuid.c stderr.c
126 SAVER_OBJS_1    = xscreensaver.o windows.o timers.o subprocs.o \
127                   xset.o splash.o setuid.o stderr.o
128
129 SAVER_SRCS      = $(SAVER_SRCS_1) prefs.c $(LOCK_SRCS) \
130                   $(SAVER_UTIL_SRCS) $(GL_SRCS) $(XMU_SRCS)
131 SAVER_OBJS      = $(SAVER_OBJS_1) prefs.o $(LOCK_OBJS) \
132                   $(SAVER_UTIL_OBJS) $(GL_OBJS) $(XMU_OBJS)
133
134 CMD_SRCS        = remote.c xscreensaver-command.c
135 CMD_OBJS        = remote.o xscreensaver-command.o
136
137 DEMO_SRCS_1     = prefs.c demo.c $(XMU_SRCS)
138 DEMO_OBJS_1     = prefs.o demo-Xm.o demo-Gtk.o demo-Xaw.o $(XMU_OBJS)
139
140 DEMO_SRCS       = prefs.c remote.c $(DEMO_UTIL_SRCS) demo.c
141 DEMO_OBJS       = prefs.o remote.o $(DEMO_UTIL_OBJS)
142
143 SAVER_LIBS      = $(LIBS) $(X_LIBS) @SAVER_LIBS@ $(GL_LIBS) \
144                   $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS) \
145                   $(PASSWD_LIBS)
146
147 CMD_LIBS        = $(LIBS) $(X_LIBS) \
148                   $(X_PRE_LIBS) -lX11 -lXext $(X_EXTRA_LIBS)
149
150 EXES            = xscreensaver xscreensaver-command xscreensaver-demo
151 EXES2           = @ALL_DEMO_PROGRAMS@
152
153 HDRS            = XScreenSaver_ad.h xscreensaver.h prefs.h remote.h
154 MEN             = xscreensaver.man xscreensaver-demo.man \
155                   xscreensaver-command.man
156 EXTRAS          = README Makefile.in XScreenSaver.ad.in xscreensaver.pam \
157                   xscreensaver.kss .gdbinit
158 VMSFILES        = compile_axp.com compile_decc.com link_axp.com link_decc.com \
159                   vms-getpwnam.c vms-pwd.h vms-hpwd.c vms-validate.c \
160                   vms_axp.opt vms_axp_12.opt vms_decc.opt vms_decc_12.opt
161
162 TARFILES        = $(EXTRAS) $(VMSFILES) $(SAVER_SRCS_1) \
163                   $(MOTIF_SRCS) $(GTK_SRCS) $(ATHENA_SRCS) $(PWENT_SRCS) \
164                   $(KERBEROS_SRCS) $(PAM_SRCS) $(LOCK_SRCS_1) $(DEMO_SRCS_1) \
165                   $(CMD_SRCS) $(HDRS) $(TEST_SRCS) $(MEN)
166
167
168 default: $(EXES)
169 all: $(EXES) $(EXES2)
170
171 install:   install-program   install-ad   install-kde   install-man   @INSTALL_PAM@
172 uninstall: uninstall-program uninstall-ad uninstall-kde uninstall-man
173
174 install-strip:
175         $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
176                 INSTALL_SETUID='$(INSTALL_SETUID) -s' \
177                 install
178
179 install-program: $(EXES)
180         @if [ ! -d $(bindir) ]; then $(INSTALL_DIRS) $(bindir) ; fi
181         @inst="$(INSTALL_PROGRAM)" ;                                    \
182         if [ @NEED_SETUID@ = yes ]; then                                \
183            me=`PATH="$$PATH:/usr/ucb" whoami` ;                         \
184            if [ "$$me" = root ]; then                                   \
185              inst="$(INSTALL_SETUID)" ;                                 \
186            else                                                         \
187             e=echo ;                                                    \
188  $$e ""                                                                      ;\
189  $$e "  ####################################################################";\
190  $$e "  Warning: xscreensaver has been compiled with support for shadow"     ;\
191  $$e "           passwords.  If your system actually uses shadow passwords," ;\
192  $$e "           then xscreensaver must be installed as a setuid root"       ;\
193  $$e "           program in order for locking to work.  To do this, you"     ;\
194  $$e "           must run 'make install' as 'root', not as '$$me'."          ;\
195  $$e ""                                                                      ;\
196  $$e "           For now, xscreensaver will be installed non-setuid, which"  ;\
197  $$e "           means that locking might not work.  (Try it and see.)"      ;\
198  $$e "  ####################################################################";\
199  $$e ""                                                                      ;\
200            fi ;                                                         \
201         fi ;                                                            \
202         echo $$inst xscreensaver $(bindir)/xscreensaver ;               \
203         $$inst xscreensaver $(bindir)/xscreensaver
204         $(INSTALL_PROGRAM) xscreensaver-command $(bindir)/xscreensaver-command
205         $(INSTALL_PROGRAM) xscreensaver-demo $(bindir)/xscreensaver-demo
206
207 install-ad: XScreenSaver.ad
208         @if [ ! -d $(AD_DIR) ]; then $(INSTALL_DIRS) $(AD_DIR) ; fi
209         @-echo $(INSTALL_DATA) XScreenSaver.ad $(AD_DIR)/XScreenSaver ;       \
210         if $(INSTALL_DATA) XScreenSaver.ad $(AD_DIR)/XScreenSaver ; then      \
211           true ;                                                              \
212         else                                                                  \
213           e=echo ;                                                            \
214           if [ -f $(AD_DIR)/XScreenSaver ]; then                              \
215  $$e ""                                                                      ;\
216  $$e "  ####################################################################";\
217  $$e "  Warning: unable to install $(AD_DIR)/XScreenSaver"                   ;\
218  $$e "           That file exists, and is unwritable.  It is probably from"  ;\
219  $$e "           an older version of xscreensaver, and could cause things"   ;\
220  $$e "           to malfunction.  Please delete it!"                         ;\
221  $$e "  ####################################################################";\
222  $$e ""                                                                      ;\
223             exit 1 ;                                                          \
224           else                                                                \
225  $$e ""                                                                      ;\
226  $$e "  ####################################################################";\
227  $$e "  Warning: unable to install $(AD_DIR)/XScreenSaver"                   ;\
228  $$e "           The directory is unwritable.  This is probably ok;"         ;\
229  $$e "           xscreensaver should work without that file."                ;\
230  $$e "  ####################################################################";\
231  $$e ""                                                                      ;\
232             exit 0 ;                                                          \
233           fi                                                                  \
234         fi
235
236 install-man: $(MEN)
237         @men="$(MEN)" ;                                                 \
238         if [ ! -d $(man1dir) ]; then $(INSTALL_DIRS) $(man1dir) ; fi ;  \
239         for man in $$men; do                                            \
240           instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ;     \
241           echo $(INSTALL_DATA) $(srcdir)/$$man $(man1dir)/$$instname ;  \
242           $(INSTALL_DATA) $(srcdir)/$$man $(man1dir)/$$instname ;       \
243         done
244
245 uninstall-program:
246         @for program in $(EXES); do                                     \
247           echo rm -f $(bindir)/$$program ;                              \
248           rm -f $(bindir)/$$program ;                                   \
249         done
250
251 uninstall-ad:
252         rm -f $(AD_DIR)/XScreenSaver
253
254 uninstall-man:
255         @men="$(MEN)" ;                                                 \
256         for man in $$men; do                                            \
257           instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ;     \
258           echo rm -f $(man1dir)/$$instname ;                            \
259           rm -f $(man1dir)/$$instname ;                                 \
260         done
261
262 install-pam:
263         @src="$(srcdir)/xscreensaver.pam" ;                             \
264         dest=`sed -n 's/.*PAM_SERVICE_NAME[     ]*"\([^"]*\)".*$$/\1/p' \
265            < ../config.h` ;                                             \
266         dir="$(PAM_DIR)" ;                                              \
267         conf="$(PAM_CONF)" ;                                            \
268                                                                         \
269         if [ -d $$dir ] ; then                                          \
270           echo $(INSTALL_DATA) $$src $$dir/$$dest ;                     \
271           $(INSTALL_DATA) $$src $$dir/$$dest ;                          \
272           if [ ! -f $$dir/$$dest ]; then                                \
273             e=echo ;                                                    \
274  $$e ""                                                                      ;\
275  $$e "  ####################################################################";\
276  $$e "  Warning: xscreensaver has been compiled with support for Pluggable"  ;\
277  $$e "           Authentication Modules (PAM).  However, we were unable to"  ;\
278  $$e "           install the file $$dir/$$dest.  PAM is unlikely"            ;\
279  $$e "           to work without this file (and old-style password"          ;\
280  $$e "           authentication will be used instead, which may or may not"  ;\
281  $$e "           work.)"                                                     ;\
282  $$e "  ####################################################################";\
283  $$e ""                                                                      ;\
284           fi ;                                                          \
285         elif [ -f $$conf ]; then                                        \
286           if ( grep $$dest $$conf >/dev/null ); then                    \
287            true ;                                                       \
288           else                                                          \
289             e=echo ;                                                    \
290  $$e ""                                                                      ;\
291  $$e "  ####################################################################";\
292  $$e "  Warning: xscreensaver has been compiled with support for Pluggable"  ;\
293  $$e "           Authentication Modules (PAM).  To complete the installation";\
294  $$e "           of PAM support, you must add the following line to the file";\
295  $$e "           $$conf:"                                                    ;\
296  $$e ""                                                                      ;\
297  $$e    "       $$dest  auth required   /usr/lib/security/pam_unix.so.1"     ;\
298  $$e ""                                                                      ;\
299  $$e "           Be careful: if you mess up that file, you could completely" ;\
300  $$e "           hose your machine (e.g., \`login' and \`su' won't work, and";\
301  $$e "           you'll have to boot single-user to fix it.)"                ;\
302  $$e "  ####################################################################";\
303             echo "";                                                    \
304           fi ;                                                          \
305         fi
306
307 install-kde:
308         @src="$(srcdir)/xscreensaver.kss" ;                                   \
309         if [ "$$KDEDIR" != "" ]; then                                         \
310           dir="$$KDEDIR/bin" ;                                                \
311           dest="$$dir/xscreensaver.kss" ;                                     \
312           echo $(INSTALL_PROGRAM) $$src $$dest ;                              \
313           if $(INSTALL_PROGRAM) $$src $$dest ; then                           \
314             true ;                                                            \
315           else                                                                \
316             e=echo ;                                                          \
317  $$e ""                                                                      ;\
318  $$e "  ####################################################################";\
319  $$e "  Warning: unable to install $$dest"                                   ;\
320             if [ ! -d $$KDEDIR ]; then                                        \
321  $$e "           $$KDEDIR (\$$KDEDIR) does not exist."                       ;\
322             elif [ ! -d $$KDEDIR/bin ]; then                                  \
323  $$e "           $$KDEDIR/bin (\$$KDEDIR/bin) does not exist."               ;\
324             elif [ -f $$dest ]; then                                          \
325  $$e "           That file exists, and is unwritable."                       ;\
326             else                                                              \
327  $$e "           The directory is unwritable."                               ;\
328             fi                                                               ;\
329  $$e "  ####################################################################";\
330  $$e ""                                                                      ;\
331             exit 1 ;                                                          \
332           fi ;                                                                \
333         fi
334
335 uninstall-kde:
336         @if [ "$$KDEDIR" != "" ]; then                                  \
337           dest="$$KDEDIR/bin/xscreensaver.kss" ;                        \
338           echo rm -f $$dest ;                                           \
339           rm -f $$dest ;                                                \
340         fi
341
342 clean:
343         -rm -f *.o a.out core $(EXES) $(EXES2) XScreenSaver_ad.h
344
345 distclean: clean
346         -rm -f Makefile XScreenSaver.ad TAGS *~ "#"*
347
348 # Adds all current dependencies to Makefile
349 depend: XScreenSaver_ad.h
350         $(DEPEND) -s '# DO NOT DELETE: updated by make depend'              \
351         $(DEPEND_FLAGS) --                                                  \
352         $(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) --      \
353         $(SAVER_SRCS) $(CMD_SRCS)
354
355 # Adds some dependencies to Makefile.in -- not totally accurate, but pretty
356 # close.  This excludes dependencies on files in /usr/include, etc.  It tries
357 # to include only dependencies on files which are themselves a part of this
358 # package.
359 distdepend: update_ad_version update_man_version XScreenSaver_ad.h
360         @echo updating dependencies in `pwd`/Makefile.in... ;               \
361         $(DEPEND) -w 0 -f -                                                 \
362         -s '# DO NOT DELETE: updated by make distdepend' $(DEPEND_FLAGS) -- \
363         $(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) --      \
364         $(SAVER_SRCS_1) $(MOTIF_SRCS) $(GTK_SRCS) $(ATHENA_SRCS)            \
365         $(PWENT_SRCS) $(LOCK_SRCS_1) $(DEMO_SRCS_1) $(CMD_SRCS)             \
366         $(TEST_SRCS) |                                                      \
367         (                                                                   \
368           awk '/^# .*Makefile.in ---/,/^# DO .*distdepend/' < Makefile.in ; \
369           sed -e 's@ \./@ @g;s@ /[^ ]*@@g;/^.*:$$/d'                        \
370               -e 's@\.\./utils@$$(UTILS_SRC)@g'                             \
371               -e 's@ \([^$$]\)@ $$(srcdir)/\1@g'                            \
372               -e 's@$$.*\(XScreenSaver_ad\)@\1@g'                           \
373               -e 's@ $$(srcdir)/\(.*config\.h\)@ \1@g' ;                    \
374           echo ''                                                           \
375         ) > /tmp/distdepend.$$$$ &&                                         \
376         mv Makefile.in Makefile.in.bak &&                                   \
377         mv /tmp/distdepend.$$$$ Makefile.in
378
379 # Updates the version number in the app-defaults file to be in sync with 
380 # the version number in version.h.  This is so people can tell when they
381 # have a version skew between the app-defaults file and the executable.
382 update_ad_version::
383         @S=XScreenSaver.ad.in ;                                             \
384         U=$(UTILS_SRC)/version.h ;                                          \
385         V=`sed -n 's/.*\([0-9][0-9]*\.[0-9]*\).*/\1/p' < $$U` ;             \
386         D=`date '+%d-%b-%y'` ;                                              \
387         echo -n "Updating version number in $$S to $$V $$D... " ;           \
388         T=/tmp/xs.$$$$ ;                                                    \
389         sed -e "s/\(.*version \)[0-9][0-9]*\.[0-9]*\(.*\)/\1$$V\2/"         \
390             -e "s/\([0-9][0-9]-[A-Z][a-z][a-z]-[0-9][0-9]\)/$$D/"           \
391           < $$S > $$T ;                                                     \
392         if cmp -s $$S $$T ; then                                            \
393           echo "unchanged." ;                                               \
394         else                                                                \
395           cat $$T > $$S ;                                                   \
396           echo "done." ;                                                    \
397         fi ;                                                                \
398         rm $$T
399
400 update_man_version::
401         @for S in $(MEN); do                                                \
402         U=$(UTILS_SRC)/version.h ;                                          \
403         V=`sed -n 's/.*\([0-9][0-9]*\.[0-9]*\).*/\1/p' < $$U` ;             \
404         V="`date '+%d-%b-%y'` ($$V)" ;                                      \
405         echo -n "Updating footer in $$S to \"$$V\"... " ;                   \
406         T=/tmp/xs.$$$$ ;                                                    \
407         sed "s/^\(\.TH[^\"]*\)\"[^\"]*\"\(.*\)/\1\"$$V\"\2/"                \
408           < $$S > $$T ;                                                     \
409         if cmp -s $$S $$T ; then                                            \
410           echo "unchanged." ;                                               \
411         else                                                                \
412           cat $$T > $$S ;                                                   \
413           echo "done." ;                                                    \
414         fi ;                                                                \
415         rm $$T ;                                                            \
416         done
417
418 TAGS: tags
419 tags:
420         find $(srcdir) -name '*.[chly]' -print | xargs etags -a
421
422 echo_tarfiles:
423         @$(MAKE) XScreenSaver_ad.h 2>&1 >&- /dev/null
424         @echo $(TARFILES)
425
426
427 # Rules for noticing when the objects from the utils directory are out of
428 # date with respect to their sources, and going and building them according
429 # to the rules in their own Makefile...
430 #
431 $(UTILS_BIN)/fade.o:            $(UTILS_SRC)/fade.c
432 $(UTILS_BIN)/overlay.o:         $(UTILS_SRC)/overlay.c
433 $(UTILS_BIN)/resources.o:       $(UTILS_SRC)/resources.c
434 $(UTILS_BIN)/usleep.o:          $(UTILS_SRC)/usleep.c
435 $(UTILS_BIN)/visual.o:          $(UTILS_SRC)/visual.c
436 $(UTILS_BIN)/xmu.o:             $(UTILS_SRC)/xmu.c
437 $(UTILS_BIN)/xroger.o:          $(UTILS_SRC)/xroger.c
438 $(UTILS_BIN)/spline.o:          $(UTILS_SRC)/spline.c
439 $(UTILS_BIN)/yarandom.o:        $(UTILS_SRC)/yarandom.c
440
441 $(SAVER_UTIL_OBJS):
442         cd $(UTILS_BIN) ; \
443         $(MAKE) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
444
445 # How we build object files in this directory.
446 .c.o:
447         $(CC) -c $(INCLUDES) $(DEFS)  $(CFLAGS) $(X_CFLAGS) $<
448
449 # subprocs is the only one that takes an extra -D option.
450 subprocs.o: subprocs.c
451         $(CC) -c $(INCLUDES) $(DEFS2) $(CFLAGS) $(X_CFLAGS) \
452           $(srcdir)/subprocs.c
453
454
455 # How we build the default app-defaults file into the program.
456 #
457 XScreenSaver_ad.h: XScreenSaver.ad
458         $(SHELL) $(UTILS_SRC)/ad2c XScreenSaver.ad > XScreenSaver_ad.h
459
460 # The executables linked in this directory.
461 #
462 xscreensaver: $(SAVER_OBJS)
463         $(CC) $(LDFLAGS) -o $@ $(SAVER_OBJS) $(SAVER_LIBS)
464
465 xscreensaver-command: $(CMD_OBJS)
466         $(CC) $(LDFLAGS) -o $@ $(CMD_OBJS) $(CMD_LIBS)
467
468
469 xscreensaver-demo: @PREFERRED_DEMO_PROGRAM@
470         cp -p @PREFERRED_DEMO_PROGRAM@ $@
471
472 xscreensaver-demo-Xm: $(DEMO_OBJS) $(MOTIF_OBJS) demo-Xm.o
473         $(CC) $(LDFLAGS) -o $@ $(DEMO_OBJS) $(MOTIF_OBJS) demo-Xm.o \
474         $(LIBS) $(X_LIBS) \
475         $(MOTIF_LIBS) $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS)
476
477 xscreensaver-demo-Gtk: $(DEMO_OBJS) $(GTK_OBJS) demo-Gtk.o
478         $(CC) $(LDFLAGS) -o $@ $(DEMO_OBJS) $(GTK_OBJS) demo-Gtk.o \
479         $(LIBS) $(X_LIBS) \
480         $(GTK_LIBS) $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS)
481
482 xscreensaver-demo-Xaw: $(DEMO_OBJS) $(ATHENA_OBJS) demo-Xaw.o
483         $(CC) $(LDFLAGS) -o $@ $(DEMO_OBJS) $(ATHENA_OBJS) demo-Xaw.o \
484         $(LIBS) $(X_LIBS) \
485         $(ATHENA_LIBS) $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS)
486
487 xscreensaver-demo-Xaw3d: $(DEMO_OBJS) $(ATHENA_OBJS) demo-Xaw.o
488         $(CC) $(LDFLAGS) -o $@ $(DEMO_OBJS) $(ATHENA_OBJS) demo-Xaw.o \
489         $(LIBS) $(X_LIBS) \
490         $(ATHENA3D_LIBS) $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS)
491
492 demo-Xm.o: demo.c XScreenSaver_ad.h
493         $(CC) -o $@ -c -DFORCE_MOTIF \
494         $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $(srcdir)/demo.c
495 demo-Gtk.o: demo.c XScreenSaver_ad.h
496         $(CC) -o $@ -c -DFORCE_GTK \
497         $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $(srcdir)/demo.c
498 demo-Xaw.o: demo.c XScreenSaver_ad.h
499         $(CC) -o $@ -c -DFORCE_ATHENA \
500         $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $(srcdir)/demo.c
501
502
503
504
505 TEST_PASSWD_OBJS = test-passwd.o $(LOCK_OBJS_1) $(PASSWD_OBJS) \
506          subprocs.o setuid.o splash.o prefs.o \
507         $(SAVER_UTIL_OBJS)
508 test-passwd.o: XScreenSaver_ad.h
509
510 tests:: test-passwd
511 test-passwd: $(TEST_PASSWD_OBJS) XScreenSaver_ad.h
512         $(CC) $(LDFLAGS) -o $@ $(TEST_PASSWD_OBJS) $(SAVER_LIBS)
513
514 tests:: test-uid
515 test-uid: test-uid.o
516         $(CC) $(LDFLAGS) -o $@ test-uid.o
517
518 tests:: test-xdpms
519 test-xdpms: test-xdpms.o
520         $(CC) $(LDFLAGS) -o $@ test-xdpms.o $(SAVER_LIBS)
521
522 tests:: test-grab
523 test-grab: test-grab.o
524         $(CC) $(LDFLAGS) -o $@ test-grab.o $(SAVER_LIBS)
525
526 tests:: test-apm
527 test-apm: test-apm.o
528         $(CC) $(LDFLAGS) -o $@ test-apm.o $(SAVER_LIBS) -lapm
529
530
531
532 ##############################################################################
533 #
534 # DO NOT DELETE: updated by make distdepend
535 # $(srcdir)/DO $(srcdir)/NOT $(srcdir)/DELETE: $(srcdir)/updated $(srcdir)/by $(srcdir)/make $(srcdir)/distdepend
536
537 xscreensaver.o: ../config.h
538 xscreensaver.o: $(srcdir)/xscreensaver.h
539 xscreensaver.o: $(srcdir)/prefs.h
540 xscreensaver.o: $(UTILS_SRC)/version.h
541 xscreensaver.o: $(UTILS_SRC)/yarandom.h
542 xscreensaver.o: $(UTILS_SRC)/resources.h
543 xscreensaver.o: $(UTILS_SRC)/visual.h
544 xscreensaver.o: $(UTILS_SRC)/usleep.h
545 xscreensaver.o: XScreenSaver_ad.h
546 windows.o: ../config.h
547 windows.o: $(srcdir)/xscreensaver.h
548 windows.o: $(srcdir)/prefs.h
549 windows.o: $(UTILS_SRC)/visual.h
550 windows.o: $(UTILS_SRC)/fade.h
551 timers.o: ../config.h
552 timers.o: $(srcdir)/xscreensaver.h
553 timers.o: $(srcdir)/prefs.h
554 subprocs.o: ../config.h
555 subprocs.o: $(srcdir)/xscreensaver.h
556 subprocs.o: $(srcdir)/prefs.h
557 subprocs.o: $(UTILS_SRC)/yarandom.h
558 xset.o: ../config.h
559 xset.o: $(srcdir)/xscreensaver.h
560 xset.o: $(srcdir)/prefs.h
561 splash.o: ../config.h
562 splash.o: $(srcdir)/xscreensaver.h
563 splash.o: $(srcdir)/prefs.h
564 splash.o: $(UTILS_SRC)/resources.h
565 setuid.o: ../config.h
566 setuid.o: $(srcdir)/xscreensaver.h
567 setuid.o: $(srcdir)/prefs.h
568 stderr.o: ../config.h
569 stderr.o: $(srcdir)/xscreensaver.h
570 stderr.o: $(srcdir)/prefs.h
571 stderr.o: $(UTILS_SRC)/resources.h
572 stderr.o: $(UTILS_SRC)/visual.h
573 dialogs-Xm.o: ../config.h
574 dialogs-Xm.o: $(UTILS_SRC)/visual.h
575 dialogs-Gtk.o: ../config.h
576 dialogs-Gtk.o: $(UTILS_SRC)/resources.h
577 dialogs-Xaw.o: ../config.h
578 dialogs-Xaw.o: $(UTILS_SRC)/visual.h
579 passwd-pwent.o: ../config.h
580 lock.o: ../config.h
581 lock.o: $(srcdir)/xscreensaver.h
582 lock.o: $(srcdir)/prefs.h
583 lock.o: $(UTILS_SRC)/resources.h
584 passwd.o: ../config.h
585 prefs.o: ../config.h
586 prefs.o: $(srcdir)/prefs.h
587 prefs.o: $(UTILS_SRC)/resources.h
588 demo.o: ../config.h
589 demo.o: $(UTILS_SRC)/version.h
590 demo.o: $(srcdir)/prefs.h
591 demo.o: $(UTILS_SRC)/resources.h
592 demo.o: $(UTILS_SRC)/visual.h
593 demo.o: $(srcdir)/remote.h
594 demo.o: $(UTILS_SRC)/usleep.h
595 demo.o: XScreenSaver_ad.h
596 remote.o: ../config.h
597 remote.o: $(srcdir)/remote.h
598 xscreensaver-command.o: ../config.h
599 xscreensaver-command.o: $(srcdir)/remote.h
600 xscreensaver-command.o: $(UTILS_SRC)/version.h
601 test-passwd.o: ../config.h
602 test-passwd.o: $(srcdir)/xscreensaver.h
603 test-passwd.o: $(srcdir)/prefs.h
604 test-passwd.o: $(UTILS_SRC)/resources.h
605 test-passwd.o: $(UTILS_SRC)/version.h
606 test-passwd.o: $(UTILS_SRC)/visual.h
607 test-passwd.o: XScreenSaver_ad.h
608 test-uid.o: ../config.h
609 test-xdpms.o: ../config.h
610 test-grab.o: ../config.h
611 test-apm.o: ../config.h
612