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