http://ftp.aanet.ru/pub/Linux/X11/apps/xscreensaver-2.31.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
59 UTILS_SRC       = $(srcdir)/../utils
60 UTILS_BIN       = ../utils
61
62 INCLUDES        = -I. -I$(srcdir) -I$(UTILS_SRC) -I.. @INCLUDES@
63
64 PASSWD_LIBS     = @PASSWD_LIBS@
65 MOTIF_SRCS      = dialogs-Xm.c
66 MOTIF_OBJS      = dialogs-Xm.o
67
68 ATHENA_SRCS     = dialogs-Xaw.c
69 ATHENA_OBJS     = dialogs-Xaw.o
70
71 PWENT_SRCS      = passwd.c
72 PWENT_OBJS      = passwd.o
73
74 KERBEROS_SRCS   = kpasswd.c
75 KERBEROS_OBJS   = kpasswd.o
76
77 LOCK_SRCS_1     = lock.c
78 LOCK_OBJS_1     = lock.o
79
80 TEST_SRCS       = test-passwd.c test-uid.c
81
82 DIALOG_SRCS     = @DIALOG_SRCS@
83 DIALOG_OBJS     = @DIALOG_OBJS@
84 PASSWD_SRCS     = @PASSWD_SRCS@
85 PASSWD_OBJS     = @PASSWD_OBJS@
86 LOCK_SRCS       = @LOCK_SRCS@
87 LOCK_OBJS       = @LOCK_OBJS@
88
89 UTIL_SRCS       = $(UTILS_SRC)/fade.c $(UTILS_SRC)/overlay.c \
90                   $(UTILS_SRC)/resources.c $(UTILS_SRC)/usleep.c \
91                   $(UTILS_SRC)/visual.c $(UTILS_SRC)/xroger.c \
92                   $(UTILS_SRC)/spline.c \
93                   $(UTILS_SRC)/yarandom.c @XMU_SRCS@
94 UTIL_OBJS       = $(UTILS_BIN)/fade.o $(UTILS_BIN)/overlay.o \
95                   $(UTILS_BIN)/resources.o $(UTILS_BIN)/usleep.o \
96                   $(UTILS_BIN)/visual.o $(UTILS_BIN)/xroger.o \
97                   $(UTILS_BIN)/spline.o \
98                   $(UTILS_BIN)/yarandom.o @XMU_OBJS@
99
100 SAVER_SRCS_1    = demo.c stderr.c subprocs.c setuid.c timers.c windows.c \
101                   xscreensaver.c splash.c xset.c
102 SAVER_OBJS_1    = demo.o stderr.o subprocs.o setuid.o timers.o windows.o \
103                   xscreensaver.o splash.o xset.o
104
105 SAVER_SRCS      = $(SAVER_SRCS_1) $(DIALOG_SRCS) $(LOCK_SRCS) $(UTIL_SRCS)
106 SAVER_OBJS      = $(SAVER_OBJS_1) $(DIALOG_OBJS) $(LOCK_OBJS) $(UTIL_OBJS)
107
108 CMD_SRCS        = xscreensaver-command.c
109 CMD_OBJS        = xscreensaver-command.o
110
111 SAVER_LIBS      = $(LIBS) $(X_LIBS) @SAVER_LIBS@ \
112                   $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS) \
113                   $(PASSWD_LIBS)
114
115 CMD_LIBS        = $(X_LIBS) $(X_PRE_LIBS)      \
116                   -lX11 -lXext $(X_EXTRA_LIBS) \
117                   $(LIBS)
118
119 EXES            = xscreensaver xscreensaver-command
120
121 HDRS            = XScreenSaver_ad.h xscreensaver.h
122 MEN             = xscreensaver.man xscreensaver-command.man
123 EXTRAS          = README Makefile.in XScreenSaver.ad.in dialogs.xd .gdbinit
124 VMSFILES        = compile_axp.com compile_decc.com link_axp.com link_decc.com \
125                   vms-getpwnam.c vms-pwd.h vms-hpwd.c vms-validate.c \
126                   vms_axp.opt vms_axp_12.opt vms_decc.opt vms_decc_12.opt
127
128 TARFILES        = $(EXTRAS) $(VMSFILES) $(SAVER_SRCS_1) \
129                   $(MOTIF_SRCS) $(ATHENA_SRCS) $(PWENT_SRCS) $(KERBEROS_SRCS) \
130                   $(LOCK_SRCS_1) $(CMD_SRCS) $(HDRS) $(TEST_SRCS) $(MEN)
131
132
133 all: $(EXES)
134
135 install:   install-program   install-ad   install-man
136 uninstall: uninstall-program uninstall-ad uninstall-man
137
138 install-strip:
139         $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
140                 INSTALL_SETUID='$(INSTALL_SETUID) -s' \
141                 install
142
143 install-program: $(EXES)
144         @if [ ! -d $(bindir) ]; then $(INSTALL_DIRS) $(bindir) ; fi
145         @inst="$(INSTALL_PROGRAM)" ;                                    \
146         if [ @NEED_SETUID@ = yes ]; then                                \
147            me="`whoami`" ;                                              \
148            if [ "$$me" = root ]; then                                   \
149              inst="$(INSTALL_SETUID)" ;                                 \
150            else                                                         \
151             e=echo ;                                                    \
152  $$e ""                                                                      ;\
153  $$e "  Warning: xscreensaver has been compiled with support for shadow"     ;\
154  $$e "           passwords.  If your system actually uses shadow passwords," ;\
155  $$e "           then xscreensaver must be installed as a setuid root"       ;\
156  $$e "           program in order for locking to work.  To do this, you"     ;\
157  $$e "           must run 'make install' as 'root', not as '$$me'."          ;\
158  $$e ""                                                                      ;\
159  $$e "           For now, xscreensaver will be installed non-setuid, which"  ;\
160  $$e "           means that locking might not work."                         ;\
161  $$e ""                                                                      ;\
162            fi ;                                                         \
163         fi ;                                                            \
164         echo $$inst xscreensaver $(bindir)/xscreensaver ;               \
165         $$inst xscreensaver $(bindir)/xscreensaver
166         $(INSTALL_PROGRAM) xscreensaver-command $(bindir)/xscreensaver-command
167
168 install-ad: XScreenSaver.ad
169         @if [ ! -d $(AD_DIR) ]; then $(INSTALL_DIRS) $(AD_DIR) ; fi
170         $(INSTALL_DATA) XScreenSaver.ad $(AD_DIR)/XScreenSaver
171
172 install-man: $(MEN)
173         @men="$(MEN)" ;                                                 \
174         if [ ! -d $(man1dir) ]; then $(INSTALL_DIRS) $(man1dir) ; fi ;  \
175         for man in $$men; do                                            \
176           instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ;     \
177           echo $(INSTALL_DATA) $(srcdir)/$$man $(man1dir)/$$instname ;  \
178           $(INSTALL_DATA) $(srcdir)/$$man $(man1dir)/$$instname ;       \
179         done
180
181 uninstall-program:
182         @for program in $(EXES); do                                     \
183           echo rm -f $(bindir)/$$program ;                              \
184           rm -f $(bindir)/$$program ;                                   \
185         done
186
187 uninstall-ad:
188         rm -f $(AD_DIR)/XScreenSaver
189
190 uninstall-man:
191         @men="$(MEN)" ;                                                 \
192         for man in $$men; do                                            \
193           instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ;     \
194           echo rm -f $(man1dir)/$$instname ;                            \
195           rm -f $(man1dir)/$$instname ;                                 \
196         done
197
198 clean:
199         -rm -f *.o a.out core $(EXES) XScreenSaver_ad.h
200
201 distclean: clean
202         -rm -f Makefile XScreenSaver.ad TAGS *~ "#"*
203
204 # Adds all current dependencies to Makefile
205 depend: XScreenSaver_ad.h
206         $(DEPEND) -s '# DO NOT DELETE: updated by make depend'              \
207         $(DEPEND_FLAGS) --                                                  \
208         $(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) --      \
209         $(SAVER_SRCS) $(CMD_SRCS)
210
211 # Adds some dependencies to Makefile.in -- not totally accurate, but pretty
212 # close.  This excludes dependencies on files in /usr/include, etc.  It tries
213 # to include only dependencies on files which are themselves a part of this
214 # package.
215 distdepend: update_ad_version update_man_version XScreenSaver_ad.h
216         @echo updating dependencies in `pwd`/Makefile.in... ;               \
217         $(DEPEND) -w 0 -f -                                                 \
218         -s '# DO NOT DELETE: updated by make distdepend' $(DEPEND_FLAGS) -- \
219         $(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) --      \
220         $(SAVER_SRCS_1) $(MOTIF_SRCS) $(ATHENA_SRCS) $(PWENT_SRCS)          \
221         $(LOCK_SRCS_1) $(CMD_SRCS) |                                        \
222         (                                                                   \
223           awk '/^# .*Makefile.in ---/,/^# DO .*distdepend/' < Makefile.in ; \
224           sed -e 's@ \./@ @g;s@ /[^ ]*@@g;/^.*:$$/d'                        \
225               -e 's@\.\./utils@$$(UTILS_SRC)@g'                             \
226               -e 's@ \([^$$]\)@ $$(srcdir)/\1@g'                            \
227               -e 's@$$.*\(XScreenSaver_ad\)@\1@g'                           \
228               -e 's@ $$(srcdir)/\(.*config\.h\)@ \1@g' ;                    \
229           echo ''                                                           \
230         ) > /tmp/distdepend.$$$$ &&                                         \
231         mv Makefile.in Makefile.in.bak &&                                   \
232         mv /tmp/distdepend.$$$$ Makefile.in
233
234 # Updates the version number in the app-defaults file to be in sync with 
235 # the version number in version.h.  This is so people can tell when they
236 # have a version skew between the app-defaults file and the executable.
237 update_ad_version::
238         @S=XScreenSaver.ad.in ;                                             \
239         U=$(UTILS_SRC)/version.h ;                                          \
240         V=`sed -n 's/.*\([0-9][0-9]*\.[0-9]*\).*/\1/p' < $$U` ;             \
241         D=`date '+%d-%b-%y'` ;                                              \
242         echo -n "Updating version number in $$S to $$V $$D... " ;           \
243         T=/tmp/xs.$$$$ ;                                                    \
244         sed -e "s/\(.*version \)[0-9][0-9]*\.[0-9]*\(.*\)/\1$$V\2/"         \
245             -e "s/\([0-9][0-9]-[A-Z][a-z][a-z]-[0-9][0-9]\)/$$D/"           \
246           < $$S > $$T ;                                                     \
247         if cmp -s $$S $$T ; then                                            \
248           echo "unchanged." ;                                               \
249         else                                                                \
250           cat $$T > $$S ;                                                   \
251           echo "done." ;                                                    \
252         fi ;                                                                \
253         rm $$T
254
255 update_man_version::
256         @for S in $(MEN); do                                                \
257         U=$(UTILS_SRC)/version.h ;                                          \
258         V=`sed -n 's/.*\([0-9][0-9]*\.[0-9]*\).*/\1/p' < $$U` ;             \
259         V="`date '+%d-%b-%y'` ($$V)" ;                                      \
260         echo -n "Updating footer in $$S to \"$$V\"... " ;                   \
261         T=/tmp/xs.$$$$ ;                                                    \
262         sed "s/^\(\.TH[^\"]*\)\"[^\"]*\"\(.*\)/\1\"$$V\"\2/"                \
263           < $$S > $$T ;                                                     \
264         if cmp -s $$S $$T ; then                                            \
265           echo "unchanged." ;                                               \
266         else                                                                \
267           cat $$T > $$S ;                                                   \
268           echo "done." ;                                                    \
269         fi ;                                                                \
270         rm $$T ;                                                            \
271         done
272
273 TAGS: tags
274 tags:
275         find $(srcdir) -name '*.[chly]' -print | xargs etags -a
276
277 echo_tarfiles:
278         @$(MAKE) XScreenSaver_ad.h 2>&1 >&- /dev/null
279         @echo $(TARFILES)
280
281
282 # Rules for noticing when the objects from the utils directory are out of
283 # date with respect to their sources, and going and building them according
284 # to the rules in their own Makefile...
285 #
286 $(UTILS_BIN)/fade.o:            $(UTILS_SRC)/fade.c
287 $(UTILS_BIN)/overlay.o:         $(UTILS_SRC)/overlay.c
288 $(UTILS_BIN)/resources.o:       $(UTILS_SRC)/resources.c
289 $(UTILS_BIN)/usleep.o:          $(UTILS_SRC)/usleep.c
290 $(UTILS_BIN)/visual.o:          $(UTILS_SRC)/visual.c
291 $(UTILS_BIN)/xmu.o:             $(UTILS_SRC)/xmu.c
292 $(UTILS_BIN)/xroger.o:          $(UTILS_SRC)/xroger.c
293 $(UTILS_BIN)/spline.o:          $(UTILS_SRC)/spline.c
294 $(UTILS_BIN)/yarandom.o:        $(UTILS_SRC)/yarandom.c
295
296 $(UTIL_OBJS):
297         cd $(UTILS_BIN) ; \
298         $(MAKE) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
299
300 # How we build object files in this directory.
301 .c.o:
302         $(CC) -c $(INCLUDES) $(DEFS)  $(CFLAGS) $(X_CFLAGS) $<
303
304 # subprocs is the only one that takes an extra -D option.
305 subprocs.o: subprocs.c
306         $(CC) -c $(INCLUDES) $(DEFS2) $(CFLAGS) $(X_CFLAGS) $<
307
308
309 # How we build the default app-defaults file into the program.
310 #
311 XScreenSaver_ad.h: XScreenSaver.ad
312         $(SHELL) $(UTILS_SRC)/ad2c XScreenSaver.ad > XScreenSaver_ad.h
313
314 # The executables linked in this directory.
315 #
316 xscreensaver: $(SAVER_OBJS)
317         $(CC) $(LDFLAGS) -o $@ $(SAVER_OBJS) $(SAVER_LIBS)
318
319 xscreensaver-command: $(CMD_OBJS)
320         $(CC) $(LDFLAGS) -o $@ $(CMD_OBJS) $(CMD_LIBS)
321
322
323 TEST_PASSWD_OBJS = test-passwd.o $(LOCK_OBJS_1) $(PWENT_OBJS) $(DIALOG_OBJS) \
324          subprocs.o setuid.o demo.o \
325         $(UTIL_OBJS)
326
327 test-passwd: $(TEST_PASSWD_OBJS)
328         $(CC) $(LDFLAGS) -o $@ $(TEST_PASSWD_OBJS) $(SAVER_LIBS)
329
330 ##############################################################################
331 #
332 # DO NOT DELETE: updated by make distdepend
333 # $(srcdir)/DO $(srcdir)/NOT $(srcdir)/DELETE: $(srcdir)/updated $(srcdir)/by $(srcdir)/make $(srcdir)/distdepend
334
335 demo.o: ../config.h
336 demo.o: $(srcdir)/xscreensaver.h
337 demo.o: $(UTILS_SRC)/resources.h
338 stderr.o: ../config.h
339 stderr.o: $(srcdir)/xscreensaver.h
340 stderr.o: $(UTILS_SRC)/resources.h
341 stderr.o: $(UTILS_SRC)/visual.h
342 subprocs.o: ../config.h
343 subprocs.o: $(srcdir)/xscreensaver.h
344 subprocs.o: $(UTILS_SRC)/yarandom.h
345 setuid.o: ../config.h
346 setuid.o: $(srcdir)/xscreensaver.h
347 timers.o: ../config.h
348 timers.o: $(srcdir)/xscreensaver.h
349 windows.o: ../config.h
350 windows.o: $(srcdir)/xscreensaver.h
351 windows.o: $(UTILS_SRC)/visual.h
352 windows.o: $(UTILS_SRC)/fade.h
353 xscreensaver.o: ../config.h
354 xscreensaver.o: $(srcdir)/xscreensaver.h
355 xscreensaver.o: $(UTILS_SRC)/version.h
356 xscreensaver.o: $(UTILS_SRC)/yarandom.h
357 xscreensaver.o: $(UTILS_SRC)/resources.h
358 xscreensaver.o: $(UTILS_SRC)/visual.h
359 xscreensaver.o: XScreenSaver_ad.h
360 splash.o: ../config.h
361 splash.o: $(srcdir)/xscreensaver.h
362 splash.o: $(UTILS_SRC)/visual.h
363 xset.o: ../config.h
364 xset.o: $(srcdir)/xscreensaver.h
365 dialogs-Xm.o: ../config.h
366 dialogs-Xm.o: $(UTILS_SRC)/visual.h
367 dialogs-Xaw.o: ../config.h
368 dialogs-Xaw.o: $(UTILS_SRC)/visual.h
369 passwd.o: ../config.h
370 lock.o: ../config.h
371 lock.o: $(srcdir)/xscreensaver.h
372 lock.o: $(UTILS_SRC)/resources.h
373 xscreensaver-command.o: ../config.h
374 xscreensaver-command.o: $(UTILS_SRC)/version.h
375