MAKEDEFS(1)                  General Commands Manual                 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 vari‐
     ables  (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.mi‐
     nor.patchlevel for a stable release, major.minor-date for  a  development
     release).   Do not try to specify something like $mail_version: that pro‐
     duces 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-de‐
            fault include directory.  The following directives are special:

            -DNO_CLOSEFROM
                   Do not use the system closefom() implementation.

            -DNO_DBDo 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  li‐
                   brary 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  sup‐
                   port 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 sup‐
                   port.  By default, KQUEUE support is compiled in  on  plat‐
                   forms 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.

     DEBUG=debug_level
            Specifies a non-default debugging level. The default is -g.  Spec‐
            ify 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 dy‐
            namically-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 dynam‐
            ically-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  "dynam‐
            icmaps=yes"  implicitly  enables  Postfix  dynamically-linked  li‐
            braries.

            This feature was introduced with Postfix 3.0.

     pie=yes

     pie=no Enable (disable) Postfix builds with position-independent executa‐
            bles, 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  installa‐
            tion  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

                                                                     MAKEDEFS(1)