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