1 # driver/Makefile.in --- xscreensaver, Copyright (c) 1997 Jamie Zawinski.
2 # the `../configure' script generates `driver/Makefile' from this file.
13 exec_prefix = @exec_prefix@
16 man1dir = $(mandir)/man1
23 DEFS2 = $(DEFS) -DDEFAULT_PATH_PREFIX='"@HACKDIR@"'
27 DEPEND_FLAGS = @DEPEND_FLAGS@
28 DEPEND_DEFINES = @DEPEND_DEFINES@
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@
40 X_PRE_LIBS = @X_PRE_LIBS@
41 X_EXTRA_LIBS = @X_EXTRA_LIBS@
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.)
51 # I think (but am not totally sure) that LIBS is also really "LDFLAGS".
53 # SAVER_LIBS is the link line for "xscreensaver", and
54 # CMD_LIBS is the link line for "xscreensaver-command".
57 AD_DIR = @APPDEFAULTS@
59 UTILS_SRC = $(srcdir)/../utils
62 INCLUDES = -I. -I$(srcdir) -I$(UTILS_SRC) -I.. @INCLUDES@
64 PASSWD_LIBS = @PASSWD_LIBS@
65 MOTIF_SRCS = dialogs-Xm.c
66 MOTIF_OBJS = dialogs-Xm.o
68 ATHENA_SRCS = dialogs-Xaw.c
69 ATHENA_OBJS = dialogs-Xaw.o
74 KERBEROS_SRCS = kpasswd.c
75 KERBEROS_OBJS = kpasswd.o
80 TEST_SRCS = test-passwd.c test-uid.c test-xdpms.c
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@
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@
100 SAVER_SRCS_1 = demo.c stderr.c subprocs.c setuid.c timers.c windows.c \
101 xscreensaver.c splash.c xset.c dotfile.c
102 SAVER_OBJS_1 = demo.o stderr.o subprocs.o setuid.o timers.o windows.o \
103 xscreensaver.o splash.o xset.o dotfile.o
105 SAVER_SRCS = $(SAVER_SRCS_1) $(DIALOG_SRCS) $(LOCK_SRCS) $(UTIL_SRCS)
106 SAVER_OBJS = $(SAVER_OBJS_1) $(DIALOG_OBJS) $(LOCK_OBJS) $(UTIL_OBJS)
108 CMD_SRCS = xscreensaver-command.c
109 CMD_OBJS = xscreensaver-command.o
111 SAVER_LIBS = $(LIBS) $(X_LIBS) @SAVER_LIBS@ \
112 $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS) \
115 CMD_LIBS = $(X_LIBS) $(X_PRE_LIBS) \
116 -lX11 -lXext $(X_EXTRA_LIBS) \
119 EXES = xscreensaver xscreensaver-command
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
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)
135 install: install-program install-ad install-man
136 uninstall: uninstall-program uninstall-ad uninstall-man
139 $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
140 INSTALL_SETUID='$(INSTALL_SETUID) -s' \
143 install-program: $(EXES)
144 @if [ ! -d $(bindir) ]; then $(INSTALL_DIRS) $(bindir) ; fi
145 @inst="$(INSTALL_PROGRAM)" ; \
146 if [ @NEED_SETUID@ = yes ]; then \
148 if [ "$$me" = root ]; then \
149 inst="$(INSTALL_SETUID)" ; \
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'." ;\
159 $$e " For now, xscreensaver will be installed non-setuid, which" ;\
160 $$e " means that locking might not work." ;\
164 echo $$inst xscreensaver $(bindir)/xscreensaver ; \
165 $$inst xscreensaver $(bindir)/xscreensaver
166 $(INSTALL_PROGRAM) xscreensaver-command $(bindir)/xscreensaver-command
168 install-ad: XScreenSaver.ad
169 @if [ ! -d $(AD_DIR) ]; then $(INSTALL_DIRS) $(AD_DIR) ; fi
170 $(INSTALL_DATA) XScreenSaver.ad $(AD_DIR)/XScreenSaver
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 ; \
182 @for program in $(EXES); do \
183 echo rm -f $(bindir)/$$program ; \
184 rm -f $(bindir)/$$program ; \
188 rm -f $(AD_DIR)/XScreenSaver
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 ; \
199 -rm -f *.o a.out core $(EXES) XScreenSaver_ad.h
202 -rm -f Makefile XScreenSaver.ad TAGS *~ "#"*
204 # Adds all current dependencies to Makefile
205 depend: XScreenSaver_ad.h
206 $(DEPEND) -s '# DO NOT DELETE: updated by make depend' \
208 $(INCLUDES) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) -- \
209 $(SAVER_SRCS) $(CMD_SRCS)
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
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) | \
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' ; \
230 ) > /tmp/distdepend.$$$$ && \
231 mv Makefile.in Makefile.in.bak && \
232 mv /tmp/distdepend.$$$$ Makefile.in
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.
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... " ; \
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/" \
247 if cmp -s $$S $$T ; then \
248 echo "unchanged." ; \
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\"... " ; \
262 sed "s/^\(\.TH[^\"]*\)\"[^\"]*\"\(.*\)/\1\"$$V\"\2/" \
264 if cmp -s $$S $$T ; then \
265 echo "unchanged." ; \
275 find $(srcdir) -name '*.[chly]' -print | xargs etags -a
278 @$(MAKE) XScreenSaver_ad.h 2>&1 >&- /dev/null
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...
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
298 $(MAKE) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
300 # How we build object files in this directory.
302 $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $<
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) $<
309 # How we build the default app-defaults file into the program.
311 XScreenSaver_ad.h: XScreenSaver.ad
312 $(SHELL) $(UTILS_SRC)/ad2c XScreenSaver.ad > XScreenSaver_ad.h
314 # The executables linked in this directory.
316 xscreensaver: $(SAVER_OBJS)
317 $(CC) $(LDFLAGS) -o $@ $(SAVER_OBJS) $(SAVER_LIBS)
319 xscreensaver-command: $(CMD_OBJS)
320 $(CC) $(LDFLAGS) -o $@ $(CMD_OBJS) $(CMD_LIBS)
323 TEST_PASSWD_OBJS = test-passwd.o $(LOCK_OBJS_1) $(PWENT_OBJS) $(DIALOG_OBJS) \
324 subprocs.o setuid.o demo.o splash.o \
326 test-passwd.o: XScreenSaver_ad.h
328 test-passwd: $(TEST_PASSWD_OBJS) XScreenSaver_ad.h
329 $(CC) $(LDFLAGS) -o $@ $(TEST_PASSWD_OBJS) $(SAVER_LIBS)
332 $(CC) $(LDFLAGS) -o $@ test-uid.o
334 test-xdpms: test-xdpms.o
335 $(CC) $(LDFLAGS) -o $@ test-xdpms.o $(SAVER_LIBS)
337 ##############################################################################
339 # DO NOT DELETE: updated by make distdepend
340 # $(srcdir)/DO $(srcdir)/NOT $(srcdir)/DELETE: $(srcdir)/updated $(srcdir)/by $(srcdir)/make $(srcdir)/distdepend
343 demo.o: $(srcdir)/xscreensaver.h
344 demo.o: $(UTILS_SRC)/resources.h
345 stderr.o: ../config.h
346 stderr.o: $(srcdir)/xscreensaver.h
347 stderr.o: $(UTILS_SRC)/resources.h
348 stderr.o: $(UTILS_SRC)/visual.h
349 subprocs.o: ../config.h
350 subprocs.o: $(srcdir)/xscreensaver.h
351 subprocs.o: $(UTILS_SRC)/yarandom.h
352 setuid.o: ../config.h
353 setuid.o: $(srcdir)/xscreensaver.h
354 timers.o: ../config.h
355 timers.o: $(srcdir)/xscreensaver.h
356 windows.o: ../config.h
357 windows.o: $(srcdir)/xscreensaver.h
358 windows.o: $(UTILS_SRC)/visual.h
359 windows.o: $(UTILS_SRC)/fade.h
360 xscreensaver.o: ../config.h
361 xscreensaver.o: $(srcdir)/xscreensaver.h
362 xscreensaver.o: $(UTILS_SRC)/version.h
363 xscreensaver.o: $(UTILS_SRC)/yarandom.h
364 xscreensaver.o: $(UTILS_SRC)/resources.h
365 xscreensaver.o: $(UTILS_SRC)/visual.h
366 xscreensaver.o: XScreenSaver_ad.h
367 splash.o: ../config.h
368 splash.o: $(srcdir)/xscreensaver.h
369 splash.o: $(UTILS_SRC)/resources.h
371 xset.o: $(srcdir)/xscreensaver.h
372 dotfile.o: ../config.h
373 dotfile.o: $(srcdir)/xscreensaver.h
374 dotfile.o: $(UTILS_SRC)/resources.h
375 dialogs-Xm.o: ../config.h
376 dialogs-Xm.o: $(UTILS_SRC)/visual.h
377 dialogs-Xaw.o: ../config.h
378 dialogs-Xaw.o: $(UTILS_SRC)/visual.h
379 passwd.o: ../config.h
381 lock.o: $(srcdir)/xscreensaver.h
382 lock.o: $(UTILS_SRC)/resources.h
383 xscreensaver-command.o: ../config.h
384 xscreensaver-command.o: $(UTILS_SRC)/version.h