    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
           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.mi‐
           nor.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-de‐
                  fault 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"  com‐
                         mand.

                  -DNO_INLINE
                         Do  not  require  support for C99 "inline" functions. In‐
                         stead,     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 util‐
                         ity 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()/sig‐
                         longjmp().  By  default,  Postfix  uses  sigsetjmp()/sig‐
                         longjmp() 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 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 dy‐
                  namically-linked libraries and database plugins.

                  This feature was introduced with Postfix 3.0.

           shared=yes

           shared=no
                  Enable (disable)  Postfix  builds  with  dynamically-linked  li‐
                  braries 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  exe‐
                  cutables, 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 instal‐
                  lation parameter(s). The following parameters are  supported  in
                  this context:

                  command_directory  config_directory daemon_directory data_direc‐
                  tory 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 parame‐
                  ters.

                  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)