-## $Id: Makefile 7488 2005-12-25 00:26:08Z eagle $
+all:
-include Makefile.global
-
-## All installation directories except for $(PATHRUN), which has a
-## different mode than the rest.
-INSTDIRS = $(PATHNEWS) $(PATHBIN) $(PATHAUTH) $(PATHAUTHRESOLV) \
- $(PATHAUTHPASSWD) $(PATHCONTROL) $(PATHFILTER) \
- $(PATHRNEWS) $(PATHDB) $(PATHDOC) $(PATHETC) $(PATHLIB) \
- $(PATHMAN) $(MAN1) $(MAN3) $(MAN5) $(MAN8) $(PATHSPOOL) \
- $(PATHTMP) $(PATHARCHIVE) $(PATHARTICLES) $(PATHINCOMING) \
- $(PATHINBAD) $(PATHTAPE) $(PATHOVERVIEW) $(PATHOUTGOING) \
- $(PATHLOG) $(PATHLOG)/OLD $(PATHINCLUDE)
-
-## LIBDIRS are built before PROGDIRS, make update runs in all UPDATEDIRS,
-## and make install runs in all ALLDIRS. Nothing runs in test except the
-## test target itself and the clean targets. Currently, include is built
-## before anything else but nothing else runs in it except clean targets.
-LIBDIRS = include lib storage history
-PROGDIRS = innd nnrpd innfeed control expire frontends backends authprogs \
- scripts
-UPDATEDIRS = $(LIBDIRS) $(PROGDIRS) doc
-ALLDIRS = $(UPDATEDIRS) samples site
-CLEANDIRS = $(ALLDIRS) include tests
-
-## The directory name and tar file to use when building a release.
-TARDIR = inn-$(VERSION)
-TARFILE = $(TARDIR).tar
-
-## The directory to use when building a snapshot.
-SNAPDIR = inn-$(SNAPSHOT)-$(SNAPDATE)
-
-## DISTDIRS gets all directories from the MANIFEST, and DISTFILES gets all
-## regular files. Anything not listed in the MANIFEST will not be included
-## in a distribution. These are arguments to sed.
-DISTDIRS = -e 1,2d -e '/(Directory)/!d' -e 's/ .*//' -e 's;^;$(TARDIR)/;'
-SNAPDIRS = -e 1,2d -e '/(Directory)/!d' -e 's/ .*//' -e 's;^;$(SNAPDIR)/;'
-DISTFILES = -e 1,2d -e '/(Directory)/d' -e 's/ .*//'
-
-
-## Major target -- build everything. Rather than just looping through
-## all the directories, use a set of parallel rules so that make -j can
-## work on more than one directory at a time.
-all: all-include all-libraries all-programs
- cd doc && $(MAKE) all
- cd samples && $(MAKE) all
- cd site && $(MAKE) all
-
-all-libraries: all-lib all-storage all-history
-
-all-include: ; cd include && $(MAKE) all
-all-lib: all-include ; cd lib && $(MAKE) all
-all-storage: all-lib ; cd storage && $(MAKE) library
-all-history: all-storage ; cd history && $(MAKE) all
-
-all-programs: all-innd all-nnrpd all-innfeed all-control all-expire \
- all-frontends all-backends all-authprogs all-scripts \
- all-store-util
-
-all-authprogs: all-lib ; cd authprogs && $(MAKE) all
-all-backends: all-libraries ; cd backends && $(MAKE) all
-all-control: ; cd control && $(MAKE) all
-all-expire: all-libraries ; cd expire && $(MAKE) all
-all-frontends: all-libraries ; cd frontends && $(MAKE) all
-all-innd: all-libraries ; cd innd && $(MAKE) all
-all-innfeed: all-libraries ; cd innfeed && $(MAKE) all
-all-nnrpd: all-libraries ; cd nnrpd && $(MAKE) all
-all-scripts: ; cd scripts && $(MAKE) all
-all-store-util: all-libraries ; cd storage && $(MAKE) programs
-
-
-## If someone tries to run make before running configure, tell them to run
-## configure first.
-Makefile.global:
- @echo 'Run ./configure before running make. See INSTALL for details.'
- @exit 1
-
-
-## Installation rules. make install installs everything; make update only
-## updates the binaries, scripts, and documentation and leaves config
-## files alone.
-install: directories
- @for D in $(ALLDIRS) ; do \
- echo '' ; \
- cd $$D && $(MAKE) install || exit 1 ; cd .. ; \
- done
- @echo ''
- @echo 'If this is a first-time installation, a minimal active file and'
- @echo 'history database have been installed. Do not forget to update'
- @echo 'your cron entries and configure INN. See INSTALL for more'
- @echo 'information.'
- @echo ''
-
-directories:
- @chmod +x support/install-sh
- for D in $(INSTDIRS) ; do \
- support/install-sh $(OWNER) -m 0755 -d $(D)$$D ; \
- done
- support/install-sh $(OWNER) -m 0750 -d $(D)$(PATHRUN)
-
-update:
- @chmod +x support/install-sh
- @for D in $(UPDATEDIRS) ; do \
- echo '' ; \
- cd $$D && $(MAKE) install || exit 1 ; cd .. ; \
- done
- $(PATHBIN)/innupgrade $(PATHETC)
-
-## Install a certificate for TLS/SSL support.
-cert:
- $(SSLBIN)/openssl req -new -x509 -nodes \
- -out $(PATHLIB)/cert.pem -days 366 \
- -keyout $(PATHLIB)/key.pem
- chown $(NEWSUSER) $(PATHLIB)/cert.pem
- chgrp $(NEWSGROUP) $(PATHLIB)/cert.pem
- chmod 640 $(PATHLIB)/cert.pem
- chown $(NEWSUSER) $(PATHLIB)/key.pem
- chgrp $(NEWSGROUP) $(PATHLIB)/key.pem
- chmod 600 $(PATHLIB)/key.pem
-
-
-## Cleanup targets. clean deletes all compilation results but leaves the
-## configure results. distclean or clobber removes everything not part of
-## the distribution tarball. maintclean removes some additional files
-## created as part of the release process.
-clean:
- @for D in $(CLEANDIRS) ; do \
- echo '' ; \
- cd $$D && $(MAKE) clean || exit 1 ; cd .. ; \
- done
-
-clobber realclean distclean:
- @for D in $(CLEANDIRS) ; do \
- echo '' ; \
- cd $$D && $(MAKE) $(FLAGS) clobber && cd .. ; \
- done
- @echo ''
- rm -f LIST.* Makefile.global TAGS tags config.cache config.log
- rm -f config.status libtool support/fixscript
-
-maintclean: distclean
- rm -rf $(TARDIR)
- rm -f CHANGES ChangeLog inn*.tar.gz
-
-
-## Other generic targets.
-depend tags ctags profiled:
- @for D in $(ALLDIRS) ; do \
- echo '' ; \
- cd $$D && $(MAKE) $@ || exit 1 ; cd .. ; \
- done
-
-TAGS etags:
- etags */*.c */*.h */*/*.c */*/*.h
-
-
-## Run the test suite.
-check test tests:
- cd tests && $(MAKE) test
-
-
-## For maintainers, build the entire source base with warnings enabled.
-warnings:
- $(MAKE) COPT="$(WARNINGS) $(COPT)" all
-
-
-## Make a release. We create a release by recreating the directory
-## structure and then copying over all files listed in the MANIFEST. If it
-## isn't in the MANIFEST, it doesn't go into the release. We also update
-## the version information in Makefile.global.in to remove the prerelease
-## designation and update all timestamps to the date the release is made.
-release: ChangeLog
- rm -rf $(TARDIR)
- rm -f inn*.tar.gz
- mkdir $(TARDIR)
- for d in `sed $(DISTDIRS) MANIFEST` ; do mkdir -p $$d ; done
- for f in `sed $(DISTFILES) MANIFEST` ; do \
- cp $$f $(TARDIR)/$$f || exit 1 ; \
- done
- sed 's/= prerelease/=/' < Makefile.global.in \
- > $(TARDIR)/Makefile.global.in
- cp ChangeLog $(TARDIR)
- find $(TARDIR) -type f -print | xargs touch -t `date +%m%d%H%M.%S`
- tar cf $(TARFILE) $(TARDIR)
- $(GZIP) -9 $(TARFILE)
-
-## Generate the ChangeLog using support/mkchangelog. This should only be
-## run by a maintainer since it depends on cvs log working and also
-## requires cvs2cl be available somewhere.
-ChangeLog:
- $(PERL) support/mkchangelog
-
-
-## Check the MANIFEST against the files present in the current tree,
-## building a list with find and running diff between the lists.
-check-manifest:
- sed -e 1,2d -e 's/ .*//' MANIFEST > LIST.manifest
- $(PERL) support/mkmanifest > LIST.real
- diff -u LIST.manifest LIST.real
-
-
-## Make a snapshot. This is like making a release, except that we don't do
-## the ChangeLog thing and we don't change the version number. We also
-## assume that SNAPSHOT has been set to the appropriate current branch.
-snapshot:
- rm -rf $(SNAPDIR)
- rm -f inn*.tar.gz
- mkdir $(SNAPDIR)
- set -e ; for d in `sed $(SNAPDIRS) MANIFEST` ; do mkdir -p $$d ; done
- set -e ; for f in `sed $(DISTFILES) MANIFEST` ; do \
- cp $$f $(SNAPDIR)/$$f ; \
- done
- cp README.snapshot $(SNAPDIR)/
- sed 's/= prerelease/= $(SNAPDATE) snapshot/' \
- Makefile.global.in > $(SNAPDIR)/Makefile.global.in
- find $(SNAPDIR) -type f -print | xargs touch -t `date +%m%d%H%M.%S`
- tar cf $(SNAPDIR).tar $(SNAPDIR)
- $(GZIP) -9 $(SNAPDIR).tar
+autoconf:
+ autoheader2.50
+ autoconf2.50