GNOME_PANELDIR = $(GNOME_DATADIR)/gnome/apps/Settings/Desktop
GNOME_ICONDIR = $(GNOME_DATADIR)/pixmaps
GNOME_BINDIR = $(bindir)
+HACK_CONF_DIR = @HACK_CONF_DIR@
CC = @CC@
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
DEFS = @DEFS@
-DEFS2 = $(DEFS) -DDEFAULT_PATH_PREFIX='"@HACKDIR@"'
+SUBP_DEFS = $(DEFS) -DDEFAULT_PATH_PREFIX='"@HACKDIR@"'
+GTK_DEFS = $(DEFS) -DDEFAULT_ICONDIR='"$(GNOME_ICONDIR)"'
+CONF_DEFS = -DHACK_CONFIGURATION_PATH='"$(HACK_CONF_DIR)"'
+
LIBS = @LIBS@
PERL = @PERL@
MOTIF_SRCS = demo-Xm.c demo-Xm-widgets.c
MOTIF_OBJS = demo-Xm.o demo-Xm-widgets.o
-GTK_SRCS = demo-Gtk.c demo-Gtk-widgets.c
-GTK_OBJS = demo-Gtk.o demo-Gtk-widgets.o
+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
PWENT_SRCS = passwd-pwent.c
PWENT_OBJS = passwd-pwent.o
MOTIF_LIBS = @MOTIF_LIBS@ @XPM_LIBS@ $(XMU_LIBS)
GTK_LIBS = @GTK_LIBS@ $(XMU_LIBS)
+XML_LIBS = @XML_LIBS@
XDPMS_LIBS = @XDPMS_LIBS@
GL_OBJS = @SAVER_GL_OBJS@
GL_LIBS = @SAVER_GL_LIBS@
-LOGO = $(UTILS_SRC)/logo-50.xpm
+ICON_SRC = $(UTILS_SRC)/images
+LOGO = $(ICON_SRC)/logo-50.xpm
+GNOME_ICONS = $(ICON_SRC)/screensaver-*.xpm
+
DEMO_UTIL_SRCS = $(UTILS_SRC)/resources.c $(UTILS_SRC)/usleep.c \
$(UTILS_SRC)/visual.c
DEMO_UTIL_OBJS = $(UTILS_BIN)/resources.o $(UTILS_BIN)/usleep.o \
SCRIPTS = xscreensaver-getimage-file xscreensaver-getimage-video
HDRS = XScreenSaver_ad.h xscreensaver.h prefs.h remote.h \
- demo-Gtk-widgets.h demo-Gtk-stubs.h
+ demo-Gtk-widgets.h demo-Gtk-stubs.h demo-Gtk-support.h \
+ demo-Gtk-conf.h
MEN = xscreensaver.man xscreensaver-demo.man \
xscreensaver-command.man \
xscreensaver-getimage.man \
munge-scripts: $(SCRIPTS)
@tmp=/tmp/mf.$$$$ ; \
perl="${PERL}" ; \
+ rm -f $$tmp ; \
for program in $(SCRIPTS); do \
echo "adjusting location of perl in $$program..." ; \
sed "s@^\(#!\)\(/[^ ]*/perl[^ ]*\)\(.*\)\$$@\1$$perl\3@" \
else \
cat $$tmp > ./$$program ; \
fi ; \
- done
+ done ; \
+ rm -f $$tmp
install-man: $(MEN)
@men="$(MEN)" ; \
fi ; \
fi
+# xscreensaver.xpm
install-gnome:: $(LOGO)
@if [ "$(GNOME_DATADIR)" != "" ]; then \
if [ ! -d "$(install_prefix)$(GNOME_ICONDIR)" ]; then \
$(install_prefix)$(GNOME_ICONDIR)/$$target ;\
fi
+# ../utils/images/screensaver-*.xpm
+install-gnome::
+ @if [ "$(GNOME_DATADIR)" != "" ]; then \
+ if [ ! -d "$(install_prefix)$(GNOME_ICONDIR)" ]; then \
+ echo $(INSTALL_DIRS) "$(install_prefix)$(GNOME_ICONDIR)" ;\
+ $(INSTALL_DIRS) "$(install_prefix)$(GNOME_ICONDIR)" ;\
+ fi ;\
+ for target in $(GNOME_ICONS) ; do \
+ dest=`echo $$target | sed 's@^.*/@@'` ;\
+ echo $(INSTALL_DATA) $$target \
+ $(install_prefix)$(GNOME_ICONDIR)/$$dest ;\
+ $(INSTALL_DATA) $$target \
+ $(install_prefix)$(GNOME_ICONDIR)/$$dest ;\
+ done ;\
+ fi
+
+# screensaver-properties.desktop
uninstall-gnome::
@if [ "$(GNOME_DATADIR)" != "" ]; then \
f=screensaver-properties.desktop ;\
rm -f $(install_prefix)$(GNOME_PANELDIR)/$$f ;\
fi
+# screensaver-properties-capplet
uninstall-gnome::
@if [ "$(GNOME_DATADIR)" != "" ]; then \
program=screensaver-properties-capplet ;\
rm -f $(install_prefix)$(bindir)/$$program ;\
fi
+# xscreensaver.xpm
uninstall-gnome::
@if [ "$(GNOME_DATADIR)" != "" ]; then \
target=xscreensaver.xpm ;\
rm -f $(install_prefix)$(GNOME_ICONDIR)/$$target ;\
fi
+# xscreensaver.xpm
+uninstall-gnome::
+ @if [ "$(GNOME_DATADIR)" != "" ]; then \
+ for target in $(GNOME_ICONS) ; do \
+ dest=`echo $$target | sed 's@^.*/@@'` ;\
+ echo rm -f $(install_prefix)$(GNOME_ICONDIR)/$$dest ;\
+ rm -f $(install_prefix)$(GNOME_ICONDIR)/$$dest ;\
+ done ;\
+ fi
+
install-kde:
@src="$(srcdir)/xscreensaver.kss" ; \
if [ "$$KDEDIR" != "" ]; then \
# Updates the version number in the app-defaults file to be in sync with
# the version number in version.h. This is so people can tell when they
# have a version skew between the app-defaults file and the executable.
+# Also update hacks/config/README in the same way.
update_ad_version::
- @S=XScreenSaver.ad.in ; \
+ @files="XScreenSaver.ad.in ../hacks/config/README" ; \
U=$(UTILS_SRC)/version.h ; \
V=`sed -n 's/.*\([0-9][0-9]*\.[0-9]*\).*/\1/p' < $$U` ; \
D=`date '+%d-%b-%Y'` ; \
- echo -n "Updating version number in $$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/" \
- < $$S > $$T ; \
- if cmp -s $$S $$T ; then \
- echo "unchanged." ; \
- else \
- cat $$T > $$S ; \
- echo "done." ; \
- fi ; \
+ for S in $$files ; do \
+ echo -n "Updating version number in $$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/" \
+ < $$S > $$T ; \
+ if cmp -s $$S $$T ; then \
+ echo "unchanged." ; \
+ else \
+ cat $$T > $$S ; \
+ echo "done." ; \
+ fi ; \
+ done ; \
rm $$T
update_man_version::
.c.o:
$(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $<
-# subprocs is the only one that takes an extra -D option.
+# subprocs takes an extra -D option.
subprocs.o: subprocs.c
- $(CC) -c $(INCLUDES) $(DEFS2) $(CFLAGS) $(X_CFLAGS) \
+ $(CC) -c $(INCLUDES) $(SUBP_DEFS) $(CFLAGS) $(X_CFLAGS) \
$(srcdir)/subprocs.c
+# demo-Gtk takes an extra -D option, and an extra -I option.
+demo-Gtk.o: demo-Gtk.c
+ $(CC) -c $(INCLUDES) $(SUBP_DEFS) -I$(ICON_SRC) $(GTK_DEFS) \
+ $(CFLAGS) $(X_CFLAGS) \
+ $(srcdir)/demo-Gtk.c
+
+# demo-Gtk-conf takes an extra -D option.
+demo-Gtk-conf.o: demo-Gtk-conf.c
+ $(CC) -c $(INCLUDES) $(CONF_DEFS) $(GTK_DEFS) $(CFLAGS) $(X_CFLAGS) \
+ $(srcdir)/demo-Gtk-conf.c
+
# How we build the default app-defaults file into the program.
#
xscreensaver-demo-Gtk: $(DEMO_OBJS) $(GTK_OBJS)
$(CC) $(LDFLAGS) -o $@ $(DEMO_OBJS) $(GTK_OBJS) $(LIBS) $(X_LIBS) \
- $(GTK_LIBS) $(X_PRE_LIBS) -lXt -lX11 $(XDPMS_LIBS) -lXext \
+ $(GTK_LIBS) $(XML_LIBS) $(X_PRE_LIBS) -lXt -lX11 $(XDPMS_LIBS) -lXext \
$(X_EXTRA_LIBS)
xscreensaver-getimage: $(GETIMG_OBJS)
$(CC) $(LDFLAGS) -o $@ test-apm.o $(SAVER_LIBS) -lapm
TEST_FADE_OBJS = test-fade.o $(UTILS_SRC)/fade.o $(DEMO_UTIL_OBJS)
-test-fade: test-fade.o
+test-fade: test-fade.o $(UTILS_BIN)/fade.o
$(CC) $(LDFLAGS) -o $@ $(TEST_FADE_OBJS) $(SAVER_LIBS)
demo-Gtk.o: $(srcdir)/prefs.h
demo-Gtk.o: $(srcdir)/remote.h
demo-Gtk.o: $(srcdir)/demo-Gtk-widgets.h
+demo-Gtk.o: $(srcdir)/demo-Gtk-support.h
+demo-Gtk.o: $(srcdir)/demo-Gtk-conf.h
demo-Gtk.o: XScreenSaver_ad.h
+demo-Gtk-conf.o: ../config.h
+demo-Gtk-conf.o: $(srcdir)/demo-Gtk-conf.h
demo-Gtk-widgets.o: ../config.h
demo-Gtk-widgets.o: $(srcdir)/demo-Gtk-stubs.h
demo-Gtk-widgets.o: $(srcdir)/demo-Gtk-widgets.h
+demo-Gtk-widgets.o: $(srcdir)/demo-Gtk-support.h
+demo-Gtk-support.o: ../config.h
+demo-Gtk-support.o: $(srcdir)/demo-Gtk-support.h
xscreensaver-getimage.o: ../config.h
xscreensaver-getimage.o: $(srcdir)/prefs.h
xscreensaver-getimage.o: XScreenSaver_ad.h