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 "makemakefilesname=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_MONGODB,
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
pcre2-config or pcre-config utility are installed.
-DNO_POSIX_GETPW_R
Disable support for POSIX getpwnam_r/getpwuid_r.
-DNO_RES_NCALLS
Do not build with the threadsafe resolver(5) API (res_ninit() etc.).
-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=yesshared=no
Enable (disable) Postfix builds with dynamically-linked libraries typically named
$shlib_directory/libpostfix-*.so.*.
This feature was introduced with Postfix 3.0.
dynamicmaps=yesdynamicmaps=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=yespie=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.