## $Id: Makefile.global.in 7345 2005-07-02 05:04:05Z eagle $
##
## This file is meant to be the central Makefile that configure works with
## and that all other Makefiles include. No Makefile other than this one
## should have to be a configure substitution target.
##
## For installation paths, see the bottom of this file.
## This version information is used to generate lib/version.c and is used
## by INN for banner and local version identification. The version
## identification string will be "$VERSION ($VERSION_EXTRA)", with the
## parentheses omitted if $VERSION_EXTRA is empty (as it is for major
## releases). If you make extensive local modifications to INN, you can
## put your own version information in $VERSION_EXTRA. If it's set to
## "CVS prerelease", the build time will be automatically included.
VERSION = 2.4.3
VERSION_EXTRA =
## If you want to install INN relative to a root directory other than /,
## set DESTDIR to the path to the root directory of the file system. This
## won't affect any of the paths compiled into INN; it's used primarily
## when building a software distribution, where software has to be
## installed into some file system that will later be mounted as / on the
## final system. DESTDIR should have a trailing slash, as the trailing
## slash is not added automatically (in case someone wants to add a prefix
## that isn't just a parent directory).
DESTDIR =
D = $(DESTDIR)
## The absolute path to the top of the build directory, used to find the
## libraries built as part of INN. Using relative paths confuses libtool
## when linking the test suite.
builddir = @builddir@
## Basic compiler settings. COPT is the variable to override on the make
## command line to change the optimization or add warning flags (such as
## -Wall). LFS_* is for large file support. All of INN is built with the
## large file support flags if provided.
CC = @CC@
COPT = @CFLAGS@
GCFLAGS = $(COPT) -I$(top)/include @CPPFLAGS@ $(LFS_CFLAGS)
BERKELEY_DB_CFLAGS = @BERKELEY_DB_CFLAGS@
LDFLAGS = @LDFLAGS@ $(LFS_LDFLAGS) @BERKELEY_DB_LDFLAGS@
LIBS = @LIBS@ $(LFS_LIBS)
LFS_CFLAGS = @LFS_CFLAGS@
LFS_LDFLAGS = @LFS_LDFLAGS@
LFS_LIBS = @LFS_LIBS@
PROF = -pg
PROFSUFFIX = _p
MAKEPROFILING = $(MAKE) COPT="$(COPT) $(PROF)" \
LDFLAGS="$(LDFLAGS) $(PROF)" \
LIBSUFFIX=$(PROFSUFFIX)
## Used to support non-recursive make. This variable is set to the necessary
## options to the compiler to create an object file in a subdirectory. It
## should be used instead of -c -o $@ $< and may be replaced with code that
## calls mv, if the compiler doesn't support -c with -o.
CCOUTPUT = @CCOUTPUT@
## Warnings to use with gcc. Default to including all of the generally
## useful warnings unless there's something that makes them unsuitable. In
## particular, the following warnings are *not* included:
##
## -ansi Requires messing with feature test macros.
## -pedantic Too much noise from embedded Perl.
## -Wtraditional We assume ANSI C, so these aren't interesting.
## -Wshadow Names like log or index are too convenient.
## -Wcast-qual Used for a while, but some casts are unavoidable.
## -Wconversion Too much unsigned to signed noise.
## -Wredundant-decls Too much noise from system headers.
##
## Some may be worth looking at again once a released version of gcc doesn't
## warn on system headers. The warnings below are in the same order as
## they're listed in the gcc manual.
##
## Add -g because when building with warnings one generally also wants the
## debugging information, and add -O because gcc won't find some warnings
## without optimization turned on. Add -DDEBUG=1 so that we'll also
## compile all debugging code and check it as well.
WARNINGS = -g -O -DDEBUG=1 -Wall -W -Wendif-labels -Wpointer-arith \
-Wbad-function-cast -Wcast-align -Wwrite-strings \
-Wstrict-prototypes -Wmissing-prototypes -Wnested-externs
## libtool support. Note that INN does not use Automake (and that
## retrofitting Automake is likely more work than it's worth), so
## libtool-aware rules have to be written by hand.
LIBTOOL = @LIBTOOL@
LIBTOOLCC = @LIBTOOLCC@
LIBTOOLLD = @LIBTOOLLD@
EXTOBJ = @EXTOBJ@
EXTLIB = @EXTLIB@
LIBCC = $(LIBTOOLCC) $(CC)
LIBLD = $(LIBTOOLLD) $(CC)
## INN libraries. Nearly all INN programs are linked with libinn, and any
## INN program that reads from or writes to article storage or overview is
## linked against libstorage. EXTSTORAGELIBS is for external libraries
## needed by libstorage.
LIBINN = $(builddir)/lib/libinn$(LIBSUFFIX).$(EXTLIB)
LIBHIST = $(builddir)/history/libinnhist$(LIBSUFFIX).$(EXTLIB)
LIBSTORAGE = $(builddir)/storage/libstorage$(LIBSUFFIX).$(EXTLIB)
EXTSTORAGELIBS = @BERKELEY_DB_LIB@
CRYPTLIB = @CRYPT_LIB@
DBMLIB = @DBM_LIB@
PAMLIB = @PAM_LIB@
REGEXLIB = @REGEX_LIB@
SHADOWLIB = @SHADOW_LIB@
## Embedding support. Additional flags and libraries used when compiling
## or linking portions of INN that support embedded interpretors, set by
## configure based on what interpretor embeddings are selected.
PERLLIB = $(builddir)/lib/perl$(LIBSUFFIX).o @PERL_LIB@
PERLINC = @PERL_INC@
PYTHONLIB = @PYTHON_LIB@
PYTHONINC = @PYTHON_INC@
## OpenSSL support. Additional flags and libraries used when compiling or
## linking code that contains OpenSSL support, and the path to the OpenSSL
## binaries.
SSLLIB = @SSL_LIB@
SSLINC = @SSL_INC@
SSLBIN = @SSL_BIN@
## SASL support. Additional flags and libraries used when compiling or
## linking code that contains SASL support.
SASLLIB = @SASL_LIB@
SASLINC = @SASL_INC@
## Kerberos support. Additional flags and libraries used when compiling or
## linking code that contains Kerberos support. If Kerberos libraries were
## compiled, KRB5_AUTH is also set to the name of the Kerberos v5
## authenticator that should be compiled and installed.
KRB5LIB = @KRB5_LIB@
KRB5INC = @KRB5_INC@
KRB5_AUTH = @KRB5_AUTH@
## Missing functions. If non-empty, configure detected that your system
## was missing some standard functions, and INN will be providing its own
## replacements from the lib directory.
LIBOBJS = @LIBOBJS@
## Paths to various standard programs used during the build process.
## Changes to this file will *not* be reflected in the paths compiled into
## programs; these paths are only used during the build process and for
## some autogenerated scripts. To change the compiled paths, see
## include/paths.h. You may also need to modify scripts/innshellvars*.
AWK = @_PATH_AWK@
COMPRESS = @COMPRESS@
CTAGS = @CTAGS@
GZIP = @GZIP@
LEX = @LEX@
PERL = @_PATH_PERL@
RANLIB = @RANLIB@
YACC = @YACC@
UNCOMPRESS = @UNCOMPRESS@
FIXSCRIPT = $(top)/support/fixscript
PERLWHOAMI = $(PERL) -e 'print scalar getpwuid($$>), "\n"'
WHOAMI = (whoami || /usr/ucb/whoami || $(PERLWHOAMI)) 2> /dev/null
## Paths and command lines for programs used only by the maintainers to
## regenerate dependencies, documentation, and the like.
MAKEDEPEND = $(top)/support/makedepend
POD2MAN = pod2man -c 'InterNetNews Documentation' -r 'INN $(VERSION)'
POD2TEXT = pod2text -s -l
## Installation directories. If any of the below are incorrect, don't just
## edit this file; these directories are substituted in all over the source
## tree by configure. Instead, re-run configure with the correct
## command-line flags to set the directories. Run configure --help for a
## list of supported flags.
prefix = @prefix@
PATHNEWS = $(prefix)
PATHBIN = $(PATHNEWS)/bin
PATHDOC = @DOCDIR@
PATHETC = @ETCDIR@
PATHMAN = @mandir@
PATHINCLUDE = @includedir@
PATHLIB = @LIBDIR@
PATHCONTROL = @CONTROLDIR@
PATHFILTER = @FILTERDIR@
PATHRUN = @RUNDIR@
PATHLOG = @LOGDIR@
PATHLOGOLD = $(PATHLOG)/OLD
PATHDB = @DBDIR@
PATHSPOOL = @SPOOLDIR@
PATHTMP = @tmpdir@
PATHAUTH = $(PATHBIN)/auth
PATHAUTHRESOLV = $(PATHAUTH)/resolv
PATHAUTHPASSWD = $(PATHAUTH)/passwd
PATHRNEWS = $(PATHBIN)/rnews.libexec
PATHARCHIVE = $(PATHSPOOL)/archive
PATHARTICLES = $(PATHSPOOL)/articles
PATHINCOMING = $(PATHSPOOL)/incoming
PATHTAPE = $(PATHSPOOL)/innfeed
PATHINBAD = $(PATHINCOMING)/bad
PATHOVERVIEW = $(PATHSPOOL)/overview
PATHOUTGOING = $(PATHSPOOL)/outgoing
MAN1 = @mandir@/man1
MAN3 = @mandir@/man3
MAN5 = @mandir@/man5
MAN8 = @mandir@/man8
## Installation settings. The file installation modes are determined by
## configure; inews and rnews are special and have configure flags to
## control how they're installed. See INSTALL for more information.
NEWSUSER = @NEWSUSER@
NEWSGROUP = @NEWSGRP@
INEWSMODE = @INEWSMODE@
RNEWSMODE = @RNEWSMODE@
FILEMODE = @FILEMODE@
OWNER = -o $(NEWSUSER) -g $(NEWSGROUP)
ROWNER = -o $(NEWSUSER) -g @RNEWSGRP@
INSTALL = $(top)/support/install-sh -c
## Installation commands. These commands are used by the installation rules
## of each separate subdirectory. The naming scheme is as follows: the first
## two characters are CP (indicating a plain copy) or LI (indicating an
## installation that goes through libtool). After an underscore is a
## one-character indicator of the file type (R for a regular file, X for an
## executable, S for a setuid root executable) and then PUB for a
## world-readable/world-executable file or PRI for a group-readable/
## group-executable file (only the news group).
##
## inews and rnews have their own special installation rules, as do database
## files like active and newsgroups that should have the same permissions as
## article files.
LI_SPRI = $(LIBTOOL) $(INSTALL) -o root -g $(NEWSGROUP) -m 4550 -B .OLD
LI_XPRI = $(LIBTOOL) $(INSTALL) $(OWNER) -m 0550 -B .OLD
LI_XPUB = $(LIBTOOL) $(INSTALL) $(OWNER) -m 0555 -B .OLD
LI_INEWS = $(LIBTOOL) $(INSTALL) $(OWNER) -m $(INEWSMODE) -B .OLD
LI_RNEWS = $(LIBTOOL) $(INSTALL) $(ROWNER) -m $(RNEWSMODE) -B .OLD
CP_RPRI = $(INSTALL) $(OWNER) -m 0640 -B .OLD
CP_RPUB = $(INSTALL) $(OWNER) -m 0644 -B .OLD
CP_XPRI = $(INSTALL) $(OWNER) -m 0550 -B .OLD
CP_XPUB = $(INSTALL) $(OWNER) -m 0555 -B .OLD
CP_DATA = $(INSTALL) $(OWNER) -m $(FILEMODE) -B .OLD
## How to install man pages. Pick one of SOURCE, BSD4.4, NROFF-PACK, or
## NROFF-PACK-SCO. Used by doc/man/putman.sh; read that script for more
## information on what it does.
MANPAGESTYLE = SOURCE
## Some additional definitions needed by some versions of make, to ensure a
## consistant set of variables are available.
SHELL = /bin/sh
@SET_MAKE@
syntax highlighted by Code2HTML, v. 0.9.1