1 # driver/Makefile.in --- xscreensaver, Copyright (c) 1997-2010 Jamie Zawinski.
2 # the `../configure' script generates `driver/Makefile' from this file.
10 top_srcdir = @top_srcdir@
15 exec_prefix = @exec_prefix@
17 datarootdir = @datarootdir@
19 localedir = @PO_DATADIR@/locale
21 libexecdir = @libexecdir@
23 manNdir = $(mandir)/man$(mansuffix)
25 INTLTOOL_MERGE = @INTLTOOL_MERGE@
27 GTK_DATADIR = @GTK_DATADIR@
28 GTK_APPDIR = $(GTK_DATADIR)/applications
29 GTK_ICONDIR = $(GTK_DATADIR)/pixmaps
30 GTK_GLADEDIR = $(GTK_DATADIR)/xscreensaver/glade
31 HACK_CONF_DIR = @HACK_CONF_DIR@
38 INTL_DEFS = -DLOCALEDIR=\"$(localedir)\"
39 SUBP_DEFS = $(DEFS) -DDEFAULT_PATH_PREFIX='"@HACKDIR@"'
40 GTK_DEFS = $(DEFS) -DDEFAULT_ICONDIR='"$(GTK_GLADEDIR)"'
41 CONF_DEFS = -DHACK_CONFIGURATION_PATH='"$(HACK_CONF_DIR)"'
44 INTL_LIBS = @INTLLIBS@
45 JPEG_LIBS = @JPEG_LIBS@
49 DEPEND_FLAGS = @DEPEND_FLAGS@
50 DEPEND_DEFINES = @DEPEND_DEFINES@
54 SUID_FLAGS = -o root -m 4755
55 INSTALL_PROGRAM = @INSTALL_PROGRAM@
56 INSTALL_SCRIPT = @INSTALL_SCRIPT@
57 INSTALL_SETUID = @INSTALL_SETUID@
58 INSTALL_DATA = @INSTALL_DATA@
59 INSTALL_DIRS = @INSTALL_DIRS@
63 X_PRE_LIBS = @X_PRE_LIBS@
64 X_EXTRA_LIBS = @X_EXTRA_LIBS@
70 # X_LIBS would more properly be called X_LDFLAGS (it contains the -L args.)
71 # X_PRE_LIBS contains extra libraries you have to link against on some systems,
72 # and that must come before -lX11. (e.g., -lSM and -lICE.)
73 # X_EXTRA_LIBS contains extra libraries needed by X that aren't a part of X.
74 # (e.g., -lsocket, -lnsl, etc.)
76 # I think (but am not totally sure) that LIBS is also really "LDFLAGS".
78 # SAVER_LIBS is the link line for "xscreensaver", and
79 # CMD_LIBS is the link line for "xscreensaver-command".
80 # GETIMG_LIBS is the link line for "xscreensaver-getimage".
83 AD_DIR = @APPDEFAULTS@
85 PAM_CONF = /etc/pam.conf
87 UTILS_SRC = $(srcdir)/../utils
90 INCLUDES_1 = -I. -I$(srcdir) -I$(UTILS_SRC) -I..
91 INCLUDES = $(INCLUDES_1) @INCLUDES@
93 MOTIF_SRCS = demo-Xm.c demo-Xm-widgets.c
94 MOTIF_OBJS = demo-Xm.o demo-Xm-widgets.o
96 GTK_SRCS = demo-Gtk.c demo-Gtk-conf.c
97 GTK_OBJS = demo-Gtk.o demo-Gtk-conf.o @GTK_EXTRA_OBJS@
99 PWENT_SRCS = passwd-pwent.c
100 PWENT_OBJS = passwd-pwent.o
102 KERBEROS_SRCS = passwd-kerberos.c
103 KERBEROS_OBJS = passwd-kerberos.o
105 PAM_SRCS = passwd-pam.c
106 PAM_OBJS = passwd-pam.o
108 PWHELPER_SRCS = passwd-helper.c
109 PWHELPER_OBJS = passwd-helper.o
111 LOCK_SRCS_1 = lock.c passwd.c
112 LOCK_OBJS_1 = lock.o passwd.o
113 NOLOCK_SRCS_1 = lock.c
114 NOLOCK_OBJS_1 = lock.o
116 TEST_SRCS = test-passwd.c test-uid.c test-xdpms.c test-grab.c \
117 test-apm.c test-fade.c test-xinerama.c test-vp.c \
118 test-randr.c xdpyinfo.c test-mlstring.c test-screens.c
119 TEST_EXES = test-passwd test-uid test-xdpms test-grab \
120 test-apm test-fade test-xinerama test-vp \
121 test-randr xdpyinfo test-mlstring test-screens
123 MOTIF_LIBS = @MOTIF_LIBS@ @XPM_LIBS@ $(XMU_LIBS)
124 GTK_LIBS = @GTK_LIBS@ $(XMU_LIBS)
125 XML_LIBS = @XML_LIBS@
127 XDPMS_LIBS = @XDPMS_LIBS@
128 XINERAMA_LIBS = @XINERAMA_LIBS@
129 XINPUT_LIBS = @XINPUT_LIBS@
131 PASSWD_SRCS = @PASSWD_SRCS@
132 PASSWD_OBJS = @PASSWD_OBJS@
133 PASSWD_LIBS = @PASSWD_LIBS@
135 LOCK_SRCS = @LOCK_SRCS@
136 LOCK_OBJS = @LOCK_OBJS@
138 XMU_SRCS = @XMU_SRCS@
139 XMU_OBJS = @XMU_OBJS@
141 GL_SRCS = @SAVER_GL_SRCS@
142 GL_OBJS = @SAVER_GL_OBJS@
143 GL_LIBS = @SAVER_GL_LIBS@
145 ICON_SRC = $(UTILS_SRC)/images
146 LOGO = $(ICON_SRC)/logo-50.xpm
147 GTK_ICONS = $(ICON_SRC)/screensaver-*.png
149 DEMO_UTIL_SRCS = $(UTILS_SRC)/resources.c $(UTILS_SRC)/usleep.c \
150 $(UTILS_SRC)/visual.c $(XMU_SRCS)
151 DEMO_UTIL_OBJS = $(UTILS_BIN)/resources.o $(UTILS_BIN)/usleep.o \
152 $(UTILS_BIN)/visual.o $(XMU_OBJS)
154 SAVER_UTIL_SRCS = $(UTILS_SRC)/fade.c $(UTILS_SRC)/overlay.c \
155 $(UTILS_SRC)/logo.c $(UTILS_SRC)/yarandom.c \
156 $(UTILS_SRC)/minixpm.c \
158 SAVER_UTIL_OBJS = $(UTILS_BIN)/fade.o $(UTILS_BIN)/overlay.o \
159 $(UTILS_BIN)/logo.o $(UTILS_BIN)/yarandom.o \
160 $(UTILS_BIN)/minixpm.o \
163 GETIMG_SRCS_1 = xscreensaver-getimage.c
164 GETIMG_OBJS_1 = xscreensaver-getimage.o
166 GETIMG_SRCS = $(GETIMG_SRCS_1) \
167 $(UTILS_BIN)/colorbars.o $(UTILS_BIN)/resources.o \
168 $(UTILS_BIN)/yarandom.o $(UTILS_BIN)/visual.o \
169 $(UTILS_BIN)/usleep.o $(UTILS_BIN)/hsv.o \
170 $(UTILS_BIN)/colors.o $(UTILS_BIN)/grabscreen.o \
171 $(UTILS_BIN)/logo.o $(UTILS_BIN)/minixpm.o prefs.o \
174 GETIMG_OBJS = $(GETIMG_OBJS_1) \
175 $(UTILS_BIN)/colorbars.o $(UTILS_BIN)/resources.o \
176 $(UTILS_BIN)/yarandom.o $(UTILS_BIN)/visual.o \
177 $(UTILS_BIN)/usleep.o $(UTILS_BIN)/hsv.o \
178 $(UTILS_BIN)/colors.o $(UTILS_BIN)/grabscreen.o \
179 $(UTILS_BIN)/logo.o $(UTILS_BIN)/minixpm.o prefs.o \
182 SAVER_SRCS_1 = xscreensaver.c windows.c screens.c timers.c subprocs.c \
183 exec.c xset.c splash.c setuid.c stderr.c mlstring.c
184 SAVER_OBJS_1 = xscreensaver.o windows.o screens.o timers.o subprocs.o \
185 exec.o xset.o splash.o setuid.o stderr.o mlstring.o
187 SAVER_SRCS = $(SAVER_SRCS_1) prefs.c dpms.c $(LOCK_SRCS) \
188 $(SAVER_UTIL_SRCS) $(GL_SRCS)
189 SAVER_OBJS = $(SAVER_OBJS_1) prefs.o dpms.o $(LOCK_OBJS) \
190 $(SAVER_UTIL_OBJS) $(GL_OBJS)
192 CMD_SRCS = remote.c xscreensaver-command.c
193 CMD_OBJS = remote.o xscreensaver-command.o
195 DEMO_SRCS_1 = prefs.c dpms.c
196 DEMO_OBJS_1 = prefs.o dpms.o
198 DEMO_SRCS = $(DEMO_SRCS_1) remote.c exec.c $(DEMO_UTIL_SRCS)
199 DEMO_OBJS = $(DEMO_OBJS_1) remote.o exec.o $(DEMO_UTIL_OBJS)
201 PDF2JPEG_SRCS = pdf2jpeg.m
202 PDF2JPEG_OBJS = pdf2jpeg.o
203 PDF2JPEG_LIBS = -framework Cocoa
205 SAVER_LIBS = $(LIBS) $(X_LIBS) $(XMU_LIBS) @SAVER_LIBS@ \
206 $(XDPMS_LIBS) $(XINERAMA_LIBS) $(GL_LIBS) $(X_PRE_LIBS) \
207 -lXt -lX11 -lXext $(X_EXTRA_LIBS) \
208 $(PASSWD_LIBS) $(INTL_LIBS)
210 CMD_LIBS = $(LIBS) $(X_LIBS) \
211 $(X_PRE_LIBS) -lX11 -lXext $(X_EXTRA_LIBS)
213 GETIMG_LIBS = $(LIBS) $(X_LIBS) $(XPM_LIBS) $(JPEG_LIBS) \
214 $(X_PRE_LIBS) -lXt -lX11 $(XMU_LIBS) -lXext $(X_EXTRA_LIBS)
216 EXES = xscreensaver xscreensaver-command xscreensaver-demo \
217 xscreensaver-getimage @EXES_OSX@
218 EXES2 = @ALL_DEMO_PROGRAMS@
221 SCRIPTS_1 = xscreensaver-getimage-file xscreensaver-getimage-video \
223 SCRIPTS_OSX = xscreensaver-getimage-desktop
224 SCRIPTS = $(SCRIPTS_1) @SCRIPTS_OSX@
226 HDRS = XScreenSaver_ad.h XScreenSaver_Xm_ad.h \
227 xscreensaver.h prefs.h remote.h exec.h \
228 demo-Gtk-conf.h auth.h mlstring.h types.h
229 MEN_1 = xscreensaver.man xscreensaver-demo.man \
230 xscreensaver-command.man \
231 xscreensaver-text.man \
232 xscreensaver-getimage.man \
233 xscreensaver-getimage-file.man \
234 xscreensaver-getimage-video.man
235 MEN_OSX = xscreensaver-getimage-desktop.man pdf2jpeg.man
236 MEN = $(MEN_1) @MEN_OSX@
238 EXTRAS = README Makefile.in \
239 XScreenSaver.ad.in XScreenSaver-Xm.ad xscreensaver.pam.in \
240 xscreensaver-demo.glade2.in xscreensaver-demo.glade2p \
241 screensaver-properties.desktop.in \
243 VMSFILES = compile_axp.com compile_decc.com link_axp.com link_decc.com \
244 vms-getpwnam.c vms-pwd.h vms-hpwd.c vms-validate.c \
245 vms_axp.opt vms_axp_12.opt vms_decc.opt vms_decc_12.opt
247 TARFILES = $(EXTRAS) $(VMSFILES) $(SAVER_SRCS_1) \
248 $(MOTIF_SRCS) $(GTK_SRCS) $(PWENT_SRCS) $(PWHELPER_SRCS) \
249 $(KERBEROS_SRCS) $(PAM_SRCS) $(LOCK_SRCS_1) $(DEMO_SRCS_1) \
250 $(CMD_SRCS) $(GETIMG_SRCS_1) $(PDF2JPEG_SRCS) $(HDRS) \
251 $(SCRIPTS_1) $(SCRIPTS_OSX) $(MEN_1) $(MEN_OSX) \
256 all: $(EXES) $(EXES2)
259 install: install-program install-ad install-scripts \
260 install-gnome install-man install-xml install-pam
261 uninstall: uninstall-program uninstall-ad \
262 uninstall-gnome uninstall-man uninstall-xml
265 $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' \
268 install-program: $(EXES)
269 @if [ ! -d $(install_prefix)$(bindir) ]; then \
270 $(INSTALL_DIRS) $(install_prefix)$(bindir) ; \
272 @inst="$(INSTALL_PROGRAM)" ; \
273 if [ @NEED_SETUID@ = yes ]; then \
274 me=`PATH="$$PATH:/usr/ucb" whoami` ; \
275 if [ "$$me" = root ]; then \
276 inst="$(INSTALL_SETUID)" ; \
280 $$e " ####################################################################";\
281 $$e " Warning: xscreensaver has been compiled with support for shadow" ;\
282 $$e " passwords. If your system actually uses shadow passwords," ;\
283 $$e " then xscreensaver must be installed as a setuid root" ;\
284 $$e " program in order for locking to work. To do this, you" ;\
285 $$e " must run 'make install' as 'root', not as '$$me'." ;\
287 $$e " For now, xscreensaver will be installed non-setuid, which" ;\
288 $$e " means that locking might not work. (Try it and see.)" ;\
289 $$e " ####################################################################";\
293 echo $$inst xscreensaver $(install_prefix)$(bindir)/xscreensaver ; \
294 $$inst xscreensaver $(install_prefix)$(bindir)/xscreensaver
295 @for exe in xscreensaver-command xscreensaver-demo \
296 xscreensaver-getimage @EXES_OSX@ ; do \
297 echo $(INSTALL_PROGRAM) $$exe $(install_prefix)$(bindir)/$$exe ; \
298 $(INSTALL_PROGRAM) $$exe $(install_prefix)$(bindir)/$$exe ; \
301 install-ad: XScreenSaver.ad
302 @if [ ! -d $(install_prefix)$(AD_DIR) ]; then \
303 $(INSTALL_DIRS) $(install_prefix)$(AD_DIR) ; \
305 @-echo $(INSTALL_DATA) XScreenSaver.ad \
306 $(install_prefix)$(AD_DIR)/XScreenSaver ; \
307 if $(INSTALL_DATA) XScreenSaver.ad \
308 $(install_prefix)$(AD_DIR)/XScreenSaver ; then \
312 if [ -f $(install_prefix)$(AD_DIR)/XScreenSaver ]; then \
314 $$e " ####################################################################";\
315 $$e " Warning: unable to install $(install_prefix)$(AD_DIR)/XScreenSaver" ;\
316 $$e " That file exists, and is unwritable. It is probably from" ;\
317 $$e " an older version of xscreensaver, and could cause things" ;\
318 $$e " to malfunction. Please delete it!" ;\
319 $$e " ####################################################################";\
324 $$e " ####################################################################";\
325 $$e " Warning: unable to install $(install_prefix)$(AD_DIR)/XScreenSaver" ;\
326 $$e " The directory is unwritable. This is probably ok;" ;\
327 $$e " xscreensaver should work without that file." ;\
328 $$e " ####################################################################";\
334 install-scripts: $(SCRIPTS) munge-scripts
335 @for program in $(SCRIPTS); do \
336 if [ -r $$program ] ; then \
339 p=$(srcdir)/$$program ; \
341 echo $(INSTALL_SCRIPT) $$p \
342 $(install_prefix)$(bindir)/$$program ; \
343 $(INSTALL_SCRIPT) $$p \
344 $(install_prefix)$(bindir)/$$program ; \
347 munge-scripts: $(SCRIPTS)
348 @tmp=/tmp/mf.$$$$ ; \
351 for program in $(SCRIPTS); do \
352 sed "s@^\(#!\)\(/[^ ]*/perl[^ ]*\)\(.*\)\$$@\1$$perl\3@" \
353 < $(srcdir)/$$program > $$tmp ; \
354 if cmp -s $(srcdir)/$$program $$tmp ; then \
357 echo "$$program: setting interpreter to $$perl" >&2 ; \
358 cat $$tmp > ./$$program ; \
363 # When installing man pages, we install "foo.man" as "foo.N" and update
364 # the .TH line in the installed file with one like
366 # .TH XScreenSaver N "V.VV (DD-MMM-YYYY)" "X Version 11"
368 # where N is the manual section suffix.
372 U=$(UTILS_SRC)/version.h ; \
373 V=`sed -n 's/.*xscreensaver \([0-9]\.[^)]*)\).*/\1/p' < $$U` ; \
374 T=/tmp/xs$$$$.$(mansuffix) ; \
375 TH=".TH XScreenSaver $(mansuffix) \"$$V\" \"X Version 11\"" ; \
376 echo "installing man pages: $$TH" ; \
378 if [ ! -d $(install_prefix)$(manNdir) ]; then \
379 $(INSTALL_DIRS) $(install_prefix)$(manNdir) ; \
382 for man in $$men; do \
383 instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
384 manbase=`echo $$man | sed 's/\.man$$//'` ; \
385 TH=".TH $$manbase $(mansuffix) \"$$V\" \"X Version 11\" \"XScreenSaver manual\"" ; \
386 sed -e "s/^\.TH.*/$$TH/" \
387 -e 's/^\(\.BR xscr.*(\)[^()]\(.*\)/\1$(mansuffix)\2/' \
388 -e 's@(MANSUFFIX)@($(mansuffix))@g' \
389 < $(srcdir)/$$man > $$T ; \
390 echo $(INSTALL_DATA) $(srcdir)/$$man \
391 $(install_prefix)$(manNdir)/$$instname ; \
392 $(INSTALL_DATA) $$T \
393 $(install_prefix)$(manNdir)/$$instname ; \
398 @for program in $(EXES) $(SCRIPTS); do \
399 echo rm -f $(install_prefix)$(bindir)/$$program ; \
400 rm -f $(install_prefix)$(bindir)/$$program ; \
404 rm -f $(install_prefix)$(AD_DIR)/XScreenSaver
408 for man in $$men; do \
409 instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
410 echo rm -f $(install_prefix)$(manNdir)/$$instname* ; \
411 rm -f $(install_prefix)$(manNdir)/$$instname* ; \
414 install-pam: xscreensaver.pam
415 @src="xscreensaver.pam" ; \
416 dest=`sed -n 's/.*PAM_SERVICE_NAME[ ]*"\([^"]*\)".*$$/\1/p' \
418 dir="$(install_prefix)$(PAM_DIR)" ; \
419 conf="$(PAM_CONF)" ; \
421 if [ -d $$dir ] ; then \
423 if [ -f $$dir/xdm ]; then \
425 elif [ -f $$dir/login ]; then \
429 if [ -z "$$src2" ]; then \
430 echo $(INSTALL_DATA) $$src $$dir/$$dest ; \
431 $(INSTALL_DATA) $$src $$dir/$$dest ; \
433 src="xscreensaver.pam.$$$$" ; \
434 echo "grep '^#%\|^auth\|^@include' $$src2 > $$src" ; \
435 grep '^#%\|^auth\|^@include' $$src2 > $$src ; \
436 echo $(INSTALL_DATA) $$src $$dir/$$dest ; \
437 $(INSTALL_DATA) $$src $$dir/$$dest ; \
442 if [ ! -f $$dir/$$dest ]; then \
445 $$e " ####################################################################";\
446 $$e " Warning: xscreensaver has been compiled with support for Pluggable" ;\
447 $$e " Authentication Modules (PAM). However, we were unable to" ;\
448 $$e " install the file $$dir/$$dest. PAM is unlikely" ;\
449 $$e " to work without this file (and old-style password" ;\
450 $$e " authentication will be used instead, which may or may not" ;\
452 $$e " ####################################################################";\
455 elif [ -f $$conf -a "x$$dest" != "x" ]; then \
456 if ( grep $$dest $$conf >/dev/null ); then \
457 echo "$$conf unchanged: already has an entry for $$dest" ; \
459 src="pam.conf.$$$$" ; \
460 echo "grep -v $$dest $$conf > $$src" ; \
461 grep -v $$dest $$conf > $$src ; \
462 extras=`sed -n "s/^login\(.*auth.*\)$$/$$dest\1/p" $$conf`; \
463 echo "$$extras" >> $$src ; \
464 if [ "x$$extras" = "x" ]; then \
465 echo "Error: no login rules in $$conf?" >&2 ; \
467 echo "adding $$dest rules to $$src:" ; \
468 echo "$$extras" | sed 's/^/ /' ; \
470 echo $(INSTALL_DATA) $$src $$conf ; \
471 $(INSTALL_DATA) $$src $$conf ; \
475 if ( grep $$dest $$conf >/dev/null ); then \
480 $$e " ####################################################################";\
481 $$e " Warning: xscreensaver has been compiled with support for Pluggable" ;\
482 $$e " Authentication Modules (PAM). However, we were unable to" ;\
483 $$e " install xscreensaver rules in the file $$conf." ;\
484 $$e " PAM is unlikely to work without this (and old-style" ;\
485 $$e " password authentication will be used instead, which may" ;\
486 $$e " or may not work.)" ;\
487 $$e " ####################################################################";\
492 # screensaver-properties.desktop
493 # into /usr/share/applications/
494 install-gnome:: screensaver-properties.desktop
495 @if [ "$(GTK_DATADIR)" != "" ]; then \
496 if [ ! -d "$(install_prefix)$(GTK_APPDIR)" ]; then \
497 echo $(INSTALL_DIRS) "$(install_prefix)$(GTK_APPDIR)" ;\
498 $(INSTALL_DIRS) "$(install_prefix)$(GTK_APPDIR)" ;\
500 name2=xscreensaver-properties.desktop ;\
501 echo $(INSTALL_DATA) screensaver-properties.desktop \
502 $(install_prefix)$(GTK_APPDIR)/$$name2 ;\
503 $(INSTALL_DATA) screensaver-properties.desktop \
504 $(install_prefix)$(GTK_APPDIR)/$$name2 ;\
509 # into /usr/share/pixmaps/
510 install-gnome:: $(LOGO)
511 @if [ "$(GTK_DATADIR)" != "" ]; then \
512 if [ ! -d "$(install_prefix)$(GTK_ICONDIR)" ]; then \
513 echo $(INSTALL_DIRS) "$(install_prefix)$(GTK_ICONDIR)" ;\
514 $(INSTALL_DIRS) "$(install_prefix)$(GTK_ICONDIR)" ;\
516 target=xscreensaver.xpm ;\
517 echo $(INSTALL_DATA) $(LOGO) \
518 $(install_prefix)$(GTK_ICONDIR)/$$target ;\
519 $(INSTALL_DATA) $(LOGO) \
520 $(install_prefix)$(GTK_ICONDIR)/$$target ;\
523 # ../utils/images/screensaver-*.png
524 # into /usr/share/xscreensaver/glade/
526 @if [ "$(GTK_DATADIR)" != "" ]; then \
527 if [ ! -d "$(install_prefix)$(GTK_GLADEDIR)" ]; then \
528 echo $(INSTALL_DIRS) "$(install_prefix)$(GTK_GLADEDIR)" ;\
529 $(INSTALL_DIRS) "$(install_prefix)$(GTK_GLADEDIR)" ;\
531 for target in $(GTK_ICONS) ; do \
532 dest=`echo $$target | sed 's@^.*/@@'` ;\
533 echo $(INSTALL_DATA) $$target \
534 $(install_prefix)$(GTK_GLADEDIR)/$$dest ;\
535 $(INSTALL_DATA) $$target \
536 $(install_prefix)$(GTK_GLADEDIR)/$$dest ;\
540 # xscreensaver-demo.glade2
541 # into /usr/share/xscreensaver/glade/
542 install-gnome:: xscreensaver-demo.glade2
543 @if [ "$(GTK_DATADIR)" != "" ]; then \
544 if [ ! -d "$(install_prefix)$(GTK_GLADEDIR)" ]; then \
545 echo $(INSTALL_DIRS) "$(install_prefix)$(GTK_GLADEDIR)" ;\
546 $(INSTALL_DIRS) "$(install_prefix)$(GTK_GLADEDIR)" ;\
548 target=xscreensaver-demo.glade2 ;\
549 echo $(INSTALL_DATA) $$target \
550 $(install_prefix)$(GTK_GLADEDIR)/$$target ;\
551 if $(INSTALL_DATA) $$target \
552 $(install_prefix)$(GTK_GLADEDIR)/$$target ;\
557 $$e " ####################################################################";\
558 $$e " Warning: unable to install $$target into" ;\
559 $$e " $(install_prefix)$(GTK_GLADEDIR)/." ;\
560 $$e " Without this file, xscreensaver-demo will not" ;\
561 $$e " be able to run properly." ;\
562 $$e " ####################################################################";\
569 # screensaver-properties.desktop
570 # into /usr/share/applications/
572 @if [ "$(GTK_DATADIR)" != "" ]; then \
573 f=xscreensaver-properties.desktop ;\
574 echo rm -f $(install_prefix)$(GTK_APPDIR)/$$f ;\
575 rm -f $(install_prefix)$(GTK_APPDIR)/$$f ;\
579 # into /usr/share/pixmaps/
581 @if [ "$(GTK_ICONDIR)" != "" ]; then \
582 target=xscreensaver.xpm ;\
583 echo rm -f $(install_prefix)$(GTK_ICONDIR)/$$target ;\
584 rm -f $(install_prefix)$(GTK_ICONDIR)/$$target ;\
587 # ../utils/images/screensaver-*.png
588 # into /usr/share/xscreensaver/glade/
590 @if [ "$(GTK_DATADIR)" != "" ]; then \
591 for target in $(GTK_ICONS) ; do \
592 dest=`echo $$target | sed 's@^.*/@@'` ;\
593 echo rm -f $(install_prefix)$(GTK_GLADEDIR)/$$dest ;\
594 rm -f $(install_prefix)$(GTK_GLADEDIR)/$$dest ;\
598 # xscreensaver-demo.glade2
599 # into /usr/share/xscreensaver/glade/
600 uninstall-gnome:: xscreensaver-demo.glade2
601 @if [ "$(GTK_DATADIR)" != "" ]; then \
602 target=xscreensaver-demo.glade2 ;\
603 echo rm -f $(install_prefix)$(GTK_GLADEDIR)/$$target ;\
604 rm -f $(install_prefix)$(GTK_GLADEDIR)/$$target ;\
607 # /usr/share/xscreensaver/config/README
609 @dest=$(install_prefix)$(HACK_CONF_DIR) ; \
610 if [ ! -d $$dest ]; then \
611 $(INSTALL_DIRS) $$dest ; \
613 src=$(srcdir)/../hacks/config ; \
614 echo $(INSTALL_DATA) $$src/README $$dest/README ; \
615 $(INSTALL_DATA) $$src/README $$dest/README
618 # /usr/share/xscreensaver/config/README
620 rm -f $(install_prefix)$(HACK_CONF_DIR)/README
623 -rm -f *.o a.out core $(EXES) $(EXES2) $(TEST_EXES) \
624 XScreenSaver_ad.h XScreenSaver_Xm_ad.h
627 -rm -f Makefile XScreenSaver.ad \
628 TAGS *~ "#"* screensaver-properties.desktop
630 # Adds all current dependencies to Makefile
631 depend: XScreenSaver_ad.h XScreenSaver_Xm_ad.h
632 $(DEPEND) -s '# DO NOT DELETE: updated by make depend' \
634 $(INCLUDES_1) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) -- \
635 $(SAVER_SRCS) $(CMD_SRCS) $(GETIMG_SRCS_1)
637 # Adds some dependencies to Makefile.in -- not totally accurate, but pretty
638 # close. This excludes dependencies on files in /usr/include, etc. It tries
639 # to include only dependencies on files which are themselves a part of this
641 distdepend: check_men update_ad_version XScreenSaver_ad.h XScreenSaver_Xm_ad.h
642 @echo updating dependencies in `pwd`/Makefile.in... ; \
643 $(DEPEND) -w 0 -f - \
644 -s '# DO NOT DELETE: updated by make distdepend' $(DEPEND_FLAGS) -- \
645 $(INCLUDES_1) $(DEFS) $(DEPEND_DEFINES) $(CFLAGS) $(X_CFLAGS) -- \
646 $(SAVER_SRCS_1) $(MOTIF_SRCS) $(GTK_SRCS) $(GETIMG_SRCS_1) \
647 $(PWENT_SRCS) $(LOCK_SRCS_1) $(DEMO_SRCS_1) $(CMD_SRCS) \
648 $(TEST_SRCS) 2>/dev/null | \
651 awk '/^# .*Makefile.in ---/,/^# DO .*distdepend/' < Makefile.in ; \
653 -e 's@ \./@ @g;s@ /[^ ]*@@g;/^.*:$$/d' \
654 -e 's@\.\./utils@$$(UTILS_SRC)@g' \
655 -e 's@ \([^$$]\)@ $$(srcdir)/\1@g' \
656 -e 's@$$.*\(XScreenSaver_ad\)@\1@g' \
657 -e 's@$$.*\(XScreenSaver_Xm_ad\)@\1@g' \
658 -e 's@ $$(srcdir)/\(.*config\.h\)@ \1@g' ; \
660 ) > /tmp/distdepend.$$$$ && \
661 mv /tmp/distdepend.$$$$ Makefile.in
663 # Updates the version number in the app-defaults file to be in sync with
664 # the version number in version.h. This is so people can tell when they
665 # have a version skew between the app-defaults file and the executable.
666 # Also update hacks/config/README in the same way.
669 files="XScreenSaver.ad.in ../hacks/config/README ../OSX/bindist.rtf" ; \
670 U=$(UTILS_SRC)/version.h ; \
671 V=`sed -n 's/[^0-9]*\([0-9]\.[0-9][^. ]*\).*/\1/p' < $$U` ; \
673 D=`date '+%d-%b-%Y'` ; \
674 for S in $$files ; do \
676 sed -e "s/\(.*version \)[0-9][0-9]*\.[0-9]*[ab]*[0-9]*\(.*\)/\1$$V\2/" \
677 -e "s/\([0-9][0-9]-[A-Z][a-z][a-z]-[0-9][0-9][0-9]*\)/$$D/" \
678 -e "s/\( [0-9][0-9][0-9][0-9]-\)[0-9][0-9][0-9][0-9] /\1$$Y /" \
680 if cmp -s $$S $$T ; then \
684 echo "updated $$S to $$V $$D" ; \
691 find $(srcdir) -name '*.[chly]' -print | xargs etags -a
694 @$(MAKE) XScreenSaver_ad.h XScreenSaver_Xm_ad.h 2>&1 >/dev/null
699 for exe in $(EXES); do \
700 if ! [ -f $(srcdir)/$$exe.man ]; then \
701 badmen="$$badmen $$exe" ; \
704 if [ -n "$$badmen" ]; then \
706 echo "Warning: The following programs have no manuals:" ; \
708 for m in $$badmen ; do \
715 # Rules for noticing when the objects from the utils directory are out of
716 # date with respect to their sources, and going and building them according
717 # to the rules in their own Makefile...
719 $(UTILS_BIN)/fade.o: $(UTILS_SRC)/fade.c
720 $(UTILS_BIN)/overlay.o: $(UTILS_SRC)/overlay.c
721 $(UTILS_BIN)/resources.o: $(UTILS_SRC)/resources.c
722 $(UTILS_BIN)/usleep.o: $(UTILS_SRC)/usleep.c
723 $(UTILS_BIN)/visual.o: $(UTILS_SRC)/visual.c
724 $(UTILS_BIN)/xmu.o: $(UTILS_SRC)/xmu.c
725 $(UTILS_BIN)/logo.o: $(UTILS_SRC)/logo.c
726 $(UTILS_BIN)/minixpm.o: $(UTILS_SRC)/minixpm.c
727 $(UTILS_BIN)/yarandom.o: $(UTILS_SRC)/yarandom.c
728 $(UTILS_BIN)/colorbars.o: $(UTILS_SRC)/colorbars.c
729 $(UTILS_BIN)/hsv.o: $(UTILS_SRC)/hsv.c
730 $(UTILS_BIN)/colors.o: $(UTILS_SRC)/colors.c
731 $(UTILS_BIN)/grabscreen.o: $(UTILS_SRC)/grabscreen.c
733 UTIL_OBJS = $(SAVER_UTIL_OBJS) $(UTILS_BIN)/colorbars.o \
734 $(UTILS_BIN)/hsv.o $(UTILS_BIN)/colors.o \
735 $(UTILS_BIN)/grabscreen.o
739 $(MAKE) $(@F) CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
741 # How we build object files in this directory.
743 $(CC) -c $(INCLUDES) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) $<
746 $(OBJCC) -c $(INCLUDES) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) $<
748 # subprocs takes an extra -D option.
749 subprocs.o: subprocs.c
750 $(CC) -c $(INCLUDES) $(SUBP_DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) \
753 # xscreensaver takes an extra -D option.
754 xscreensaver.o: xscreensaver.c
755 $(CC) -c $(INCLUDES) $(DEFS) $(INTL_DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) \
756 $(srcdir)/xscreensaver.c
758 # demo-Gtk takes extra -D options, and an extra -I option.
759 demo-Gtk.o: demo-Gtk.c
760 $(CC) -c $(INCLUDES) $(SUBP_DEFS) -I$(ICON_SRC) \
761 $(GTK_DEFS) $(INTL_DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) \
764 # demo-Gtk-conf takes an extra -D option.
765 demo-Gtk-conf.o: demo-Gtk-conf.c
766 $(CC) -c $(INCLUDES) $(CONF_DEFS) $(GTK_DEFS) $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) \
767 $(srcdir)/demo-Gtk-conf.c
770 # How we build the default app-defaults file into the program.
772 XScreenSaver_ad.h: XScreenSaver.ad
773 $(SHELL) $(UTILS_SRC)/ad2c XScreenSaver.ad > XScreenSaver_ad.h
775 XScreenSaver_Xm_ad.h: XScreenSaver-Xm.ad
776 $(SHELL) $(UTILS_SRC)/ad2c XScreenSaver-Xm.ad > XScreenSaver_Xm_ad.h
778 @INTLTOOL_DESKTOP_RULE@
780 # The executables linked in this directory.
782 xscreensaver: $(SAVER_OBJS)
783 $(CC) $(LDFLAGS) -o $@ $(SAVER_OBJS) $(SAVER_LIBS) $(INTL_LIBS)
785 xscreensaver-command: $(CMD_OBJS)
786 $(CC) $(LDFLAGS) -o $@ $(CMD_OBJS) $(CMD_LIBS)
789 xscreensaver-demo: @PREFERRED_DEMO_PROGRAM@
790 @if [ "@PREFERRED_DEMO_PROGRAM@" = "" ]; then \
791 echo "WARNING: neither GTK nor Motif are available," \
792 "therefore no xscreensaver-demo!" ; \
795 echo cp -p @PREFERRED_DEMO_PROGRAM@@EXEEXT@ $@@EXEEXT@ ; \
796 cp -p @PREFERRED_DEMO_PROGRAM@@EXEEXT@ $@@EXEEXT@ ; \
799 xscreensaver-demo-Xm: $(DEMO_OBJS) $(MOTIF_OBJS)
800 $(CC) $(LDFLAGS) -o $@ $(DEMO_OBJS) $(MOTIF_OBJS) $(LIBS) $(X_LIBS) \
801 $(MOTIF_LIBS) $(INTL_LIBS) $(X_PRE_LIBS) -lXt -lX11 \
802 $(XDPMS_LIBS) $(XINERAMA_LIBS) -lXext $(X_EXTRA_LIBS)
804 xscreensaver-demo-Gtk: $(DEMO_OBJS) $(GTK_OBJS)
805 $(CC) $(LDFLAGS) -o $@ $(DEMO_OBJS) $(GTK_OBJS) $(LIBS) $(X_LIBS) \
806 $(GTK_LIBS) $(XPM_LIBS) $(XML_LIBS) $(INTL_LIBS) $(X_PRE_LIBS) \
807 -lXt -lX11 $(XDPMS_LIBS) $(XINERAMA_LIBS) -lXext $(X_EXTRA_LIBS)
809 demo-Gtk.o: XScreenSaver_ad.h
810 demo-Xm.o: XScreenSaver_Xm_ad.h
811 xscreensaver.o: XScreenSaver_ad.h
812 xscreensaver-getimage.o: XScreenSaver_ad.h
814 xscreensaver-getimage: $(GETIMG_OBJS)
815 $(CC) $(LDFLAGS) -o $@ $(GETIMG_OBJS) $(GETIMG_LIBS) -lm
817 pdf2jpeg: $(PDF2JPEG_OBJS)
818 $(OBJCC) $(LDFLAGS) -o $@ $(PDF2JPEG_OBJS) $(PDF2JPEG_LIBS) -lm
821 TEST_PASSWD_OBJS = test-passwd.o $(LOCK_OBJS_1) $(PASSWD_OBJS) \
822 subprocs.o setuid.o splash.o prefs.o mlstring.o exec.o \
824 test-passwd.o: XScreenSaver_ad.h
826 test-passwd: $(TEST_PASSWD_OBJS) XScreenSaver_ad.h
827 $(CC) $(LDFLAGS) -o $@ $(TEST_PASSWD_OBJS) $(SAVER_LIBS)
830 $(CC) $(LDFLAGS) -o $@ test-uid.o
832 test-xdpms: test-xdpms.o
833 $(CC) $(LDFLAGS) -o $@ test-xdpms.o $(LIBS) $(X_LIBS) $(XDPMS_LIBS) \
834 $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS)
836 test-xinerama: test-xinerama.o
837 $(CC) $(LDFLAGS) -o $@ test-xinerama.o $(LIBS) $(X_LIBS) $(SAVER_LIBS) \
838 $(X_PRE_LIBS) $(XINERAMA_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS)
841 $(CC) $(LDFLAGS) -o $@ test-vp.o $(LIBS) $(X_LIBS) $(SAVER_LIBS) \
842 $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS)
844 test-randr: test-randr.o
845 $(CC) $(LDFLAGS) -o $@ test-randr.o $(LIBS) $(X_LIBS) $(SAVER_LIBS) \
846 $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS)
848 test-grab: test-grab.o
849 $(CC) $(LDFLAGS) -o $@ test-grab.o $(SAVER_LIBS)
852 $(CC) $(LDFLAGS) -o $@ test-apm.o $(SAVER_LIBS) -lapm
854 test-mlstring.o: mlstring.c
855 test-mlstring: test-mlstring.o
856 $(CC) -DTEST $(LDFLAGS) -o $@ test-mlstring.o $(SAVER_LIBS)
858 TEST_FADE_OBJS = test-fade.o $(UTILS_SRC)/fade.o $(DEMO_UTIL_OBJS)
859 test-fade: test-fade.o $(UTILS_BIN)/fade.o
860 $(CC) $(LDFLAGS) -o $@ $(TEST_FADE_OBJS) $(SAVER_LIBS)
862 TEST_SCREENS_OBJS = test-screens.o $(DEMO_UTIL_OBJS)
863 test-screens.o: screens.c
864 test-screens: test-screens.o
865 $(CC) $(LDFLAGS) -o $@ $(TEST_SCREENS_OBJS) $(SAVER_LIBS)
868 xdpyinfo.o: xdpyinfo.c
869 $(CC) -c $(INCLUDES) -DHAVE_GLX $(CPPFLAGS) $(CFLAGS) $(X_CFLAGS) \
873 $(CC) $(LDFLAGS) -o $@ xdpyinfo.o \
874 $(LIBS) $(X_LIBS) @GL_LIBS@ \
875 $(X_PRE_LIBS) -lX11 -lXext $(X_EXTRA_LIBS) -lm
878 ##############################################################################
880 # DO NOT DELETE: updated by make distdepend
882 demo-Gtk-conf.o: ../config.h
883 demo-Gtk-conf.o: $(srcdir)/demo-Gtk-conf.h
884 demo-Gtk-conf.o: $(UTILS_SRC)/xscreensaver-intl.h
885 demo-Gtk.o: XScreenSaver_ad.h
886 demo-Gtk.o: ../config.h
887 demo-Gtk.o: $(srcdir)/demo-Gtk-conf.h
888 demo-Gtk.o: $(srcdir)/prefs.h
889 demo-Gtk.o: $(srcdir)/remote.h
890 demo-Gtk.o: $(srcdir)/types.h
891 demo-Gtk.o: $(UTILS_SRC)/resources.h
892 demo-Gtk.o: $(UTILS_SRC)/usleep.h
893 demo-Gtk.o: $(UTILS_SRC)/version.h
894 demo-Gtk.o: $(UTILS_SRC)/visual.h
895 demo-Gtk.o: $(UTILS_SRC)/xscreensaver-intl.h
896 demo-Xm.o: ../config.h
897 demo-Xm-widgets.o: ../config.h
899 dpms.o: $(srcdir)/prefs.h
900 dpms.o: $(srcdir)/types.h
901 dpms.o: $(srcdir)/xscreensaver.h
903 exec.o: $(srcdir)/exec.h
904 lock.o: $(srcdir)/auth.h
906 lock.o: $(srcdir)/mlstring.h
907 lock.o: $(srcdir)/prefs.h
908 lock.o: $(srcdir)/types.h
909 lock.o: $(UTILS_SRC)/resources.h
910 lock.o: $(srcdir)/xscreensaver.h
911 mlstring.o: $(srcdir)/mlstring.h
912 passwd.o: $(srcdir)/auth.h
913 passwd.o: ../config.h
914 passwd.o: $(srcdir)/prefs.h
915 passwd.o: $(srcdir)/types.h
916 passwd.o: $(srcdir)/xscreensaver.h
917 passwd-pwent.o: ../config.h
919 prefs.o: $(srcdir)/prefs.h
920 prefs.o: $(srcdir)/types.h
921 prefs.o: $(UTILS_SRC)/resources.h
922 prefs.o: $(UTILS_SRC)/version.h
923 remote.o: ../config.h
924 remote.o: $(srcdir)/remote.h
925 screens.o: ../config.h
926 screens.o: $(srcdir)/prefs.h
927 screens.o: $(srcdir)/types.h
928 screens.o: $(UTILS_SRC)/visual.h
929 screens.o: $(srcdir)/xscreensaver.h
930 setuid.o: ../config.h
931 setuid.o: $(srcdir)/prefs.h
932 setuid.o: $(srcdir)/types.h
933 setuid.o: $(srcdir)/xscreensaver.h
934 splash.o: ../config.h
935 splash.o: $(srcdir)/prefs.h
936 splash.o: $(srcdir)/types.h
937 splash.o: $(UTILS_SRC)/resources.h
938 splash.o: $(srcdir)/xscreensaver.h
939 stderr.o: ../config.h
940 stderr.o: $(srcdir)/prefs.h
941 stderr.o: $(srcdir)/types.h
942 stderr.o: $(UTILS_SRC)/resources.h
943 stderr.o: $(UTILS_SRC)/visual.h
944 stderr.o: $(srcdir)/xscreensaver.h
945 subprocs.o: ../config.h
946 subprocs.o: $(srcdir)/exec.h
947 subprocs.o: $(srcdir)/prefs.h
948 subprocs.o: $(srcdir)/types.h
949 subprocs.o: $(UTILS_SRC)/visual.h
950 subprocs.o: $(UTILS_SRC)/yarandom.h
951 subprocs.o: $(srcdir)/xscreensaver.h
952 test-apm.o: ../config.h
953 test-fade.o: ../config.h
954 test-fade.o: $(srcdir)/prefs.h
955 test-fade.o: $(srcdir)/types.h
956 test-fade.o: $(UTILS_SRC)/fade.h
957 test-fade.o: $(srcdir)/xscreensaver.h
958 test-grab.o: ../config.h
959 test-mlstring.o: $(srcdir)/mlstring.c
960 test-mlstring.o: $(srcdir)/mlstring.h
961 test-passwd.o: XScreenSaver_ad.h
962 test-passwd.o: $(srcdir)/auth.h
963 test-passwd.o: ../config.h
964 test-passwd.o: $(srcdir)/prefs.h
965 test-passwd.o: $(srcdir)/types.h
966 test-passwd.o: $(UTILS_SRC)/resources.h
967 test-passwd.o: $(UTILS_SRC)/version.h
968 test-passwd.o: $(UTILS_SRC)/visual.h
969 test-passwd.o: $(srcdir)/xscreensaver.h
970 test-randr.o: ../config.h
971 test-screens.o: ../config.h
972 test-screens.o: $(srcdir)/prefs.h
973 test-screens.o: $(srcdir)/screens.c
974 test-screens.o: $(srcdir)/types.h
975 test-screens.o: $(UTILS_SRC)/visual.h
976 test-screens.o: $(srcdir)/xscreensaver.h
977 test-uid.o: ../config.h
978 test-vp.o: ../config.h
979 test-xdpms.o: ../config.h
980 test-xinerama.o: ../config.h
981 timers.o: ../config.h
982 timers.o: $(srcdir)/prefs.h
983 timers.o: $(srcdir)/types.h
984 timers.o: $(srcdir)/xscreensaver.h
985 windows.o: ../config.h
986 windows.o: $(srcdir)/prefs.h
987 windows.o: $(srcdir)/types.h
988 windows.o: $(UTILS_SRC)/fade.h
989 windows.o: $(UTILS_SRC)/visual.h
990 windows.o: $(srcdir)/xscreensaver.h
991 xscreensaver-command.o: ../config.h
992 xscreensaver-command.o: $(srcdir)/remote.h
993 xscreensaver-command.o: $(UTILS_SRC)/version.h
994 xscreensaver-getimage.o: ../config.h
995 xscreensaver-getimage.o: XScreenSaver_ad.h
996 xscreensaver-getimage.o: $(srcdir)/prefs.h
997 xscreensaver-getimage.o: $(srcdir)/types.h
998 xscreensaver-getimage.o: $(UTILS_SRC)/colorbars.h
999 xscreensaver-getimage.o: $(UTILS_SRC)/grabscreen.h
1000 xscreensaver-getimage.o: $(UTILS_SRC)/resources.h
1001 xscreensaver-getimage.o: $(UTILS_SRC)/utils.h
1002 xscreensaver-getimage.o: $(UTILS_SRC)/version.h
1003 xscreensaver-getimage.o: $(UTILS_SRC)/visual.h
1004 xscreensaver-getimage.o: $(UTILS_SRC)/vroot.h
1005 xscreensaver-getimage.o: $(UTILS_SRC)/yarandom.h
1006 xscreensaver.o: XScreenSaver_ad.h
1007 xscreensaver.o: $(srcdir)/auth.h
1008 xscreensaver.o: ../config.h
1009 xscreensaver.o: $(srcdir)/prefs.h
1010 xscreensaver.o: $(srcdir)/types.h
1011 xscreensaver.o: $(UTILS_SRC)/resources.h
1012 xscreensaver.o: $(UTILS_SRC)/usleep.h
1013 xscreensaver.o: $(UTILS_SRC)/version.h
1014 xscreensaver.o: $(UTILS_SRC)/visual.h
1015 xscreensaver.o: $(UTILS_SRC)/yarandom.h
1016 xscreensaver.o: $(srcdir)/xscreensaver.h
1018 xset.o: $(srcdir)/prefs.h
1019 xset.o: $(srcdir)/types.h
1020 xset.o: $(srcdir)/xscreensaver.h