MAKEDEFS(1)

NAME
makedefs - Postfix makefile configuration utility

SYNOPSIS
make makefiles name=value...

DESCRIPTION
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.

NAME=VALUE OVERRIDES
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_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_CLOSEFROM
        Do not use the system closefom() implementation.

    -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 "pkgconf" or "pkg-config" command are 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.

    -DNO_STDBOOL
        Don't use <stdbool.h>. This is usually auto-detected.

    -DNO_TLS_TRACE
        Build without OpenSSL 3 (and later) debug trace support.

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_cache_db_type 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.

LICENSE
The Secure Mailer license must be distributed with this software.

AUTHOR(S)
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