    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)