#
-# Makefile for top level of nmh distribution
+# Makefile for top level of mmh distribution
#
-# $Id$
-#
-
-# nmh version
-VERSION = @VERSION@
SHELL = /bin/sh
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
+# mmh version
+VERSION = `sed q $(srcdir)/VERSION`
+
# ========== USER CONFIGURATION SECTION ==========
#
# If `make' is executed in the directory containing this Makefile,
# any changes made in this section will override the values of
# these parameters in makefiles in any of the subdirectories.
-
+
prefix = @prefix@
exec_prefix = @exec_prefix@
# location of support binaries and scripts
libdir = @libdir@
-# location of nmh configuration and formats files
+# location of mmh configuration and formats files
etcdir = @sysconfdir@
+# location of ...
+datarootdir = @datarootdir@
+
# location of man pages
mandir = @mandir@
-
+
# location of incoming mail
mailspool = @mailspool@
# location of mail transport agent
sendmailpath = @sendmailpath@
-# default editor
-default_editor = @editorpath@
-
-# default pager
-default_pager = @pagerpath@
-
CC = @CC@
CPPFLAGS = @CPPFLAGS@
-DEFS = @DEFS@
+DEFS = @DEFS@ @OURDEFS@
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
-
+
# ========== YOU SHOULDN'T HAVE TO CHANGE ANYTHING BELOW HERE ==========
# flags passed to recursive makes in subdirectories
CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' LIBS='$(LIBS)' \
prefix='$(prefix)' exec_prefix='$(exec_prefix)' bindir='$(bindir)' \
etcdir='$(etcdir)' libdir='$(libdir)' mandir='$(mandir)' \
-mailspool='$(mailspool)' sendmailpath='$(sendmailpath)' \
-default_editor='$(default_editor)' default_pager='$(default_pager)'
+mailspool='$(mailspool)' sendmailpath='$(sendmailpath)'
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
.SUFFIXES:
-# all files in this directory included in the distribution
-DIST = README INSTALL MACHINES COPYRIGHT VERSION DIFFERENCES FAQ \
- TODO ZSH.COMPLETION MAIL.FILTERING ChangeLog install-sh \
- mkinstalldirs Makefile.in aclocal.m4 acconfig.h config.h.in \
- configure.in configure stamp-h.in
+# distribute all files that are under version control ...
+# ... plus (for convenience):
+DISTINCLUDE = config.h.in configure stamp-h.in sbr/dtimep.c ChangeLog
+# ... minus (git stuff):
+DISTEXCLUDE = .git .gitignore
-# subdirectories in distribution
-SUBDIRS = h config sbr zotnet mts uip etc man
+# Subdirectories with own Makefiles
+SUBDIRS = h config sbr uip etc man
# ========== DEPENDENCIES FOR BUILDING AND INSTALLING ==========
(cd $$subdir && $(MAKE) $(MAKEDEFS) all) || exit 1; \
done
-install uninstall:
+install: all
+ for subdir in $(SUBDIRS); do \
+ (cd $$subdir && $(MAKE) $(MAKEDEFS) $@) || exit 1; \
+ done
+
+uninstall:
for subdir in $(SUBDIRS); do \
(cd $$subdir && $(MAKE) $(MAKEDEFS) $@) || exit 1; \
done
mostlyclean-local:
rm -f *~
+ rm -rf autom4te.cache
clean-local: mostlyclean-local
distclean-local: clean-local
- rm -f Makefile config.h config.status config.log config.cache stamp-h distname
+ rm -f Makefile config.h config.status config.log config.cache stamp-h distname ChangeLog
realclean-local: distclean-local
# ========== DEPENDENCIES FOR MAINTENANCE ==========
+lint:
+ for subdir in $(SUBDIRS); do \
+ ( cd $$subdir && $(MAKE) $(MAKEDEFS) lint ) || exit 1; \
+ done
+
+# ========== DEPENDENCIES FOR MAINTENANCE ==========
+
Makefile: Makefile.in config.status
- CONFIG_FILES=$@ CONFIG_HEADERS= ./config.status
+ ./config.status $@
config.status: configure VERSION
./config.status --recheck
-configure: configure.in aclocal.m4
+configure: configure.ac
cd $(srcdir) && autoconf
config.h: stamp-h
stamp-h: config.h.in config.status
- CONFIG_FILES= CONFIG_HEADERS=config.h ./config.status
+ ./config.status config.h stamp
config.h.in: stamp-h.in
-stamp-h.in: configure.in acconfig.h aclocal.m4
+stamp-h.in: configure.ac
cd $(srcdir) && autoheader
- echo > $@
+ date > $@
# rebuild all autoconf files
reset:
cd $(srcdir) && autoheader
cd $(srcdir) && autoconf
- cd $(srcdir) && echo > stamp-h.in
-
-# name of new nmh distribution tar file
-tarfile = nmh-$(VERSION).tar.gz
+ cd $(srcdir) && date > stamp-h.in
-# ftp directory location
-ftpdir = /ftp/nmh
+# name of new mmh distribution tar file
+tarfile = mmh-$(VERSION).tar.gz
-# file containing name of new nmh distribution
+# file containing name of new mmh distribution
distname:
- @echo nmh-$(VERSION) > distname
+ @echo mmh-$(VERSION) > distname
+
+# pre-generate this file so users don't need lex(1)
+sbr/dtimep.c:
+ @cd $(srcdir)/sbr && $(MAKE) dtimep.c
-# build nmh distribution
+ChangeLog:
+ @git whatchanged --format=fuller > $@
+
+# build mmh distribution
distdir = `cat distname`
-nmhdist: $(DIST) distname
- @echo "Begin building nmh-$(VERSION) distribution"
- rm -rf $(distdir)
- mkdir $(distdir)
+mmhdist: $(DISTINCLUDE) distname
+ @echo "Begin building mmh-$(VERSION) distribution"
+ @rm -rf $(distdir)
+ @echo "Copying files to distribution directory"
+ @git clone $(srcdir) $(distdir)
@chmod 755 $(distdir)
- @echo "Copying distribution files in main directory"
- @for file in $(DIST); do \
- cp -p $(srcdir)/$$file $(distdir); \
+ @sleep 1 #avoid rebuilding sbr/dtimep.c in release
+ @for file in $(DISTINCLUDE); do \
+ cp -p $(srcdir)/$$file $(distdir)/$$file; \
+ touch $(distdir)/$$file; \
done
- @for subdir in $(SUBDIRS); do \
- mkdir $(distdir)/$$subdir; \
- chmod 755 $(distdir)/$$subdir; \
- (cd $$subdir && $(MAKE) $@) || exit 1; \
+ @for file in $(DISTEXCLUDE); do \
+ rm -rf $(distdir)/$$file; \
done
- chmod -R a+r $(distdir)
- tar chf - $(distdir) | gzip -c > $(tarfile)
- rm -rf $(distdir) distname
- @echo "Done building nmh-$(VERSION) distribution"
-
-# release a new nmh distribution into ftp directory
-nmhrelease:
- rm -f $(ftpdir)/$(tarfile)
- rm -f $(ftpdir)/nmh.tar.gz
- mv $(tarfile) $(ftpdir)/$(tarfile)
- cd $(ftpdir) && ln -s $(tarfile) nmh.tar.gz
- cd $(ftpdir) && md5sum *.gz > MD5SUM
-
+ @chmod -R a+r $(distdir)
+ tar --owner=0 --group=0 -chf - $(distdir) | gzip -c > $(tarfile)
+ @rm -rf $(distdir) distname
+ @echo "Done building mmh-$(VERSION) distribution"