#
# Makefile for etc subdirectory
#
-# $Id$
-#
SHELL = /bin/sh
libdir = @libdir@
etcdir = @sysconfdir@
-mailspool = @mailspool@
+mailspool = @mailspool@
+masquerade = @masquerade@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_DATA = @INSTALL_DATA@
# Path to search for programs to handle MIME
.SUFFIXES:
-# format and components files
-DIST_FILES = mhl.body mhl.digest mhl.format mhl.forward mhl.headers \
- mhl.reply scan.default scan.mailx scan.nomime scan.size scan.time \
- scan.timely scan.unseen components digestcomps distcomps \
- forwcomps rcvdistcomps rcvdistcomps.outbox replcomps \
- replgroupcomps MailAliases
+# static configuration, format, and components files
+STATIC_FILES = components digestcomps distcomps forwcomps \
+ mhl.body mhl.digest mhl.format mhl.forward mhl.headers \
+ mhl.reply rcvdistcomps rcvdistcomps.outbox \
+ replcomps replgroupcomps scan.MMDDYY scan.YYYYMMDD \
+ scan.default scan.mailx scan.nomime scan.size scan.time \
+ scan.timely scan.unseen
-# format and configuration files to generate
-GEN_FILES = mhn.defaults mts.conf
+# templates and scripts from which non-static files are generated
+GENERATED_FILE_SRCS = mhn.defaults.sh mhn.find.sh mts.conf.in sendfiles.in
-# data files we need to install
-FILES = $(DIST_FILES) $(GEN_FILES)
+# scripts generated using above GENERATED_FILE_SRCs; don't add binaries
+# to this list, as they'll get installed with INSTALL_SCRIPT and won't
+# be stripped.
+GENERATED_BIN_FILES = sendfiles
-# scripts to install
-SCRIPTS = sendfiles
+# non-scripts generated using above GENERATED_FILE_SRCs
+GENERATED_ETC_FILES = mhn.defaults mts.conf
-# auxiliary files
-AUX = Makefile.in mhn.defaults.sh mhn.find.sh mts.conf.in
+# auxiliary files (included in distribution but not installed)
+AUX = Makefile.in
-# all files in this directory included in the distribution
-DIST = $(DIST_FILES) $(SCRIPTS) $(AUX)
+# all non-generated files in this directory are included in the distribution
+DIST = $(STATIC_FILES) $(GENERATED_FILE_SRCS) $(AUX)
# ========= DEPENDENCIES FOR BUILDING ==========
-all: $(GEN_FILES)
+all: $(GENERATED_BIN_FILES) $(GENERATED_ETC_FILES)
mhn.defaults: $(srcdir)/mhn.defaults.sh $(MHNSEARCHPROG)
rm -f $@
$(srcdir)/mhn.defaults.sh $(MHNSEARCHPATH) $(MHNSEARCHPROG) > $@
-mts.conf: $(srcdir)/mts.conf.in
+mts.conf: $(srcdir)/mts.conf.in Makefile
rm -f $@
$(SED) -e 's,%mailspool%,$(mailspool),' \
- -e 's,%etcdir%,$(etcdir),' < $(srcdir)/mts.conf.in > $@
+ -e 's,%etcdir%,$(etcdir),' \
+ -e 's,%masquerade%,$(masquerade),' < $(srcdir)/mts.conf.in > $@
-install: install-files install-scripts
+sendfiles: $(srcdir)/sendfiles.in Makefile
+ rm -f $@
+ $(SED) -e 's,%libdir%,$(libdir),' < $(srcdir)/sendfiles.in > $@
-install-files:
- $(top_srcdir)/mkinstalldirs $(etcdir)
- for file in $(DIST_FILES); do \
- if [ -f $(etcdir)/$$file ]; then \
- mv $(etcdir)/$$file $(etcdir)/$$file.old; \
- fi; \
- $(INSTALL_DATA) $(srcdir)/$$file $(etcdir)/$$file; \
- done
- for file in $(GEN_FILES); do \
- if [ -f $(etcdir)/$$file ]; then \
- mv $(etcdir)/$$file $(etcdir)/$$file.old; \
- fi; \
- $(INSTALL_DATA) $$file $(etcdir)/$$file; \
+install: install-bin-files install-etc-files
+
+install-bin-files:
+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
+ for script in $(GENERATED_BIN_FILES); do \
+ $(INSTALL_SCRIPT) $$script $(DESTDIR)$(bindir)/$$script; \
done
-install-scripts:
- $(top_srcdir)/mkinstalldirs $(bindir)
- for script in $(SCRIPTS); do \
- $(INSTALL_PROGRAM) $(srcdir)/$$script $(bindir)/$$script; \
+install-etc-files:
+ $(top_srcdir)/mkinstalldirs $(DESTDIR)$(etcdir)
+ INSTALL_FILES="$(GENERATED_ETC_FILES)"; \
+ for file in $(STATIC_FILES); do \
+ INSTALL_FILES="$$INSTALL_FILES $(srcdir)/$$file"; \
+ done; \
+ for path in $$INSTALL_FILES; do \
+ file=`basename $$path`; \
+ echo "Installing $$file..."; \
+ if [ -f "$(DESTDIR)$(etcdir)/$$file" ]; then \
+ if cmp -s "$$path" "$(DESTDIR)$(etcdir)/$$file"; then \
+ echo "$(DESTDIR)$(etcdir)/$$file unchanged, skipped"; \
+ else \
+ $(INSTALL_DATA) "$$path" "$(DESTDIR)$(etcdir)/$$file.dist"; \
+ echo "INFO: $(DESTDIR)$(etcdir)/$$file installed with .dist extension"; \
+ fi; \
+ else \
+ $(INSTALL_DATA) $$path $(DESTDIR)$(etcdir)/$$file; \
+ fi; \
done
-uninstall: uninstall-files uninstall-scripts
+uninstall: uninstall-bin-files uninstall-etc-files
-uninstall-files:
- for file in $(FILES); do \
- rm -f $(etcdir)/$$file; \
+uninstall-bin-files:
+ for script in $(GENERATED_BIN_FILES); do \
+ rm -f $(DESTDIR)$(bindir)/$$script; \
done
-uninstall-scripts:
- for script in $(SCRIPTS); do \
- rm -f $(bindir)/$$script; \
+uninstall-etc-files:
+ for file in $(STATIC_FILES) $(GENERATED_ETC_FILES); do \
+ rm -f $(DESTDIR)$(etcdir)/$$file; \
done
# ========== DEPENDENCIES FOR CLEANUP ==========
rm -f *~
clean: mostlyclean
- rm -f $(GEN_FILES)
+ rm -f $(GENERATED_ETC_FILES) $(GENERATED_BIN_FILES)
distclean: clean
rm -f Makefile
subdir = etc
Makefile: Makefile.in ../config.status
- cd .. && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
-
+ cd .. && ./config.status $(subdir)/$@
+
distdir = ../`cat ../distname`/$(subdir)
nmhdist: $(DIST)
@echo "Copying distribution files in $(subdir)"
@for file in $(DIST); do \
cp -p $(srcdir)/$$file $(distdir); \
done
-