Deleted Added
full compact
bsd.own.mk (209126) bsd.own.mk (210389)
1# $FreeBSD: head/share/mk/bsd.own.mk 209126 2010-06-13 12:53:44Z raj $
1# $FreeBSD: head/share/mk/bsd.own.mk 210389 2010-07-22 19:11:57Z gabor $
2#
3# The include file <bsd.own.mk> set common variables for owner,
4# group, mode, and directories. Defaults are in brackets.
5#
6#
7# +++ variables +++
8#
9# DESTDIR Change the tree where the file gets installed. [not set]
10#
11# DISTDIR Change the tree where the file for a distribution
12# gets installed (see /usr/src/release/Makefile). [not set]
13#
14# COMPRESS_CMD Program to compress documents.
15# Output is to stdout. [gzip -cn]
16#
17# COMPRESS_EXT File name extension of ${COMPRESS_CMD} command. [.gz]
18#
19# BINOWN Binary owner. [root]
20#
21# BINGRP Binary group. [wheel]
22#
23# BINMODE Binary mode. [555]
24#
25# NOBINMODE Mode for non-executable files. [444]
26#
27# LIBDIR Base path for libraries. [/usr/lib]
28#
29# LIBCOMPATDIR Base path for compat libraries. [/usr/lib/compat]
30#
31# LIBDATADIR Base path for misc. utility data files. [/usr/libdata]
32#
33# LINTLIBDIR Base path for lint libraries. [/usr/libdata/lint]
34#
35# SHLIBDIR Base path for shared libraries. [${LIBDIR}]
36#
37# LIBOWN Library owner. [${BINOWN}]
38#
39# LIBGRP Library group. [${BINGRP}]
40#
41# LIBMODE Library mode. [${NOBINMODE}]
42#
43#
44# KMODDIR Base path for loadable kernel modules
45# (see kld(4)). [/boot/kernel]
46#
47# KMODOWN Kernel and KLD owner. [${BINOWN}]
48#
49# KMODGRP Kernel and KLD group. [${BINGRP}]
50#
51# KMODMODE KLD mode. [${BINMODE}]
52#
53#
54# SHAREDIR Base path for architecture-independent ascii
55# text files. [/usr/share]
56#
57# SHAREOWN ASCII text file owner. [root]
58#
59# SHAREGRP ASCII text file group. [wheel]
60#
61# SHAREMODE ASCII text file mode. [${NOBINMODE}]
62#
63#
64# DOCDIR Base path for system documentation (e.g. PSD, USD,
65# handbook, FAQ etc.). [${SHAREDIR}/doc]
66#
67# DOCOWN Documentation owner. [${SHAREOWN}]
68#
69# DOCGRP Documentation group. [${SHAREGRP}]
70#
71# DOCMODE Documentation mode. [${NOBINMODE}]
72#
73#
74# INFODIR Base path for GNU's hypertext system
75# called Info (see info(1)). [${SHAREDIR}/info]
76#
77# INFOOWN Info owner. [${SHAREOWN}]
78#
79# INFOGRP Info group. [${SHAREGRP}]
80#
81# INFOMODE Info mode. [${NOBINMODE}]
82#
83#
84# MANDIR Base path for manual installation. [${SHAREDIR}/man/man]
85#
86# MANOWN Manual owner. [${SHAREOWN}]
87#
88# MANGRP Manual group. [${SHAREGRP}]
89#
90# MANMODE Manual mode. [${NOBINMODE}]
91#
92#
93# NLSDIR Base path for National Language Support files
94# installation. [${SHAREDIR}/nls]
95#
96# NLSOWN National Language Support files owner. [${SHAREOWN}]
97#
98# NLSGRP National Language Support files group. [${SHAREGRP}]
99#
100# NLSMODE National Language Support files mode. [${NOBINMODE}]
101#
102# INCLUDEDIR Base path for standard C include files [/usr/include]
103
104.if !target(__<bsd.own.mk>__)
105__<bsd.own.mk>__:
106
107.if !defined(_WITHOUT_SRCCONF)
108SRCCONF?= /etc/src.conf
109.if exists(${SRCCONF})
110.include "${SRCCONF}"
111.endif
112.endif
113
114# Binaries
115BINOWN?= root
116BINGRP?= wheel
117BINMODE?= 555
118NOBINMODE?= 444
119
120.if defined(MODULES_WITH_WORLD)
121KMODDIR?= /boot/modules
122.else
123KMODDIR?= /boot/kernel
124.endif
125KMODOWN?= ${BINOWN}
126KMODGRP?= ${BINGRP}
127KMODMODE?= ${BINMODE}
128
129LIBDIR?= /usr/lib
130LIBCOMPATDIR?= /usr/lib/compat
131LIBDATADIR?= /usr/libdata
132LINTLIBDIR?= /usr/libdata/lint
133SHLIBDIR?= ${LIBDIR}
134LIBOWN?= ${BINOWN}
135LIBGRP?= ${BINGRP}
136LIBMODE?= ${NOBINMODE}
137
138
139# Share files
140SHAREDIR?= /usr/share
141SHAREOWN?= root
142SHAREGRP?= wheel
143SHAREMODE?= ${NOBINMODE}
144
145MANDIR?= ${SHAREDIR}/man/man
146MANOWN?= ${SHAREOWN}
147MANGRP?= ${SHAREGRP}
148MANMODE?= ${NOBINMODE}
149
150DOCDIR?= ${SHAREDIR}/doc
151DOCOWN?= ${SHAREOWN}
152DOCGRP?= ${SHAREGRP}
153DOCMODE?= ${NOBINMODE}
154
155INFODIR?= ${SHAREDIR}/info
156INFOOWN?= ${SHAREOWN}
157INFOGRP?= ${SHAREGRP}
158INFOMODE?= ${NOBINMODE}
159
160NLSDIR?= ${SHAREDIR}/nls
161NLSOWN?= ${SHAREOWN}
162NLSGRP?= ${SHAREGRP}
163NLSMODE?= ${NOBINMODE}
164
165INCLUDEDIR?= /usr/include
166
167# Common variables
168.if !defined(DEBUG_FLAGS)
169STRIP?= -s
170.endif
171
172COMPRESS_CMD?= gzip -cn
173COMPRESS_EXT?= .gz
174
175.if !defined(_WITHOUT_SRCCONF)
176#
177# Define MK_* variables (which are either "yes" or "no") for users
178# to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the
179# make(1) environment.
180# These should be tested with `== "no"' or `!= "no"' in makefiles.
181# The NO_* variables should only be set by makefiles.
182#
183
184#
185# Supported NO_* options (if defined, MK_* will be forced to "no",
186# regardless of user's setting).
187#
188.for var in \
189 INSTALLLIB \
190 MAN \
191 PROFILE
192.if defined(NO_${var})
193WITHOUT_${var}=
194.endif
195.endfor
196
197#
198# Compat NO_* options (same as above, except their use is deprecated).
199#
200.if !defined(BURN_BRIDGES)
201.for var in \
202 ACPI \
203 ATM \
204 AUDIT \
205 AUTHPF \
206 BIND \
207 BIND_DNSSEC \
208 BIND_ETC \
209 BIND_LIBS_LWRES \
210 BIND_MTREE \
211 BIND_NAMED \
212 BIND_UTILS \
213 BLUETOOTH \
214 BOOT \
215 CALENDAR \
216 CPP \
217 CRYPT \
218 CVS \
219 CXX \
220 DICT \
221 DYNAMICROOT \
222 EXAMPLES \
223 FORTH \
224 FP_LIBC \
225 GAMES \
226 GCOV \
227 GDB \
228 GNU \
229 GPIB \
230 GROFF \
231 HTML \
232 INET6 \
233 INFO \
234 IPFILTER \
235 IPX \
236 KERBEROS \
237 LIB32 \
238 LIBPTHREAD \
239 LIBTHR \
240 LOCALES \
241 LPR \
242 MAILWRAPPER \
243 NETCAT \
244 NIS \
245 NLS \
246 NLS_CATALOGS \
247 NS_CACHING \
248 OBJC \
249 OPENSSH \
250 OPENSSL \
251 PAM \
252 PF \
253 RCMDS \
254 RCS \
255 RESCUE \
256 SENDMAIL \
257 SETUID_LOGIN \
258 SHAREDOCS \
259 SYSCONS \
260 TCSH \
261 TOOLCHAIN \
262 USB \
263 WPA_SUPPLICANT_EAPOL
264.if defined(NO_${var})
265#.warning NO_${var} is deprecated in favour of WITHOUT_${var}=
266WITHOUT_${var}=
267.endif
268.endfor
269.endif # !defined(BURN_BRIDGES)
270
271#
272# Older-style variables that enabled behaviour when set.
273#
274.if defined(YES_HESIOD)
275WITH_HESIOD=
276.endif
277.if defined(MAKE_IDEA)
278WITH_IDEA=
279.endif
280
281#
282# Default behaviour of MK_CLANG depends on the architecture.
283#
284.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" || \
285 ${MACHINE_ARCH} == "powerpc"
286_clang_yes=CLANG
287_clang_no=
288.else
289_clang_yes=
290_clang_no=CLANG
291.endif
292
293#
294# MK_* options which default to "yes".
295#
296.for var in \
297 ACCT \
298 ACPI \
299 AMD \
300 APM \
301 ASSERT_DEBUG \
302 AT \
303 ATM \
304 AUDIT \
305 AUTHPF \
306 BIND \
307 BIND_DNSSEC \
308 BIND_ETC \
309 BIND_LIBS_LWRES \
310 BIND_MTREE \
311 BIND_NAMED \
312 BIND_UTILS \
313 BLUETOOTH \
314 BOOT \
315 BSD_CPIO \
316 BSNMP \
317 BZIP2 \
318 CALENDAR \
319 CDDL \
320 ${_clang_yes} \
321 CPP \
322 CRYPT \
323 CTM \
324 CVS \
325 CXX \
326 DICT \
327 DYNAMICROOT \
328 EXAMPLES \
329 FLOPPY \
330 FORTH \
331 FP_LIBC \
332 FREEBSD_UPDATE \
333 GAMES \
334 GCOV \
335 GDB \
336 GNU \
2#
3# The include file <bsd.own.mk> set common variables for owner,
4# group, mode, and directories. Defaults are in brackets.
5#
6#
7# +++ variables +++
8#
9# DESTDIR Change the tree where the file gets installed. [not set]
10#
11# DISTDIR Change the tree where the file for a distribution
12# gets installed (see /usr/src/release/Makefile). [not set]
13#
14# COMPRESS_CMD Program to compress documents.
15# Output is to stdout. [gzip -cn]
16#
17# COMPRESS_EXT File name extension of ${COMPRESS_CMD} command. [.gz]
18#
19# BINOWN Binary owner. [root]
20#
21# BINGRP Binary group. [wheel]
22#
23# BINMODE Binary mode. [555]
24#
25# NOBINMODE Mode for non-executable files. [444]
26#
27# LIBDIR Base path for libraries. [/usr/lib]
28#
29# LIBCOMPATDIR Base path for compat libraries. [/usr/lib/compat]
30#
31# LIBDATADIR Base path for misc. utility data files. [/usr/libdata]
32#
33# LINTLIBDIR Base path for lint libraries. [/usr/libdata/lint]
34#
35# SHLIBDIR Base path for shared libraries. [${LIBDIR}]
36#
37# LIBOWN Library owner. [${BINOWN}]
38#
39# LIBGRP Library group. [${BINGRP}]
40#
41# LIBMODE Library mode. [${NOBINMODE}]
42#
43#
44# KMODDIR Base path for loadable kernel modules
45# (see kld(4)). [/boot/kernel]
46#
47# KMODOWN Kernel and KLD owner. [${BINOWN}]
48#
49# KMODGRP Kernel and KLD group. [${BINGRP}]
50#
51# KMODMODE KLD mode. [${BINMODE}]
52#
53#
54# SHAREDIR Base path for architecture-independent ascii
55# text files. [/usr/share]
56#
57# SHAREOWN ASCII text file owner. [root]
58#
59# SHAREGRP ASCII text file group. [wheel]
60#
61# SHAREMODE ASCII text file mode. [${NOBINMODE}]
62#
63#
64# DOCDIR Base path for system documentation (e.g. PSD, USD,
65# handbook, FAQ etc.). [${SHAREDIR}/doc]
66#
67# DOCOWN Documentation owner. [${SHAREOWN}]
68#
69# DOCGRP Documentation group. [${SHAREGRP}]
70#
71# DOCMODE Documentation mode. [${NOBINMODE}]
72#
73#
74# INFODIR Base path for GNU's hypertext system
75# called Info (see info(1)). [${SHAREDIR}/info]
76#
77# INFOOWN Info owner. [${SHAREOWN}]
78#
79# INFOGRP Info group. [${SHAREGRP}]
80#
81# INFOMODE Info mode. [${NOBINMODE}]
82#
83#
84# MANDIR Base path for manual installation. [${SHAREDIR}/man/man]
85#
86# MANOWN Manual owner. [${SHAREOWN}]
87#
88# MANGRP Manual group. [${SHAREGRP}]
89#
90# MANMODE Manual mode. [${NOBINMODE}]
91#
92#
93# NLSDIR Base path for National Language Support files
94# installation. [${SHAREDIR}/nls]
95#
96# NLSOWN National Language Support files owner. [${SHAREOWN}]
97#
98# NLSGRP National Language Support files group. [${SHAREGRP}]
99#
100# NLSMODE National Language Support files mode. [${NOBINMODE}]
101#
102# INCLUDEDIR Base path for standard C include files [/usr/include]
103
104.if !target(__<bsd.own.mk>__)
105__<bsd.own.mk>__:
106
107.if !defined(_WITHOUT_SRCCONF)
108SRCCONF?= /etc/src.conf
109.if exists(${SRCCONF})
110.include "${SRCCONF}"
111.endif
112.endif
113
114# Binaries
115BINOWN?= root
116BINGRP?= wheel
117BINMODE?= 555
118NOBINMODE?= 444
119
120.if defined(MODULES_WITH_WORLD)
121KMODDIR?= /boot/modules
122.else
123KMODDIR?= /boot/kernel
124.endif
125KMODOWN?= ${BINOWN}
126KMODGRP?= ${BINGRP}
127KMODMODE?= ${BINMODE}
128
129LIBDIR?= /usr/lib
130LIBCOMPATDIR?= /usr/lib/compat
131LIBDATADIR?= /usr/libdata
132LINTLIBDIR?= /usr/libdata/lint
133SHLIBDIR?= ${LIBDIR}
134LIBOWN?= ${BINOWN}
135LIBGRP?= ${BINGRP}
136LIBMODE?= ${NOBINMODE}
137
138
139# Share files
140SHAREDIR?= /usr/share
141SHAREOWN?= root
142SHAREGRP?= wheel
143SHAREMODE?= ${NOBINMODE}
144
145MANDIR?= ${SHAREDIR}/man/man
146MANOWN?= ${SHAREOWN}
147MANGRP?= ${SHAREGRP}
148MANMODE?= ${NOBINMODE}
149
150DOCDIR?= ${SHAREDIR}/doc
151DOCOWN?= ${SHAREOWN}
152DOCGRP?= ${SHAREGRP}
153DOCMODE?= ${NOBINMODE}
154
155INFODIR?= ${SHAREDIR}/info
156INFOOWN?= ${SHAREOWN}
157INFOGRP?= ${SHAREGRP}
158INFOMODE?= ${NOBINMODE}
159
160NLSDIR?= ${SHAREDIR}/nls
161NLSOWN?= ${SHAREOWN}
162NLSGRP?= ${SHAREGRP}
163NLSMODE?= ${NOBINMODE}
164
165INCLUDEDIR?= /usr/include
166
167# Common variables
168.if !defined(DEBUG_FLAGS)
169STRIP?= -s
170.endif
171
172COMPRESS_CMD?= gzip -cn
173COMPRESS_EXT?= .gz
174
175.if !defined(_WITHOUT_SRCCONF)
176#
177# Define MK_* variables (which are either "yes" or "no") for users
178# to set via WITH_*/WITHOUT_* in /etc/src.conf and override in the
179# make(1) environment.
180# These should be tested with `== "no"' or `!= "no"' in makefiles.
181# The NO_* variables should only be set by makefiles.
182#
183
184#
185# Supported NO_* options (if defined, MK_* will be forced to "no",
186# regardless of user's setting).
187#
188.for var in \
189 INSTALLLIB \
190 MAN \
191 PROFILE
192.if defined(NO_${var})
193WITHOUT_${var}=
194.endif
195.endfor
196
197#
198# Compat NO_* options (same as above, except their use is deprecated).
199#
200.if !defined(BURN_BRIDGES)
201.for var in \
202 ACPI \
203 ATM \
204 AUDIT \
205 AUTHPF \
206 BIND \
207 BIND_DNSSEC \
208 BIND_ETC \
209 BIND_LIBS_LWRES \
210 BIND_MTREE \
211 BIND_NAMED \
212 BIND_UTILS \
213 BLUETOOTH \
214 BOOT \
215 CALENDAR \
216 CPP \
217 CRYPT \
218 CVS \
219 CXX \
220 DICT \
221 DYNAMICROOT \
222 EXAMPLES \
223 FORTH \
224 FP_LIBC \
225 GAMES \
226 GCOV \
227 GDB \
228 GNU \
229 GPIB \
230 GROFF \
231 HTML \
232 INET6 \
233 INFO \
234 IPFILTER \
235 IPX \
236 KERBEROS \
237 LIB32 \
238 LIBPTHREAD \
239 LIBTHR \
240 LOCALES \
241 LPR \
242 MAILWRAPPER \
243 NETCAT \
244 NIS \
245 NLS \
246 NLS_CATALOGS \
247 NS_CACHING \
248 OBJC \
249 OPENSSH \
250 OPENSSL \
251 PAM \
252 PF \
253 RCMDS \
254 RCS \
255 RESCUE \
256 SENDMAIL \
257 SETUID_LOGIN \
258 SHAREDOCS \
259 SYSCONS \
260 TCSH \
261 TOOLCHAIN \
262 USB \
263 WPA_SUPPLICANT_EAPOL
264.if defined(NO_${var})
265#.warning NO_${var} is deprecated in favour of WITHOUT_${var}=
266WITHOUT_${var}=
267.endif
268.endfor
269.endif # !defined(BURN_BRIDGES)
270
271#
272# Older-style variables that enabled behaviour when set.
273#
274.if defined(YES_HESIOD)
275WITH_HESIOD=
276.endif
277.if defined(MAKE_IDEA)
278WITH_IDEA=
279.endif
280
281#
282# Default behaviour of MK_CLANG depends on the architecture.
283#
284.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" || \
285 ${MACHINE_ARCH} == "powerpc"
286_clang_yes=CLANG
287_clang_no=
288.else
289_clang_yes=
290_clang_no=CLANG
291.endif
292
293#
294# MK_* options which default to "yes".
295#
296.for var in \
297 ACCT \
298 ACPI \
299 AMD \
300 APM \
301 ASSERT_DEBUG \
302 AT \
303 ATM \
304 AUDIT \
305 AUTHPF \
306 BIND \
307 BIND_DNSSEC \
308 BIND_ETC \
309 BIND_LIBS_LWRES \
310 BIND_MTREE \
311 BIND_NAMED \
312 BIND_UTILS \
313 BLUETOOTH \
314 BOOT \
315 BSD_CPIO \
316 BSNMP \
317 BZIP2 \
318 CALENDAR \
319 CDDL \
320 ${_clang_yes} \
321 CPP \
322 CRYPT \
323 CTM \
324 CVS \
325 CXX \
326 DICT \
327 DYNAMICROOT \
328 EXAMPLES \
329 FLOPPY \
330 FORTH \
331 FP_LIBC \
332 FREEBSD_UPDATE \
333 GAMES \
334 GCOV \
335 GDB \
336 GNU \
337 GNU_GREP \
338 GPIB \
339 GROFF \
340 HTML \
341 INET6 \
342 INFO \
343 INSTALLLIB \
344 IPFILTER \
345 IPFW \
346 IPX \
347 JAIL \
348 KERBEROS \
349 KVM \
350 LEGACY_CONSOLE \
351 LIB32 \
352 LIBPTHREAD \
353 LIBTHR \
354 LOCALES \
355 LOCATE \
356 LPR \
357 MAIL \
358 MAILWRAPPER \
359 MAKE \
360 MAN \
361 NCP \
362 NDIS \
363 NETCAT \
364 NETGRAPH \
365 NIS \
366 NLS \
367 NLS_CATALOGS \
368 NS_CACHING \
369 NTP \
370 OBJC \
371 OPENSSH \
372 OPENSSL \
373 PAM \
374 PF \
375 PKGTOOLS \
376 PMC \
377 PORTSNAP \
378 PPP \
379 PROFILE \
380 QUOTAS \
381 RCMDS \
382 RCS \
383 RESCUE \
384 ROUTED \
385 SENDMAIL \
386 SETUID_LOGIN \
387 SHAREDOCS \
388 SSP \
389 SYSINSTALL \
390 SYMVER \
391 SYSCONS \
392 TCSH \
393 TELNET \
394 TEXTPROC \
395 TOOLCHAIN \
396 USB \
397 WIRELESS \
398 WPA_SUPPLICANT_EAPOL \
399 ZFS \
400 ZONEINFO
401.if defined(WITH_${var}) && defined(WITHOUT_${var})
402.error WITH_${var} and WITHOUT_${var} can't both be set.
403.endif
404.if defined(MK_${var})
405.error MK_${var} can't be set by a user.
406.endif
407.if defined(WITHOUT_${var})
408MK_${var}:= no
409.else
410MK_${var}:= yes
411.endif
412.endfor
413
414#
415# MK_* options which default to "no".
416#
417.for var in \
418 BIND_IDN \
419 BIND_LARGE_FILE \
420 BIND_LIBS \
421 BIND_SIGCHASE \
422 BIND_XML \
423 ${_clang_no} \
424 FDT \
337 GPIB \
338 GROFF \
339 HTML \
340 INET6 \
341 INFO \
342 INSTALLLIB \
343 IPFILTER \
344 IPFW \
345 IPX \
346 JAIL \
347 KERBEROS \
348 KVM \
349 LEGACY_CONSOLE \
350 LIB32 \
351 LIBPTHREAD \
352 LIBTHR \
353 LOCALES \
354 LOCATE \
355 LPR \
356 MAIL \
357 MAILWRAPPER \
358 MAKE \
359 MAN \
360 NCP \
361 NDIS \
362 NETCAT \
363 NETGRAPH \
364 NIS \
365 NLS \
366 NLS_CATALOGS \
367 NS_CACHING \
368 NTP \
369 OBJC \
370 OPENSSH \
371 OPENSSL \
372 PAM \
373 PF \
374 PKGTOOLS \
375 PMC \
376 PORTSNAP \
377 PPP \
378 PROFILE \
379 QUOTAS \
380 RCMDS \
381 RCS \
382 RESCUE \
383 ROUTED \
384 SENDMAIL \
385 SETUID_LOGIN \
386 SHAREDOCS \
387 SSP \
388 SYSINSTALL \
389 SYMVER \
390 SYSCONS \
391 TCSH \
392 TELNET \
393 TEXTPROC \
394 TOOLCHAIN \
395 USB \
396 WIRELESS \
397 WPA_SUPPLICANT_EAPOL \
398 ZFS \
399 ZONEINFO
400.if defined(WITH_${var}) && defined(WITHOUT_${var})
401.error WITH_${var} and WITHOUT_${var} can't both be set.
402.endif
403.if defined(MK_${var})
404.error MK_${var} can't be set by a user.
405.endif
406.if defined(WITHOUT_${var})
407MK_${var}:= no
408.else
409MK_${var}:= yes
410.endif
411.endfor
412
413#
414# MK_* options which default to "no".
415#
416.for var in \
417 BIND_IDN \
418 BIND_LARGE_FILE \
419 BIND_LIBS \
420 BIND_SIGCHASE \
421 BIND_XML \
422 ${_clang_no} \
423 FDT \
424 GNU_GREP \
425 HESIOD \
426 IDEA
427.if defined(WITH_${var}) && defined(WITHOUT_${var})
428.error WITH_${var} and WITHOUT_${var} can't both be set.
429.endif
430.if defined(MK_${var})
431.error MK_${var} can't be set by a user.
432.endif
433.if defined(WITH_${var})
434MK_${var}:= yes
435.else
436MK_${var}:= no
437.endif
438.endfor
439
440#
441# Force some options off if their dependencies are off.
442# Order is somewhat important.
443#
444.if ${MK_LIBPTHREAD} == "no"
445MK_LIBTHR:= no
446.endif
447
448.if ${MK_LIBTHR} == "no"
449MK_BIND:= no
450.endif
451
452.if ${MK_BIND} == "no"
453MK_BIND_DNSSEC:= no
454MK_BIND_ETC:= no
455MK_BIND_LIBS:= no
456MK_BIND_LIBS_LWRES:= no
457MK_BIND_MTREE:= no
458MK_BIND_NAMED:= no
459MK_BIND_UTILS:= no
460.endif
461
462.if ${MK_BIND_MTREE} == "no"
463MK_BIND_ETC:= no
464.endif
465
466.if ${MK_CDDL} == "no"
467MK_ZFS:= no
468.endif
469
470.if ${MK_CRYPT} == "no"
471MK_OPENSSL:= no
472MK_OPENSSH:= no
473MK_KERBEROS:= no
474.endif
475
476.if ${MK_IPX} == "no"
477MK_NCP:= no
478.endif
479
480.if ${MK_MAIL} == "no"
481MK_MAILWRAPPER:= no
482MK_SENDMAIL:= no
483.endif
484
485.if ${MK_NETGRAPH} == "no"
486MK_ATM:= no
487MK_BLUETOOTH:= no
488.endif
489
490.if ${MK_OPENSSL} == "no"
491MK_OPENSSH:= no
492MK_KERBEROS:= no
493.endif
494
495.if ${MK_PF} == "no"
496MK_AUTHPF:= no
497.endif
498
499.if ${MK_TEXTPROC} == "no"
500MK_GROFF:= no
501.endif
502
503.if ${MK_TOOLCHAIN} == "no"
504MK_CLANG:= no
505MK_GDB:= no
506.endif
507
508#
509# Set defaults for the MK_*_SUPPORT variables.
510#
511
512#
513# MK_*_SUPPORT options which default to "yes" unless their corresponding
514# MK_* variable is set to "no".
515#
516.for var in \
517 BZIP2 \
518 GNU \
519 INET6 \
520 IPX \
521 KERBEROS \
522 KVM \
523 NETGRAPH \
524 PAM \
525 WIRELESS
526.if defined(WITH_${var}_SUPPORT) && defined(WITHOUT_${var}_SUPPORT)
527.error WITH_${var}_SUPPORT and WITHOUT_${var}_SUPPORT can't both be set.
528.endif
529.if defined(MK_${var}_SUPPORT)
530.error MK_${var}_SUPPORT can't be set by a user.
531.endif
532.if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no"
533MK_${var}_SUPPORT:= no
534.else
535MK_${var}_SUPPORT:= yes
536.endif
537.endfor
538
539#
540# MK_* options whose default value depends on another option.
541#
542.for vv in \
543 GSSAPI/KERBEROS \
544 MAN_UTILS/MAN
545.if defined(WITH_${vv:H}) && defined(WITHOUT_${vv:H})
546.error WITH_${vv:H} and WITHOUT_${vv:H} can't both be set.
547.endif
548.if defined(MK_${vv:H})
549.error MK_${vv:H} can't be set by a user.
550.endif
551.if defined(WITH_${vv:H})
552MK_${vv:H}:= yes
553.elif defined(WITHOUT_${vv:H})
554MK_${vv:H}:= no
555.else
556MK_${vv:H}:= ${MK_${vv:T}}
557.endif
558.endfor
559
560.endif # !_WITHOUT_SRCCONF
561
562.endif # !target(__<bsd.own.mk>__)
425 HESIOD \
426 IDEA
427.if defined(WITH_${var}) && defined(WITHOUT_${var})
428.error WITH_${var} and WITHOUT_${var} can't both be set.
429.endif
430.if defined(MK_${var})
431.error MK_${var} can't be set by a user.
432.endif
433.if defined(WITH_${var})
434MK_${var}:= yes
435.else
436MK_${var}:= no
437.endif
438.endfor
439
440#
441# Force some options off if their dependencies are off.
442# Order is somewhat important.
443#
444.if ${MK_LIBPTHREAD} == "no"
445MK_LIBTHR:= no
446.endif
447
448.if ${MK_LIBTHR} == "no"
449MK_BIND:= no
450.endif
451
452.if ${MK_BIND} == "no"
453MK_BIND_DNSSEC:= no
454MK_BIND_ETC:= no
455MK_BIND_LIBS:= no
456MK_BIND_LIBS_LWRES:= no
457MK_BIND_MTREE:= no
458MK_BIND_NAMED:= no
459MK_BIND_UTILS:= no
460.endif
461
462.if ${MK_BIND_MTREE} == "no"
463MK_BIND_ETC:= no
464.endif
465
466.if ${MK_CDDL} == "no"
467MK_ZFS:= no
468.endif
469
470.if ${MK_CRYPT} == "no"
471MK_OPENSSL:= no
472MK_OPENSSH:= no
473MK_KERBEROS:= no
474.endif
475
476.if ${MK_IPX} == "no"
477MK_NCP:= no
478.endif
479
480.if ${MK_MAIL} == "no"
481MK_MAILWRAPPER:= no
482MK_SENDMAIL:= no
483.endif
484
485.if ${MK_NETGRAPH} == "no"
486MK_ATM:= no
487MK_BLUETOOTH:= no
488.endif
489
490.if ${MK_OPENSSL} == "no"
491MK_OPENSSH:= no
492MK_KERBEROS:= no
493.endif
494
495.if ${MK_PF} == "no"
496MK_AUTHPF:= no
497.endif
498
499.if ${MK_TEXTPROC} == "no"
500MK_GROFF:= no
501.endif
502
503.if ${MK_TOOLCHAIN} == "no"
504MK_CLANG:= no
505MK_GDB:= no
506.endif
507
508#
509# Set defaults for the MK_*_SUPPORT variables.
510#
511
512#
513# MK_*_SUPPORT options which default to "yes" unless their corresponding
514# MK_* variable is set to "no".
515#
516.for var in \
517 BZIP2 \
518 GNU \
519 INET6 \
520 IPX \
521 KERBEROS \
522 KVM \
523 NETGRAPH \
524 PAM \
525 WIRELESS
526.if defined(WITH_${var}_SUPPORT) && defined(WITHOUT_${var}_SUPPORT)
527.error WITH_${var}_SUPPORT and WITHOUT_${var}_SUPPORT can't both be set.
528.endif
529.if defined(MK_${var}_SUPPORT)
530.error MK_${var}_SUPPORT can't be set by a user.
531.endif
532.if defined(WITHOUT_${var}_SUPPORT) || ${MK_${var}} == "no"
533MK_${var}_SUPPORT:= no
534.else
535MK_${var}_SUPPORT:= yes
536.endif
537.endfor
538
539#
540# MK_* options whose default value depends on another option.
541#
542.for vv in \
543 GSSAPI/KERBEROS \
544 MAN_UTILS/MAN
545.if defined(WITH_${vv:H}) && defined(WITHOUT_${vv:H})
546.error WITH_${vv:H} and WITHOUT_${vv:H} can't both be set.
547.endif
548.if defined(MK_${vv:H})
549.error MK_${vv:H} can't be set by a user.
550.endif
551.if defined(WITH_${vv:H})
552MK_${vv:H}:= yes
553.elif defined(WITHOUT_${vv:H})
554MK_${vv:H}:= no
555.else
556MK_${vv:H}:= ${MK_${vv:T}}
557.endif
558.endfor
559
560.endif # !_WITHOUT_SRCCONF
561
562.endif # !target(__<bsd.own.mk>__)