libdir = @libdir@
etcdir = @sysconfdir@
+MTS = @MTS@
mailspool = @mailspool@
masquerade = @masquerade@
smtpservers = @smtpservers@
# templates and scripts from which non-static files are generated
GENERATED_FILE_SRCS = mhn.defaults.sh mhn.find.sh mts.conf.in sendfiles.in
-# files generated using above GENERATED_FILE_SRCs
-GENERATED_FILES = mhn.defaults mts.conf sendfiles
+# scripts generated using above GENERATED_FILE_SRCs
+GENERATED_BIN_FILES = sendfiles
-# data files we need to install (in etc)
-INSTALL_FILES = $(STATIC_FILES) $(GENERATED_FILES)
-
-# scripts we need to install (in bin)
-SCRIPTS = sendfiles
+# non-scripts generated using above GENERATED_FILE_SRCs
+GENERATED_ETC_FILES = mhn.defaults mts.conf
# auxiliary files (included in distribution but not installed)
AUX = Makefile.in
# all non-generated files in this directory are included in the distribution
-DIST = $(STATIC_FILES) $(GENERATED_FILE_SRCS) $(SCRIPTS) $(AUX)
+DIST = $(STATIC_FILES) $(GENERATED_FILE_SRCS) $(AUX)
# ========= DEPENDENCIES FOR BUILDING ==========
-all: $(GENERATED_FILES)
+all: $(GENERATED_BIN_FILES) $(GENERATED_ETC_FILES)
mhn.defaults: $(srcdir)/mhn.defaults.sh $(MHNSEARCHPROG)
rm -f $@
mts.conf: $(srcdir)/mts.conf.in Makefile
rm -f $@
- $(SED) -e 's,%mailspool%,$(mailspool),' \
+ $(SED) -e 's,%mts%,$(MTS),' \
+ -e 's,%mailspool%,$(mailspool),' \
-e 's,%etcdir%,$(etcdir),' \
-e 's,%masquerade%,$(masquerade),' \
-e 's,%smtpservers%,$(smtpservers),' < $(srcdir)/mts.conf.in > $@
rm -f $@
$(SED) -e 's,%libdir%,$(libdir),' < $(srcdir)/sendfiles.in > $@
-install: install-files install-scripts
+install: install-bin-files install-etc-files
+
+install-bin-files:
+ $(top_srcdir)/mkinstalldirs $(bindir)
+ for script in $(GENERATED_BIN_FILES); do \
+ $(INSTALL_PROGRAM) $$script $(bindir)/$$script; \
+ done
-install-files:
+install-etc-files:
$(top_srcdir)/mkinstalldirs $(etcdir)
- for file in $(INSTALL_FILES); do \
- echo $$file; \
+ 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 $(etcdir)/$$file ]; then \
mv $(etcdir)/$$file $(etcdir)/$$file.prev; \
+ $(INSTALL_DATA) $$path $(etcdir)/$$file; \
+ if diff $(etcdir)/$$file.prev $(etcdir)/$$file; then \
+ rm $(etcdir)/$$file.prev; \
+ else \
+ echo; \
+ echo " Previous version of $$file saved as $$file.prev due\c";\
+ echo " to diffs."; \
+ echo " Please merge any local config changes into the new\c"; \
+ echo " $$file."; \
+ echo; \
+ fi; \
+ else \
+ $(INSTALL_DATA) $$path $(etcdir)/$$file; \
fi; \
- $(INSTALL_DATA) $(srcdir)/$$file $(etcdir)/$$file; \
- if diff $(etcdir)/$$file.prev $(etcdir)/$$file; then \
- rm $(etcdir)/$$file.prev; \
- fi; \
- done
-
-install-scripts:
- $(top_srcdir)/mkinstalldirs $(bindir)
- for script in $(SCRIPTS); do \
- $(INSTALL_PROGRAM) $(srcdir)/$$script $(bindir)/$$script; \
done
-uninstall: uninstall-files uninstall-scripts
+uninstall: uninstall-bin-files uninstall-etc-files
-uninstall-files:
- for file in $(INSTALL_FILES); do \
- rm -f $(etcdir)/$$file; \
+uninstall-bin-files:
+ for script in $(GENERATED_BIN_FILES); do \
+ rm -f $(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 $(etcdir)/$$file; \
done
# ========== DEPENDENCIES FOR CLEANUP ==========
rm -f *~
clean: mostlyclean
- rm -f $(GENERATED_FILES)
+ rm -f $(GENERATED_ETC_FILES) $(GENERATED_BIN_FILES)
distclean: clean
rm -f Makefile