# man > makedefs(1)

[_MAKEDEFS_(1)](https://www.chedong.com/phpMan.php/man/MAKEDEFS/1/markdown)                            General Commands Manual                           [_MAKEDEFS_(1)](https://www.chedong.com/phpMan.php/man/MAKEDEFS/1/markdown)

## 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  imple‐
       ment 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.mi‐_
       _nor-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)](https://www.chedong.com/phpMan.php/man/make/1/markdown) 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,  respec‐
              tively.

       **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_ direc‐
              tory.  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 sup‐
                     port 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"  com‐
                     mand.

              **-DNO_INLINE**
                     Do  not require support for C99 "inline" functions. Instead, implement argument
                     typechecks for non-(printf/scanf)-like functions with ternary operators and un‐
                     reachable 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  in‐
                     formation 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)](https://www.chedong.com/phpMan.php/man/resolver/5/markdown) API (res_ninit() etc.).

              **-DNO_SIGSETJMP**
                     Use  setjmp()/longjmp() instead of sigsetjmp()/siglongjmp().  By default, Post‐
                     fix uses sigsetjmp()/siglongjmp() 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  li‐
              braries and database plugins.

              This feature was introduced with Postfix 3.0.

       **SHLIB_RPATH=_**rpath_
              Override  the  runpath  (typically,  "'-Wl,-rpath,${SHLIB_DIR}'")  for Postfix dynami‐
              cally-linked libraries.

              This feature was introduced with Postfix 3.0.

       **SHLIB_SUFFIX=_**suffix_
              Override the filename suffix (typically, ".so")  for  Postfix  dynamically-linked  li‐
              braries 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/dynam‐
              icmaps.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_data‐
              base_type html_directory mail_spool_directory mailq_path manpage_directory meta_direc‐
              tory newaliases_path queue_directory  readme_directory  sendmail_path  shlib_directory
              openssl_path

              See the [postconf(5)](https://www.chedong.com/phpMan.php/man/postconf/5/markdown) 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)](https://www.chedong.com/phpMan.php/man/MAKEDEFS/1/markdown)
