summaryrefslogtreecommitdiffstats
path: root/man/man1/makedefs.1
blob: 70c848e0d4c0a4b16cbaefb009cc83131e41c620 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
.TH MAKEDEFS 1 
.ad
.fi
.SH NAME
makedefs
\-
Postfix makefile configuration utility
.SH "SYNOPSIS"
.na
.nf
\fBmake makefiles \fIname=value...\fR
.SH DESCRIPTION
.ad
.fi
The \fBmakedefs\fR 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.
.SH "NAME=VALUE OVERRIDES"
.na
.nf
.ad
.fi
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 "\fBmake makefiles name=value...\fR" will replace
the string \fBMAIL_VERSION\fR at the end of a value with the
Postfix version (\fImajor.minor.patchlevel\fR for a stable
release, \fImajor.minor\-date\fR for a development release).
Do not try to specify something like \fB$mail_version\fR:
that produces inconsistent results with different implementations
of the make(1) command.
.IP \fBAUXLIBS=\fIobject_library...\fR
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.
.IP \fBCC=\fIcompiler_command\fR
Specifies a non\-default compiler. On many systems, the default
is \fBgcc\fR.
.IP \fBCCARGS=\fIcompiler_arguments\fR
Specifies non\-default compiler arguments, for example, a non\-default
\fIinclude\fR directory.
The following directives are special:
.RS
.IP \fB\-DNO_DB\fR
Do not build with Berkeley DB support.
.IP \fB\-DNO_DEVPOLL\fR
Do not build with Solaris /dev/poll support.
By default, /dev/poll support is compiled in on platforms that
are known to support it.
.IP \fB\-DNO_DNSSEC\fR
Do not build with DNSSEC support, even if the resolver
library appears to support it.
.IP \fB\-DNO_EPOLL\fR
Do not build with Linux EPOLL support.
By default, EPOLL support is compiled in on platforms that
are known to support it.
.IP \fB\-DNO_EAI\fR
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.
.IP \fB\-DNO_INLINE\fR
Do not require support for C99 "inline" functions. Instead,
implement argument typechecks for non\-(printf/scanf)\-like
functions with ternary operators and unreachable code.
.IP \fB\-DNO_IPV6\fR
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.
.IP \fB\-DNO_IP_CYRUS_SASL_AUTH\fR
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.
.IP \fB\-DNO_KQUEUE\fR
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.
.IP \fB\-DNO_NIS\fR
Do not build with NIS or NISPLUS support. Support for NIS
is unavailable on some recent Linux distributions.
.IP \fB\-DNO_NISPLUS\fR
Do not build with NISPLUS support. Support for NISPLUS
is unavailable on some recent Solaris distributions.
.IP \fB\-DNO_PCRE\fR
Do not build with PCRE support.
By default, PCRE support is compiled in when the \fBpcre2\-config\fR
or \fBpcre\-config\fR utility are installed.
.IP \fB\-DNO_POSIX_GETPW_R\fR
Disable support for POSIX getpwnam_r/getpwuid_r.
.IP \fB\-DNO_RES_NCALLS\fR
Do not build with the threadsafe resolver(5) API (res_ninit() etc.).
.IP \fB\-DNO_SIGSETJMP\fR
Use setjmp()/longjmp() instead of sigsetjmp()/siglongjmp().
By default, Postfix uses sigsetjmp()/siglongjmp() when they
appear to work.
.IP \fB\-DNO_SNPRINTF\fR
Use sprintf() instead of snprintf(). By default, Postfix
uses snprintf() except on ancient systems.
.RE
.IP \fBDEBUG=\fIdebug_level\fR
Specifies a non\-default debugging level. The default is \fB\-g\fR.
Specify \fBDEBUG=\fR to turn off debugging.
.IP \fBOPT=\fIoptimization_level\fR
Specifies a non\-default optimization level. The default is \fB\-O\fR.
Specify \fBOPT=\fR to turn off optimization.
.IP \fBPOSTFIX_INSTALL_OPTS=\fI\-option...\fR
Specifies options for the postfix\-install command, separated
by whitespace. Currently, the only supported option is
\fB\-keep\-build\-mtime\fR.
.IP \fBSHLIB_CFLAGS=\fIflags\fR
Override the compiler flags (typically, "\-fPIC") for Postfix
dynamically\-linked libraries and database plugins.

This feature was introduced with Postfix 3.0.
.IP \fBSHLIB_RPATH=\fIrpath\fR
Override the runpath (typically, "'\-Wl,\-rpath,${SHLIB_DIR}'")
for Postfix dynamically\-linked libraries.

This feature was introduced with Postfix 3.0.
.IP \fBSHLIB_SUFFIX=\fIsuffix\fR
Override the filename suffix (typically, ".so") for Postfix
dynamically\-linked libraries and database plugins.

This feature was introduced with Postfix 3.0.
.IP \fBshared=yes\fR
.IP \fBshared=no\fR
Enable (disable) Postfix builds with dynamically\-linked
libraries typically named $shlib_directory/libpostfix\-*.so.*.

This feature was introduced with Postfix 3.0.
.IP \fBdynamicmaps=yes\fR
.IP \fBdynamicmaps=no\fR
Enable (disable) Postfix builds with the configuration file
$meta_directory/dynamicmaps.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.
.IP \fBpie=yes\fR
.IP \fBpie=no\fR
Enable (disable) Postfix builds with position\-independent
executables, on platforms where this is supported.

This feature was introduced with Postfix 3.0.
.IP \fIinstallation_parameter\fB=\fIvalue\fR...
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_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.
.IP \fBWARN=\fIwarning_flags\fR
Specifies non\-default gcc compiler warning options for use when
"make" is invoked in a source subdirectory only.
.SH "LICENSE"
.na
.nf
.ad
.fi
The Secure Mailer license must be distributed with this software.
.SH "AUTHOR(S)"
.na
.nf
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