makedefs - Postfix makefile configuration utility
make makefiles name=value...
The makedefs command identifies the compilation
environment, and emits macro definitions on the standard output stream that
can be prepended to template Makefiles. These macros implement an internal
interface and are subject to change without notice.
Default settings can be overruled by specifying them as
environment variables (or as name=value pairs on the "make"
command line). Use quotes if variables contain whitespace or shell meta
characters.
The command "make makefiles name=value..." will
replace the string MAIL_VERSION at the end of a value with the
Postfix version (major.minor.patchlevel for a stable release,
major.minor-date for a development release). Do not try to specify
something like $mail_version: that produces inconsistent results with
different implementations of the make(1) command.
- AUXLIBS=object_library...
- Specifies one or more non-default object libraries. Postfix 3.0 and later
specify some of their database library dependencies with AUXLIBS_CDB,
AUXLIBS_LDAP, AUXLIBS_LMDB, AUXLIBS_MYSQL, AUXLIBS_PCRE, AUXLIBS_PGSQL,
AUXLIBS_SDBM, and AUXLIBS_SQLITE, respectively.
- CC=compiler_command
- Specifies a non-default compiler. On many systems, the default is
gcc.
- CCARGS=compiler_arguments
- Specifies non-default compiler arguments, for example, a non-default
include directory. The following directives are special:
- -DNO_DB
- Do not build with Berkeley DB support.
- -DNO_DEVPOLL
- Do not build with Solaris /dev/poll support. By default, /dev/poll support
is compiled in on platforms that are known to support it.
- -DNO_DNSSEC
- Do not build with DNSSEC support, even if the resolver library appears to
support it.
- -DNO_EPOLL
- Do not build with Linux EPOLL support. By default, EPOLL support is
compiled in on platforms that are known to support it.
- -DNO_EAI
- Do not build with EAI (SMTPUTF8) support. By default, EAI support is
compiled in when the "pkg-config" command is found, or the
deprecated "icu-config" command.
- -DNO_INLINE
- Do not require support for C99 "inline" functions. Instead,
implement argument typechecks for non-(printf/scanf)-like functions with
ternary operators and unreachable code.
- -DNO_IPV6
- Do not build with IPv6 support. By default, IPv6 support is compiled in on
platforms that are known to have IPv6 support.
Note: this directive is for debugging and testing only. It is
not guaranteed to work on all platforms. If you don't want IPv6 support,
set "inet_protocols = ipv4" in main.cf.
- -DNO_IP_CYRUS_SASL_AUTH
- Don't pass remote SMTP client and Postfix SMTP server IP address and port
information to the Cyrus SASL library. This is compatible with Postfix
< 3.2.
- -DNO_KQUEUE
- Do not build with FreeBSD/NetBSD/OpenBSD/MacOSX KQUEUE support. By
default, KQUEUE support is compiled in on platforms that are known to
support it.
- -DNO_NIS
- Do not build with NIS or NISPLUS support. Support for NIS is unavailable
on some recent Linux distributions.
- -DNO_NISPLUS
- Do not build with NISPLUS support. Support for NISPLUS is unavailable on
some recent Solaris distributions.
- -DNO_PCRE
- Do not build with PCRE support. By default, PCRE support is compiled in
when the pcre-config utility is installed.
- -DNO_POSIX_GETPW_R
- Disable support for POSIX getpwnam_r/getpwuid_r.
- -DNO_SIGSETJMP
- Use setjmp()/longjmp() instead of sigsetjmp()/siglongjmp(). By default,
Postfix uses sigsetjmp()/siglongjmp() when they appear to work.
- -DNO_SNPRINTF
- Use sprintf() instead of snprintf(). By default, Postfix uses snprintf()
except on ancient systems.
- DEBUG=debug_level
- Specifies a non-default debugging level. The default is -g. Specify
DEBUG= to turn off debugging.
- OPT=optimization_level
- Specifies a non-default optimization level. The default is -O.
Specify OPT= to turn off optimization.
- POSTFIX_INSTALL_OPTS=-option...
- Specifies options for the postfix-install command, separated by
whitespace. Currently, the only supported option is
-keep-build-mtime.
- SHLIB_CFLAGS=flags
- Override the compiler flags (typically, "-fPIC") for Postfix
dynamically-linked libraries and database plugins.
This feature was introduced with Postfix 3.0.
- SHLIB_RPATH=rpath
- Override the runpath (typically, "'-Wl,-rpath,${SHLIB_DIR}'")
for Postfix dynamically-linked libraries.
This feature was introduced with Postfix 3.0.
- SHLIB_SUFFIX=suffix
- Override the filename suffix (typically, ".so") for Postfix
dynamically-linked libraries and database plugins.
This feature was introduced with Postfix 3.0.
- shared=yes
- shared=no
- Enable (disable) Postfix builds with dynamically-linked libraries
typically named $shlib_directory/libpostfix-*.so.*.
This feature was introduced with Postfix 3.0.
- dynamicmaps=yes
- dynamicmaps=no
- Enable (disable) Postfix builds with the configuration file
$meta_directory/dynamicmaps.cf and dynamically-loadable database plugins
typically named postfix-*.so.*. The setting "dynamicmaps=yes"
implicitly enables Postfix dynamically-linked libraries.
This feature was introduced with Postfix 3.0.
- pie=yes
- pie=no
- Enable (disable) Postfix builds with position-independent executables, on
platforms where this is supported.
This feature was introduced with Postfix 3.0.
- installation_parameter=value...
- Override the compiled-in default value of the specified installation
parameter(s). The following parameters are supported in this context:
command_directory config_directory daemon_directory
data_directory default_database_type html_directory mail_spool_directory
mailq_path manpage_directory meta_directory newaliases_path
queue_directory readme_directory sendmail_path shlib_directory
openssl_path
See the postconf(5) manpage for a description of these
parameters.
This feature was introduced with Postfix 3.0.
- WARN=warning_flags
- Specifies non-default gcc compiler warning options for use when
"make" is invoked in a source subdirectory only.
The Secure Mailer license must be distributed with this
software.
Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA
Wietse Venema
Google, Inc.
111 8th Avenue
New York, NY 10011, USA