prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
+#datadir = @datadir@
+datadir = $(GNOME_DATADIR)
+localedir = $(datadir)/locale
mandir = @mandir@
-man1dir = $(mandir)/man1
mansuffix = 1
-datadir = @datadir@
-localedir = $(datadir)/locale
+manNdir = $(mandir)/man$(mansuffix)
INTLTOOL_MERGE = @INTLTOOL_MERGE@
GNOME_DATADIR = @GNOME_DATADIR@
-GNOME_CCDIR = $(GNOME_DATADIR)/control-center/Desktop
-GNOME_PANELDIR = $(GNOME_DATADIR)/gnome/apps/Settings/Desktop
+GNOME_CCDIR_1 = $(GNOME_DATADIR)/control-center/Desktop
+GNOME_CCDIR_2 = $(GNOME_DATADIR)/control-center/capplets
+GNOME_CCDIR_3 = $(GNOME_DATADIR)/control-center-2.0/capplets
+GNOME_PANELDIR1 = $(GNOME_DATADIR)/gnome/apps/Settings/Desktop
+GNOME_PANELDIR2 = $(GNOME_DATADIR)/applications
+GNOME_PANELDIR = @GNOME_PANELDIR@
+GLADE_DATADIR = @GLADE_DATADIR@
GNOME_BINDIR = $(bindir)
HACK_CONF_DIR = @HACK_CONF_DIR@
-GTK_ICONDIR = @GTK_ICONDIR@
CC = @CC@
CFLAGS = @CFLAGS@
DEFS = @DEFS@
INTL_DEFS = -DLOCALEDIR=\"$(localedir)\"
SUBP_DEFS = $(DEFS) -DDEFAULT_PATH_PREFIX='"@HACKDIR@"'
-GTK_DEFS = $(DEFS) -DDEFAULT_ICONDIR='"$(GTK_ICONDIR)"'
+GTK_DEFS = $(DEFS) -DDEFAULT_ICONDIR='"$(GLADE_DATADIR)"'
CONF_DEFS = -DHACK_CONFIGURATION_PATH='"$(HACK_CONF_DIR)"'
LIBS = @LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
XMU_LIBS = @XMU_LIBS@
+XPM_LIBS = @XPM_LIBS@
# Note:
#
GTK_SRCS = demo-Gtk.c demo-Gtk-conf.c \
demo-Gtk-widgets.c demo-Gtk-support.c
-GTK_OBJS = demo-Gtk.o demo-Gtk-conf.o \
- demo-Gtk-widgets.o demo-Gtk-support.o
+GTK_EXTRA_OBJS = demo-Gtk-widgets.o demo-Gtk-support.o
+GTK_OBJS = demo-Gtk.o demo-Gtk-conf.o @GTK_EXTRA_OBJS@
PWENT_SRCS = passwd-pwent.c
PWENT_OBJS = passwd-pwent.o
CMD_LIBS = $(LIBS) $(X_LIBS) \
$(X_PRE_LIBS) -lX11 -lXext $(X_EXTRA_LIBS)
-GETIMG_LIBS = $(LIBS) $(X_LIBS) \
+GETIMG_LIBS = $(LIBS) $(X_LIBS) $(XPM_LIBS) \
$(X_PRE_LIBS) -lXt -lX11 $(XMU_LIBS) -lXext $(X_EXTRA_LIBS)
EXES = xscreensaver xscreensaver-command xscreensaver-demo \
xscreensaver-getimage-file.man \
xscreensaver-getimage-video.man
EXTRAS = README Makefile.in XScreenSaver.ad.in xscreensaver.pam \
- xscreensaver.kss xscreensaver-demo.glade \
+ xscreensaver-demo.glade xscreensaver-demo.glade2 \
+ xscreensaver-demo.glade2p \
screensaver-properties.desktop.in \
screensaver-properties-capplet \
+ xscreensaver.kss.in \
.gdbinit
VMSFILES = compile_axp.com compile_decc.com link_axp.com link_decc.com \
vms-getpwnam.c vms-pwd.h vms-hpwd.c vms-validate.c \
install-man: $(MEN)
@men="$(MEN)" ; \
- if [ ! -d $(install_prefix)$(man1dir) ]; then \
- $(INSTALL_DIRS) $(install_prefix)$(man1dir) ; \
+ if [ ! -d $(install_prefix)$(manNdir) ]; then \
+ $(INSTALL_DIRS) $(install_prefix)$(manNdir) ; \
fi ; \
for man in $$men; do \
instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
echo $(INSTALL_DATA) $(srcdir)/$$man \
- $(install_prefix)$(man1dir)/$$instname ; \
+ $(install_prefix)$(manNdir)/$$instname ; \
$(INSTALL_DATA) $(srcdir)/$$man \
- $(install_prefix)$(man1dir)/$$instname ; \
+ $(install_prefix)$(manNdir)/$$instname ; \
done
uninstall-program:
@men="$(MEN)" ; \
for man in $$men; do \
instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
- echo rm -f $(install_prefix)$(man1dir)/$$instname ; \
- rm -f $(install_prefix)$(man1dir)/$$instname ; \
+ echo rm -f $(install_prefix)$(manNdir)/$$instname ; \
+ rm -f $(install_prefix)$(manNdir)/$$instname ; \
done
install-pam:
fi ; \
elif [ -f $$conf ]; then \
if ( grep $$dest $$conf >/dev/null ); then \
- true ; \
+ echo "$$conf unchanged: already has an entry for $$dest" ; \
else \
+ src="pam.conf.$$$$" ; \
+ echo "grep -v $$dest $$conf > $$src" ; \
+ grep -v $$dest $$conf > $$src ; \
+ extras=`sed -n "s/^login\(.*auth.*\)$$/$$dest\1/p" $$conf`; \
+ echo "$$extras" >> $$src ; \
+ if [ "x$$extras" = "x" ]; then \
+ echo "Error: no login rules in $$conf?" >&2 ; \
+ else \
+ echo "adding $$dest rules to $$src:" ; \
+ echo "$$extras" | sed 's/^/ /' ; \
+ fi ; \
+ echo $(INSTALL_DATA) $$src $$conf ; \
+ $(INSTALL_DATA) $$src $$conf ; \
+ echo rm -f $$src ; \
+ rm -f $$src ; \
+ fi ; \
+ if ! ( grep $$dest $$conf >/dev/null ); then \
e=echo ; \
$$e "" ;\
$$e " ####################################################################";\
$$e " Warning: xscreensaver has been compiled with support for Pluggable" ;\
- $$e " Authentication Modules (PAM). To complete the installation";\
- $$e " of PAM support, you must add the following line to the file";\
- $$e " $$conf:" ;\
- $$e "" ;\
- $$e " $$dest auth required /usr/lib/security/pam_unix.so.1" ;\
- $$e "" ;\
- $$e " Be careful: if you mess up that file, you could completely" ;\
- $$e " hose your machine (e.g., \`login' and \`su' won't work, and";\
- $$e " you'll have to boot single-user to fix it.)" ;\
+ $$e " Authentication Modules (PAM). However, we were unable to" ;\
+ $$e " install xscreensaver rules in the file $$conf." ;\
+ $$e " PAM is unlikely to work without this (and old-style" ;\
+ $$e " password authentication will be used instead, which may" ;\
+ $$e " or may not work.)" ;\
$$e " ####################################################################";\
- echo ""; \
+ $$e "" ;\
fi ; \
fi
@lost="" ;\
if [ "$(GNOME_DATADIR)" != "" ]; then \
\
- if [ ! -d "$(install_prefix)$(GNOME_CCDIR)" ]; then \
- echo $(INSTALL_DIRS) "$(install_prefix)$(GNOME_CCDIR)" ;\
- $(INSTALL_DIRS) "$(install_prefix)$(GNOME_CCDIR)" ;\
+ if [ ! -d "$(install_prefix)$(GNOME_CCDIR_1)" ]; then \
+ echo $(INSTALL_DIRS) "$(install_prefix)$(GNOME_CCDIR_1)" ;\
+ $(INSTALL_DIRS) "$(install_prefix)$(GNOME_CCDIR_1)" ;\
+ fi ;\
+ if [ ! -d "$(install_prefix)$(GNOME_CCDIR_2)" ]; then \
+ echo $(INSTALL_DIRS) "$(install_prefix)$(GNOME_CCDIR_2)" ;\
+ $(INSTALL_DIRS) "$(install_prefix)$(GNOME_CCDIR_2)" ;\
+ fi ;\
+ if [ ! -d "$(install_prefix)$(GNOME_CCDIR_3)" ]; then \
+ echo $(INSTALL_DIRS) "$(install_prefix)$(GNOME_CCDIR_3)" ;\
+ $(INSTALL_DIRS) "$(install_prefix)$(GNOME_CCDIR_3)" ;\
+ fi ;\
+ if [ ! -d "$(install_prefix)$(GNOME_PANELDIR)" ]; then \
+ echo $(INSTALL_DIRS) "$(install_prefix)$(GNOME_PANELDIR)" ;\
+ $(INSTALL_DIRS) "$(install_prefix)$(GNOME_PANELDIR)" ;\
fi ;\
\
- echo $(INSTALL_DATA) screensaver-properties.desktop \
- $(install_prefix)$(GNOME_CCDIR)/screensaver-properties.desktop; \
+ echo $(INSTALL_DATA) screensaver-properties.desktop \
+ $(install_prefix)$(GNOME_CCDIR_1)/screensaver-properties.desktop;\
\
- if $(INSTALL_DATA) screensaver-properties.desktop \
- $(install_prefix)$(GNOME_CCDIR)/screensaver-properties.desktop; \
+ if $(INSTALL_DATA) screensaver-properties.desktop \
+ $(install_prefix)$(GNOME_CCDIR_1)/screensaver-properties.desktop;\
then true ;\
else \
- lost="$$lost $(install_prefix)$(GNOME_CCDIR)" ;\
+ lost="$$lost $(install_prefix)$(GNOME_CCDIR_1)" ;\
fi ;\
\
- if [ ! -d "$(install_prefix)$(GNOME_PANELDIR)" ]; then \
- echo $(INSTALL_DIRS) "$(install_prefix)$(GNOME_PANELDIR)" ;\
- $(INSTALL_DIRS) "$(install_prefix)$(GNOME_PANELDIR)" ;\
+ echo $(INSTALL_DATA) screensaver-properties.desktop \
+ $(install_prefix)$(GNOME_CCDIR_2)/screensaver-properties.desktop;\
+ \
+ if $(INSTALL_DATA) screensaver-properties.desktop \
+ $(install_prefix)$(GNOME_CCDIR_2)/screensaver-properties.desktop;\
+ then true ;\
+ else \
+ lost="$$lost $(install_prefix)$(GNOME_CCDIR_2)" ;\
fi ;\
\
echo $(INSTALL_DATA) screensaver-properties.desktop \
- $(GNOME_PANELDIR)/screensaver-properties.desktop ;\
+ $(install_prefix)$(GNOME_CCDIR_3)/screensaver-properties.desktop;\
+ \
if $(INSTALL_DATA) screensaver-properties.desktop \
- $(install_prefix)$(GNOME_PANELDIR)/screensaver-properties.desktop ;\
+ $(install_prefix)$(GNOME_CCDIR_3)/screensaver-properties.desktop;\
+ then true ;\
+ else \
+ lost="$$lost $(install_prefix)$(GNOME_CCDIR_3)" ;\
+ fi ;\
+ \
+ echo $(INSTALL_DATA) screensaver-properties.desktop \
+ $(install_prefix)$(GNOME_PANELDIR)/screensaver-properties.desktop;\
+ if $(INSTALL_DATA) screensaver-properties.desktop \
+ $(install_prefix)$(GNOME_PANELDIR)/screensaver-properties.desktop;\
then true ;\
else \
lost="$$lost $(install_prefix)$(GNOME_PANELDIR)" ;\
# xscreensaver.xpm
install-gnome:: $(LOGO)
- @if [ "$(GTK_ICONDIR)" != "" ]; then \
- if [ ! -d "$(install_prefix)$(GTK_ICONDIR)" ]; then \
- echo $(INSTALL_DIRS) "$(install_prefix)$(GTK_ICONDIR)" ;\
- $(INSTALL_DIRS) "$(install_prefix)$(GTK_ICONDIR)" ;\
+ @if [ "$(GLADE_DATADIR)" != "" ]; then \
+ if [ ! -d "$(install_prefix)$(GLADE_DATADIR)" ]; then \
+ echo $(INSTALL_DIRS) "$(install_prefix)$(GLADE_DATADIR)" ;\
+ $(INSTALL_DIRS) "$(install_prefix)$(GLADE_DATADIR)" ;\
fi ;\
target=xscreensaver.xpm ;\
echo $(INSTALL_DATA) $(LOGO) \
- $(install_prefix)$(GTK_ICONDIR)/$$target ;\
+ $(install_prefix)$(GLADE_DATADIR)/$$target ;\
$(INSTALL_DATA) $(LOGO) \
- $(install_prefix)$(GTK_ICONDIR)/$$target ;\
+ $(install_prefix)$(GLADE_DATADIR)/$$target ;\
fi
# ../utils/images/screensaver-*.xpm
install-gnome::
- @if [ "$(GTK_ICONDIR)" != "" ]; then \
- if [ ! -d "$(install_prefix)$(GTK_ICONDIR)" ]; then \
- echo $(INSTALL_DIRS) "$(install_prefix)$(GTK_ICONDIR)" ;\
- $(INSTALL_DIRS) "$(install_prefix)$(GTK_ICONDIR)" ;\
+ @if [ "$(GLADE_DATADIR)" != "" ]; then \
+ if [ ! -d "$(install_prefix)$(GLADE_DATADIR)" ]; then \
+ echo $(INSTALL_DIRS) "$(install_prefix)$(GLADE_DATADIR)" ;\
+ $(INSTALL_DIRS) "$(install_prefix)$(GLADE_DATADIR)" ;\
fi ;\
for target in $(GTK_ICONS) ; do \
dest=`echo $$target | sed 's@^.*/@@'` ;\
echo $(INSTALL_DATA) $$target \
- $(install_prefix)$(GTK_ICONDIR)/$$dest ;\
+ $(install_prefix)$(GLADE_DATADIR)/$$dest ;\
$(INSTALL_DATA) $$target \
- $(install_prefix)$(GTK_ICONDIR)/$$dest ;\
+ $(install_prefix)$(GLADE_DATADIR)/$$dest ;\
done ;\
fi
+# xscreensaver-demo.glade2
+install-gnome:: xscreensaver-demo.glade2
+ @if [ "$(GLADE_DATADIR)" != "" ]; then \
+ if [ ! -d "$(install_prefix)$(GLADE_DATADIR)" ]; then \
+ echo $(INSTALL_DIRS) "$(install_prefix)$(GLADE_DATADIR)" ;\
+ $(INSTALL_DIRS) "$(install_prefix)$(GLADE_DATADIR)" ;\
+ fi ;\
+ target=xscreensaver-demo.glade2 ;\
+ echo $(INSTALL_DATA) $(srcdir)/$$target \
+ $(install_prefix)$(GLADE_DATADIR)/$$target ;\
+ if $(INSTALL_DATA) $(srcdir)/$$target \
+ $(install_prefix)$(GLADE_DATADIR)/$$target ;\
+ then true ;\
+ else \
+ e=echo ; \
+ $$e "" ;\
+ $$e " ####################################################################";\
+ $$e " Warning: unable to install $$target into" ;\
+ $$e " $(install_prefix)$(GLADE_DATADIR)/." ;\
+ $$e " Without this file, xscreensaver-demo will not" ;\
+ $$e " be able to run properly." ;\
+ $$e " ####################################################################";\
+ $$e "" ;\
+ exit 1 ; \
+ fi ; \
+ fi
+
+
# screensaver-properties.desktop
uninstall-gnome::
@if [ "$(GNOME_DATADIR)" != "" ]; then \
f=screensaver-properties.desktop ;\
- echo rm -f $(install_prefix)$(GNOME_CCDIR)/$$f ;\
- rm -f $(install_prefix)$(GNOME_CCDIR)/$$f ;\
+ echo rm -f $(install_prefix)$(GNOME_CCDIR_1)/$$f ;\
+ rm -f $(install_prefix)$(GNOME_CCDIR_1)/$$f ;\
+ echo rm -f $(install_prefix)$(GNOME_CCDIR_2)/$$f ;\
+ rm -f $(install_prefix)$(GNOME_CCDIR_2)/$$f ;\
+ echo rm -f $(install_prefix)$(GNOME_CCDIR_3)/$$f ;\
+ rm -f $(install_prefix)$(GNOME_CCDIR_3)/$$f ;\
echo rm -f $(install_prefix)$(GNOME_PANELDIR)/$$f ;\
rm -f $(install_prefix)$(GNOME_PANELDIR)/$$f ;\
fi
# xscreensaver.xpm
uninstall-gnome::
- @if [ "$(GTK_ICONDIR)" != "" ]; then \
+ @if [ "$(GLADE_DATADIR)" != "" ]; then \
target=xscreensaver.xpm ;\
- echo rm -f $(install_prefix)$(GTK_ICONDIR)/$$target ;\
- rm -f $(install_prefix)$(GTK_ICONDIR)/$$target ;\
+ echo rm -f $(install_prefix)$(GLADE_DATADIR)/$$target ;\
+ rm -f $(install_prefix)$(GLADE_DATADIR)/$$target ;\
fi
# xscreensaver.xpm
uninstall-gnome::
- @if [ "$(GTK_ICONDIR)" != "" ]; then \
+ @if [ "$(GLADE_DATADIR)" != "" ]; then \
for target in $(GTK_ICONS) ; do \
dest=`echo $$target | sed 's@^.*/@@'` ;\
- echo rm -f $(install_prefix)$(GTK_ICONDIR)/$$dest ;\
- rm -f $(install_prefix)$(GTK_ICONDIR)/$$dest ;\
+ echo rm -f $(install_prefix)$(GLADE_DATADIR)/$$dest ;\
+ rm -f $(install_prefix)$(GLADE_DATADIR)/$$dest ;\
done ;\
fi
install-kde:
- @src="$(srcdir)/xscreensaver.kss" ; \
+ @src="xscreensaver.kss" ; \
if [ "$$KDEDIR" != "" ]; then \
dir="$(install_prefix)$$KDEDIR/bin" ; \
- dest="$$dir/xscreensaver.kss" ; \
+ dest="$$dir/$$src" ; \
echo $(INSTALL_SCRIPT) $$src $$dest ; \
if $(INSTALL_SCRIPT) $$src $$dest ; then \
true ; \
# close. This excludes dependencies on files in /usr/include, etc. It tries
# to include only dependencies on files which are themselves a part of this
# package.
-distdepend: update_ad_version update_man_version XScreenSaver_ad.h
+distdepend: check_men update_ad_version update_man_version XScreenSaver_ad.h
@echo updating dependencies in `pwd`/Makefile.in... ; \
$(DEPEND) -w 0 -f - \
-s '# DO NOT DELETE: updated by make distdepend' $(DEPEND_FLAGS) -- \
V=`sed -n 's/.*\([0-9][0-9]*\.[0-9]*\).*/\1/p' < $$U` ; \
D=`date '+%d-%b-%Y'` ; \
for S in $$files ; do \
- echo -n "Updating version number in $$S to $$V $$D... " ; \
+ echo -n "Updating $$S to $$V $$D... " ; \
T=/tmp/xs.$$$$ ; \
sed -e "s/\(.*version \)[0-9][0-9]*\.[0-9]*\(.*\)/\1$$V\2/" \
-e "s/\([0-9][0-9]-[A-Z][a-z][a-z]-[0-9][0-9][0-9]*\)/$$D/" \
U=$(UTILS_SRC)/version.h ; \
V=`sed -n 's/.*\([0-9][0-9]*\.[0-9]*\).*/\1/p' < $$U` ; \
V="`date '+%d-%b-%Y'` ($$V)" ; \
- echo -n "Updating footer in $$S to \"$$V\"... " ; \
+ echo -n "Updating $$S to \"$$V\"... " ; \
T=/tmp/xs.$$$$ ; \
sed "s/^\(\.TH[^\"]*\)\"[^\"]*\"\(.*\)/\1\"$$V\"\2/" \
< $$S > $$T ; \
@$(MAKE) XScreenSaver_ad.h 2>&1 >&- /dev/null
@echo $(TARFILES)
+check_men:
+ @badmen="" ; \
+ for exe in $(EXES); do \
+ if ! [ -f $(srcdir)/$$exe.man ]; then \
+ badmen="$$badmen $$exe" ; \
+ fi ; \
+ done ; \
+ if [ -n "$$badmen" ]; then \
+ echo "" ; \
+ echo "Warning: The following programs have no manuals:" ; \
+ echo "" ; \
+ for m in $$badmen ; do \
+ echo " $$m" ; \
+ done ; \
+ echo "" ; \
+ fi
+
# Rules for noticing when the objects from the utils directory are out of
# date with respect to their sources, and going and building them according