2 # Makefile for top level of nmh distribution
12 abs_srcdir = @abs_srcdir@
13 datarootdir = @datarootdir@
16 # ========== USER CONFIGURATION SECTION ==========
18 # If `make' is executed in the directory containing this Makefile,
19 # any changes made in this section will override the values of
20 # these parameters in makefiles in any of the subdirectories.
23 exec_prefix = @exec_prefix@
25 # location of standard commands
28 # location of support binaries and scripts
31 # location of nmh configuration and formats files
34 # location of man pages
40 # location of incoming mail
41 mailspool = @mailspool@
43 # location of mail transport agent
44 sendmailpath = @sendmailpath@
47 default_editor = @editorpath@
50 default_pager = @pagerpath@
54 DEFS = @DEFS@ @OURDEFS@
59 # ========== YOU SHOULDN'T HAVE TO CHANGE ANYTHING BELOW HERE ==========
61 # flags passed to recursive makes in subdirectories
62 MAKEDEFS = CC='$(CC)' CPPFLAGS='$(CPPFLAGS)' DEFS='$(DEFS)' \
63 CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' LIBS='$(LIBS)' \
64 prefix='$(prefix)' exec_prefix='$(exec_prefix)' bindir='$(bindir)' \
65 etcdir='$(etcdir)' libdir='$(libdir)' mandir='$(mandir)' \
66 mailspool='$(mailspool)' sendmailpath='$(sendmailpath)' \
67 default_editor='$(default_editor)' default_pager='$(default_pager)'
70 INSTALL_PROGRAM = @INSTALL_PROGRAM@
71 INSTALL_DATA = @INSTALL_DATA@
75 # all files in this directory included in the distribution
76 DIST = ChangeLog COPYRIGHT DATE INSTALL MACHINES README VERSION \
77 ChangeLog install-sh mkinstalldirs Makefile.in aclocal.m4 \
78 acconfig.h config.h.in configure.in configure stamp-h.in \
79 config.sub config.guess
81 # subdirectories in distribution
82 SUBDIRS = h config sbr mts uip etc man docs
84 # ========== DEPENDENCIES FOR BUILDING AND INSTALLING ==========
87 all: config.h Makefile all-recursive
90 for subdir in $(SUBDIRS); do \
91 (cd $$subdir && $(MAKE) $(MAKEDEFS) all) || exit 1; \
95 for subdir in $(SUBDIRS); do \
96 (cd $$subdir && $(MAKE) $(MAKEDEFS) $@) || exit 1; \
100 for subdir in $(SUBDIRS); do \
101 (cd $$subdir && $(MAKE) $(MAKEDEFS) $@) || exit 1; \
104 # ========== DEPENDENCIES FOR CLEANUP ==========
106 mostlyclean: mostlyclean-recursive mostlyclean-local
107 clean: clean-recursive clean-local
108 distclean: distclean-recursive distclean-local
109 realclean: realclean-recursive realclean-local
110 superclean: superclean-recursive superclean-local
114 $(RM) -r autom4te.cache
116 clean-local: mostlyclean-local
118 distclean-local: clean-local
119 rm -f Makefile config.h config.status config.log config.cache stamp-h distname
122 realclean-local: distclean-local
124 superclean-local: realclean-local
125 cd $(srcdir) && rm -f config.h.in stamp-h.in configure
127 mostlyclean-recursive clean-recursive distclean-recursive realclean-recursive superclean-recursive:
128 for subdir in $(SUBDIRS); do \
129 target=`echo $@ | sed 's/-recursive//'`; \
130 (cd $$subdir && $(MAKE) $(MAKEDEFS) $$target) || exit 1; \
133 # ========== DEPENDENCIES FOR MAINTENANCE ==========
136 for subdir in $(SUBDIRS); do \
137 ( cd $$subdir && $(MAKE) $(MAKEDEFS) lint ) || exit 1; \
140 # ========== DEPENDENCIES FOR MAINTENANCE ==========
142 Makefile: Makefile.in config.status
145 config.status: configure VERSION
146 ./config.status --recheck
148 configure: configure.in aclocal.m4
149 cd $(srcdir) && autoconf
152 stamp-h: config.h.in config.status
153 ./config.status config.h stamp
155 config.h.in: stamp-h.in
156 stamp-h.in: configure.in acconfig.h aclocal.m4
157 cd $(srcdir) && autoheader
160 # rebuild all autoconf files
162 cd $(srcdir) && autoheader
163 cd $(srcdir) && autoconf
164 cd $(srcdir) && date > stamp-h.in
166 # name of new nmh distribution tar file
167 tarfile = nmh-$(VERSION).tar.gz
169 # ftp directory location
172 # file containing name of new nmh distribution
174 @echo nmh-$(VERSION) > distname
176 # build nmh distribution
177 distdir = `cat distname`
178 nmhdist: $(DIST) distname
179 @echo "Begin building nmh-$(VERSION) distribution"
182 @chmod 755 $(distdir)
183 @echo "Copying distribution files in main directory"
184 @for file in $(DIST); do \
185 cp -p $(srcdir)/$$file $(distdir); \
187 @for subdir in $(SUBDIRS); do \
188 mkdir $(distdir)/$$subdir; \
189 chmod 755 $(distdir)/$$subdir; \
190 (cd $$subdir && $(MAKE) $@) || exit 1; \
192 chmod -R a+r $(distdir)
193 tar chf - $(distdir) | gzip -c > $(tarfile)
194 rm -rf $(distdir) distname
195 @echo "Done building nmh-$(VERSION) distribution"
197 # release a new nmh distribution into ftp directory
199 rm -f $(ftpdir)/$(tarfile)
200 rm -f $(ftpdir)/nmh.tar.gz
201 mv $(tarfile) $(ftpdir)/$(tarfile)
202 cd $(ftpdir) && ln -s $(tarfile) nmh.tar.gz
203 cd $(ftpdir) && md5sum *.gz > MD5SUM
205 # Create binary and source RPMs.
206 # _topdir is the specified RPM build root.
207 # _tmppath is TMP below _topdir.
209 @test -d $(rpmdir)/SOURCES || mkdir -p $(rpmdir)/SOURCES
210 @test -d $(rpmdir)/SPECS || mkdir -p $(rpmdir)/SPECS
211 @mv -f $(tarfile) $(rpmdir)/SOURCES
212 @cp -p VERSION $(rpmdir)/SOURCES
213 @cp -p nmh.spec $(rpmdir)/SPECS
214 @rpmbuild --define '_topdir $(rpmdir)' \
215 --define '_tmppath %{_topdir}/TMP' \
216 -ba $(rpmdir)/SPECS/nmh.spec