CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
DEFS = @DEFS@
+DEFS2 = $(DEFS) -DDEFAULT_PATH_PREFIX='"@HACKDIR@"'
LIBS = @LIBS@
DEPEND = @DEPEND@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SETUID = @INSTALL_SETUID@
INSTALL_DATA = @INSTALL_DATA@
+INSTALL_DIRS = @INSTALL_DIRS@
X_CFLAGS = @X_CFLAGS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
-XLIBS = $(X_PRE_LIBS) -lX11 -lXext $(X_EXTRA_LIBS)
+# Note:
+#
+# X_LIBS would more properly be called X_LDFLAGS (it contains the -L args.)
+# X_PRE_LIBS contains extra libraries you have to link against on some systems,
+# and that must come before -lX11. (e.g., -lSM and -lICE.)
+# X_EXTRA_LIBS contains extra libraries needed by X that aren't a part of X.
+# (e.g., -lsocket, -lnsl, etc.)
+#
+XLIBS = $(X_LIBS) $(X_PRE_LIBS) -lX11 -lXext $(X_EXTRA_LIBS)
+XTLIBS = $(X_LIBS) $(X_PRE_LIBS) -lXt -lX11 -lXext $(X_EXTRA_LIBS)
AD_DIR = @APPDEFAULTS@
UTILS_SRC = $(srcdir)/../utils
UTILS_BIN = ../utils
-INCLUDES = -I. -I$(srcdir) -I$(srcdir)/.. -I$(UTILS_SRC) -I.. @INCLUDES@
+INCLUDES = -I. -I$(srcdir) -I$(UTILS_SRC) -I.. @INCLUDES@
PASSWD_LIBS = @PASSWD_LIBS@
MOTIF_SRCS = dialogs-Xm.c
SAVER_SRCS = $(SAVER_SRCS_1) $(DIALOG_SRCS) $(LOCK_SRCS) $(UTIL_SRCS)
SAVER_OBJS = $(SAVER_OBJS_1) $(DIALOG_OBJS) $(LOCK_OBJS) $(UTIL_OBJS)
-SAVER_LIBS = $(X_LIBS) @SAVER_LIBS@ -lXt $(XLIBS) $(PASSWD_LIBS) $(LIBS)
+SAVER_LIBS = @SAVER_LIBS@ -lXt $(XTLIBS) $(PASSWD_LIBS) $(LIBS)
CMD_SRCS = xscreensaver-command.c
CMD_OBJS = xscreensaver-command.o
-CMD_LIBS = $(X_LIBS) $(XLIBS) $(LIBS)
+CMD_LIBS = $(XLIBS) $(LIBS)
EXES = xscreensaver xscreensaver-command
$$e "" ;\
fi ; \
fi ; \
+ if [ ! -d $(bindir) ]; then $(INSTALL_DIRS) $(bindir) ; fi ; \
echo $$inst xscreensaver $(bindir)/xscreensaver ; \
$$inst xscreensaver $(bindir)/xscreensaver
$(INSTALL_PROGRAM) xscreensaver-command $(bindir)/xscreensaver-command
install-ad:
+ @if [ ! -d $(AD_DIR) ]; then $(INSTALL_DIRS) $(AD_DIR) ; fi ; \
$(INSTALL_DATA) XScreenSaver.ad $(AD_DIR)/XScreenSaver
install-man:
@men="$(MEN)" ; \
+ if [ ! -d $(man1dir) ]; then $(INSTALL_DIRS) $(man1dir) ; fi ; \
for man in $$men; do \
instname=`echo $$man | sed 's/\.man$$/\.$(mansuffix)/'` ; \
echo $(INSTALL_DATA) $(srcdir)/$$man $(man1dir)/$$instname ; \
# 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 XScreenSaver_ad.h
+distdepend: 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) -- \
@S=XScreenSaver.ad.in ; \
U=$(UTILS_SRC)/version.h ; \
V=`sed -n 's/.*\([0-9][0-9]*\.[0-9]*\).*/\1/p' < $$U` ; \
- echo -n "Updating version number in $$S to $$V... " ; \
+ D=`date '+%d-%b-%y'` ; \
+ echo -n "Updating version number in $$S to $$V $$D... " ; \
T=/tmp/xs.$$$$ ; \
- sed "s/\(.*version \)[0-9][0-9]*\.[0-9]*\(.*\)/\1$$V\2/" \
+ 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]\)/$$D/" \
< $$S > $$T ; \
if cmp -s $$S $$T ; then \
echo "unchanged." ; \
fi ; \
rm $$T
+update_man_version::
+ @for S in $(MEN); do \
+ 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\"... " ; \
+ T=/tmp/xs.$$$$ ; \
+ sed "s/^\(\.TH[^\"]*\)\"[^\"]*\"\(.*\)/\1\"$$V\"\2/" \
+ < $$S > $$T ; \
+ if cmp -s $$S $$T ; then \
+ echo "unchanged." ; \
+ else \
+ cat $$T > $$S ; \
+ echo "done." ; \
+ fi ; \
+ rm $$T ; \
+ done
TAGS: tags
tags:
# How we build object files in this directory.
.c.o:
- $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $<
+ $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $(X_CFLAGS) $<
+
+# subprocs is the only one that takes an extra -D option.
+subprocs.o: subprocs.c
+ $(CC) -c $(INCLUDES) $(DEFS2) $(CFLAGS) $(X_CFLAGS) $<
# How we build the default app-defaults file into the program.
#
XScreenSaver_ad.h: XScreenSaver.ad
- $(SHELL) $(UTILS_SRC)/ad2c XScreenSaver.ad > $@
+ $(SHELL) $(UTILS_SRC)/ad2c XScreenSaver.ad > XScreenSaver_ad.h
# The executables linked in this directory.
#