MAKEDEFS(1)                                                        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_ver-
       sion: 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_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 pcre-config utility is installed.

              -DNO_POSIX_GETPW_R
                     Disable support for POSIX getpwnam_r/getpwuid_r.

              -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
              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  "dynam-
              icmaps=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  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)