xref: /netbsd-src/share/man/man5/mk.conf.5 (revision d909946ca08dceb44d7d0f22ec9488679695d976)
1.\"	$NetBSD: mk.conf.5,v 1.71 2015/07/23 08:03:26 mrg Exp $
2.\"
3.\"  Copyright (c) 1999-2003 The NetBSD Foundation, Inc.
4.\"  All rights reserved.
5.\"
6.\"  This code is derived from software contributed to The NetBSD Foundation
7.\"  by Luke Mewburn.
8.\"
9.\"  Redistribution and use in source and binary forms, with or without
10.\"  modification, are permitted provided that the following conditions
11.\"  are met:
12.\"  1. Redistributions of source code must retain the above copyright
13.\"     notice, this list of conditions and the following disclaimer.
14.\"  2. Redistributions in binary form must reproduce the above copyright
15.\"     notice, this list of conditions and the following disclaimer in the
16.\"     documentation and/or other materials provided with the distribution.
17.\"
18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28.\" POSSIBILITY OF SUCH DAMAGE.
29.\"
30.Dd April 7, 2015
31.Dt MK.CONF 5
32.Os
33.\" turn off hyphenation
34.hym 999
35.
36.Sh NAME
37.Nm mk.conf
38.Nd make configuration file
39.
40.Sh DESCRIPTION
41The
42.Nm
43file overrides various parameters used during the build of the system.
44.Pp
45Listed below are the
46.Nm
47variables that may be set, the values to which each may be set,
48a brief description of what each variable does, and a reference to
49relevant manual pages.
50.
51.Ss NetBSD System variables
52.
53.de YorN
54Can be set to
55.Dq yes
56or
57.Dq no .
58..
59.de DFLT
60.Pp
61.Em Default :
62..
63.de DFLTu
64.DFLT
65Unset.
66..
67.de DFLTy
68.DFLT
69.Dq yes
70..
71.de DFLTn
72.DFLT
73.Dq no
74..
75.Bl -tag -width MKDYNAMICROOT
76.
77.It Sy NETBSDSRCDIR
78The path to the top level of the
79.Nx
80sources.
81If
82.Xr make 1
83is run from within the
84.Nx
85source tree, the default is the top
86level of that tree (as determined by the presence of
87.Pa build.sh
88and
89.Pa tools/ ) ,
90otherwise
91.Sy BSDSRCDIR
92will be used.
93.
94.It Sy BSDOBJDIR
95The real path to the
96.Sq obj
97tree for the
98.Nx
99source tree.
100.DFLT
101.Pa /usr/obj
102.
103.It Sy BSDSRCDIR
104The real path to the
105.Nx
106source tree.
107.DFLT
108.Pa /usr/src
109.
110.It Sy BUILD
111If defined,
112.Sq "make install"
113checks that the targets in the source directories are up-to-date and
114re-makes them if they are out of date, instead of blindly trying to install
115out of date or non-existent targets.
116.DFLTu
117.
118.It Sy BUILDID
119Identifier for the build.
120The identifier will be appended to
121object directory names, and can be consulted in the
122.Xr make 1
123configuration file in order to set additional build parameters,
124such as compiler flags.
125.DFLTu
126.
127.It Sy COPTS
128Extra options for the C compiler.
129Should be appended to (e.g.,
130.Sy COPTS+=-g ) ,
131rather than explicitly set.
132Note that
133.Sy CPUFLAGS ,
134not
135.Sy COPTS ,
136should be used for
137compiler flags that select CPU-related options.
138Also note that
139.Sy CFLAGS
140should never be set in
141.Nm .
142.
143.It Sy CPUFLAGS
144Additional flags passed to the compiler/assembler to select
145CPU instruction set options, CPU tuning options, etc.
146Such options should not be specified in
147.Sy COPTS ,
148because some parts of the build process need to override
149CPU-related compiler options.
150.
151.It Sy DESTDIR
152Directory to contain the built
153.Nx
154system.
155If set, special options are passed to the compilation tools to
156prevent their default use of the host system's
157.Sy /usr/include , /usr/lib ,
158and so forth.
159This pathname should
160.Em not
161end with a slash
162.Pq /
163character (for installation into the system's root directory, set
164.Sy DESTDIR
165to an empty string).
166The directory must reside on a file system which supports long file
167names and hard links.
168.DFLT
169Empty string if
170.Sy USETOOLS
171is
172.Dq yes ;
173unset otherwise.
174.Pp
175.Em Note :
176.Sy build.sh
177will provide a default of
178.Pa destdir. Ns Sy MACHINE
179(in the top-level
180.Sy .OBJDIR )
181unless run in
182.Sq expert
183mode
184.
185.It Sy MAKEVERBOSE
186Level of verbosity of status messages.
187Supported values:
188.Bl -tag -width xxx
189.It 0
190No descriptive messages or commands executed by
191.Xr make 1
192are shown.
193.It 1
194Brief messages are shown describing what is being done,
195but the actual commands executed by
196.Xr make 1
197are not displayed.
198.It 2
199Descriptive messages are shown as above (prefixed with a
200.Sq # ) ,
201and ordinary commands performed by
202.Xr make 1
203are displayed.
204.It 3
205In addition to the above, all commands performed by
206.Xr make 1
207are displayed, even if they would ordinarily have been hidden
208through use of the
209.Dq \&@
210prefix in the relevant makefile.
211.It 4
212In addition to the above, commands executed by
213.Xr make 1
214are traced through use of the
215.Xr sh 1
216.Dq Fl x
217flag.
218.El
219.DFLT
2202
221.
222.It Sy MKATF
223.YorN
224Indicates whether the Automated Testing Framework is built and installed.
225This also controls whether the
226.Nx
227test suite is built and installed,
228as the tests rely on ATF and cannot be built without it.
229.DFLTy
230.
231.It Sy MKBINUTILS
232.YorN
233Indicates whether any of the binutils tools or libraries should be built.
234That is, the libraries
235.Sy libbfd ,
236.Sy libiberty ,
237or any of the things that depend upon them, e.g.
238.Xr as 1 ,
239.Xr ld 1 ,
240.Xr dbsym 8 ,
241or
242.Xr mdsetimage 8 .
243.DFLTy
244.
245.It Sy MKBSDTAR
246.YorN
247If
248.Dq yes ,
249.Sy libarchive Ns - Ns
250based implementations of
251.Xr cpio 1
252and
253.Xr tar 1
254are built and installed.
255If
256.Dq no ,
257.Xr pax 1
258based frontends are used.
259.DFLTn
260.
261.It Sy MKCATPAGES
262.YorN
263Indicates whether preformatted plaintext manual pages will be created
264and installed.
265.DFLTn
266.
267.It Sy MKCLEANSRC
268.YorN
269Indicates whether
270.Sq "make clean"
271and
272.Sq "make cleandir"
273will delete file names in
274.Sy CLEANFILES
275or
276.Sy CLEANDIRFILES
277from both the object directory,
278.Sy .OBJDIR ,
279and the source directory,
280.Sy .SRCDIR .
281.Pp
282If
283.Dq yes ,
284then these file names will be deleted relative to both
285.Sy .OBJDIR
286and
287.Sy .CURDIR .
288If
289.Dq no ,
290then the deletion will be performed relative to
291.Sy .OBJDIR
292only.
293.DFLTy
294.
295.It Sy MKCLEANVERIFY
296.YorN
297Controls whether
298.Sq "make clean"
299and
300.Sq "make cleandir"
301will verify that files have been deleted.
302If
303.Dq yes ,
304then file deletions will be verified using
305.Xr ls 1 .
306If
307.Dq no ,
308then file deletions will not be verified.
309.DFLTy
310.
311.It Sy MKCOMPAT
312.YorN
313Indicates whether support for multiple ABIs is to be built and
314installed.
315.DFLTy
316on amd64, mips64 and sparc64,
317.Dq no
318on other architectures.
319.
320.It Sy MKCOMPLEX
321.YorN
322Indicates whether the
323.Lb libm
324is compiled with support for
325.In complex.h .
326.DFLTy
327.
328.It Sy MKCTF
329.YorN
330Indicates whether CTF tools are to be built and installed.
331If yes, the tools will be used to generate and manipulate
332CTF data of ELF binaries during build.
333.DFLTn
334.
335.It Sy MKCRYPTO
336.YorN
337Indicates whether cryptographic code will be included in a build;
338provided for the benefit of countries that do not allow strong
339cryptography.
340Will not affect use of the standard low-security password encryption system,
341.Xr crypt 3 .
342.DFLTy
343.Pp
344If
345.Dq no ,
346acts as
347.Sy MKKERBEROS=no .
348.
349.It Sy MKCRYPTO_RC5
350.YorN
351Indicates whether RC5 support will be built into
352.Sy libcrypto_rc5.a .
353.DFLTn
354.
355.It Sy MKCVS
356.YorN
357Indicates whether
358.Xr cvs 1
359is built.
360.DFLTy
361.
362.It Sy MKDEBUG
363.YorN
364Indicates whether separate debugging symbols should be installed into
365.Sy DESTDIR Ns Pa /usr/libdata/debug .
366.DFLTn
367.
368.It Sy MKDEBUGLIB
369.YorN
370Indicates whether debug libraries
371.Sy ( lib*_g.a )
372will be built and installed.
373Debug libraries are compiled with
374.Dq Li -g -DDEBUG .
375.DFLTn
376.
377.It Sy MKDOC
378.YorN
379Indicates whether system documentation destined for
380.Sy DESTDIR Ns Pa /usr/share/doc
381will be installed.
382.DFLTy
383.
384.It Sy MKDTRACE
385.YorN
386Indicates whether the kernel modules, utilities and libraries for
387.Xr dtrace 1
388support are to be built and installed.
389.DFLTn
390.
391.It Sy MKDYNAMICROOT
392.YorN
393Indicates whether all programs should be dynamically linked,
394and to install shared libraries required by
395.Pa /bin
396and
397.Pa /sbin
398and the shared linker
399.Xr ld.elf_so 1
400into
401.Pa /lib .
402If
403.Sq no ,
404link programs in
405.Pa /bin
406and
407.Pa /sbin
408statically.
409.DFLTy
410.
411.It Sy MKGCC
412.YorN
413Indicates whether
414.Xr gcc 1
415or any related libraries
416.Pq Sy libg2c , libgcc , libobjc , libstdc++
417are built.
418.DFLTy
419.
420.It Sy MKGCCCMDS
421.YorN
422Indicates whether
423.Xr gcc 1
424is built.
425If
426.Dq no ,
427then
428.Sy MKGCC
429controls if the
430GCC libraries are built.
431.DFLTy
432.
433.It Sy MKGDB
434.YorN
435Indicates whether
436.Xr gdb 1
437is built.
438.DFLTy
439.
440.It Sy MKHESIOD
441.YorN
442Indicates whether the Hesiod infrastructure
443(libraries and support programs) is built and installed.
444.DFLTy
445.
446.It Sy MKHOSTOBJ
447.YorN
448If set to
449.Dq yes ,
450then for programs intended to be run on the compile host,
451the name, release, and architecture of the host operating system
452will be suffixed to the name of the object directory created by
453.Dq make obj .
454(This allows multiple host systems to compile
455.Nx
456for a single target.)
457If set to
458.Dq no ,
459then programs built to be run on the compile host will use the same
460object directory names as programs built to be run on the target.
461.DFLTn
462.
463.It Sy MKHTML
464.YorN
465Indicates whether the HTML manual pages are created and installed.
466.DFLTy
467.
468.It Sy MKIEEEFP
469.YorN
470Indicates whether code for IEEE754/IEC60559 conformance is built.
471Has no effect on most platforms.
472.DFLTy
473.
474.It Sy MKINET6
475Indicates whether INET6 (IPv6) infrastructure
476(libraries and support programs) is built and installed.
477.DFLTy
478.
479.It Sy MKINFO
480.YorN
481Indicates whether GNU Info files, used for the documentation for
482most of the compilation tools, will be built and installed.
483.DFLTy
484.
485.It Sy MKIPFILTER
486.YorN
487Indicates whether the
488.Xr ipf 4
489programs, headers and other components will be built and installed.
490.DFLTy
491.
492.It Sy MKISCSI
493.YorN
494Indicates whether the iSCSI library and applications are
495built and installed.
496.DFLTy
497.
498.It Sy MKKERBEROS
499.YorN
500Indicates whether the Kerberos v5 infrastructure
501(libraries and support programs) is built and installed.
502Caution: the default
503.Xr pam 8
504configuration requires that Kerberos be present even if not used.
505Do not install a userland without Kerberos without also either
506updating the
507.Xr pam.conf 5
508files or disabling PAM via
509.Sy MKPAM .
510Otherwise all logins will fail.
511.DFLTy
512.
513.It Sy MKKMOD
514.YorN
515Indicates whether kernel modules are built and installed.
516.DFLTy
517.
518.It Sy MKKYUA
519.YorN
520Indicates whether Kyua (the testing infrastructure used by
521.Nx )
522is built and installed.
523Note that
524.Em this does not control the installation of the tests themselves .
525The tests rely on the ATF libraries and therefore their build is controlled
526by the
527.Sy MKATF
528knob.
529.DFLTn
530until the import of Kyua is done and validated.
531.
532.It Sy MKLDAP
533.YorN
534Indicates whether the Lightweight Directory Access Protocol (LDAP)
535infrastructure
536(libraries and support programs) is built and installed.
537.DFLTy
538.
539.It Sy MKLINKLIB
540.YorN
541Indicates whether all of the shared library infrastructure is built.
542If
543.Sq no ,
544prevents:
545installation of the
546.Sy *.a
547libraries,
548installation of the
549.Sy *_pic.a
550libraries on PIC systems,
551building of
552.Sy *.a
553libraries on PIC systems,
554or
555installation of
556.Sy .so
557symlinks on ELF systems.
558.DFLTy
559.Pp
560If
561.Dq no ,
562acts as
563.Sy MKPICINSTALL=no MKPROFILE=no .
564.
565.It Sy MKLINT
566.YorN
567Indicates whether
568.Xr lint 1
569will be run against portions of the
570.Nx
571source code during the build, and whether lint libraries will be
572installed into
573.Sy DESTDIR Ns Pa /usr/libdata/lint .
574.DFLTy
575.
576.It Sy MKLVM
577.YorN
578If not
579.Dq no ,
580build and install the logical volume manager.
581.DFLTy
582.
583.It Sy MKMAN
584.YorN
585Indicates whether manual pages will be installed.
586.DFLTy
587.Pp
588If
589.Dq no ,
590acts as
591.Sy MKCATPAGES=no MKHTML=no .
592.
593.It Sy MKMANZ
594.YorN
595Indicates whether manual pages should be compressed with
596.Xr gzip 1
597at installation time.
598.DFLTn
599.
600.It Sy MKMDNS
601.YorN
602Indicates whether the mDNS (Multicast DNS) infrastructure
603(libraries and support programs) is built and installed.
604.DFLTy
605.
606.It Sy MKNLS
607.YorN
608Indicates whether Native Language System (NLS) locale zone files will be
609built and installed.
610.DFLTy
611.
612.It Sy MKNPF
613.YorN
614Indicates whether the NPF packet filter is to be built and installed.
615.DFLTy
616.
617.It Sy MKOBJ
618.YorN
619Indicates whether object directories will be created when running
620.Dq make obj .
621If set to
622.Dq no ,
623then all built files will be located inside the regular source tree.
624.DFLTy
625.Pp
626If
627.Dq no ,
628acts as
629.Sy MKOBJDIRS=no .
630.
631.It Sy MKOBJDIRS
632.YorN
633Indicates whether object directories will be created automatically
634(via a
635.Dq make obj
636pass) at the start of a build.
637.DFLTn
638.
639.It Sy MKPAM
640.YorN
641Indicates whether the
642.Xr pam 8
643framework (libraries and support files) is built.
644The pre-PAM code is not supported and may be removed in the future.
645.DFLTy
646.
647.It Sy MKPCC
648.YorN
649Indicates whether
650.Xr pcc 1
651or any related libraries
652.Pq Sy libpcc , libpccsoftfloat
653are built.
654.DFLTn
655.
656.It Sy MKPF
657.YorN
658Indicates whether the
659.Xr pf 4
660programs, headers and LKM will be built and installed.
661.DFLTy
662.
663.It Sy MKPIC
664.YorN
665Indicates whether shared objects and libraries will be created and
666installed.
667If set to
668.Dq no ,
669the entire built system will be statically linked.
670.DFLT
671Platform dependent.
672As of this writing, all platforms except
673.Sy m68000
674and
675.Sy sh3
676default to
677.Dq yes .
678.Pp
679If
680.Dq no ,
681acts as
682.Sy MKPICLIB=no .
683.
684.It Sy MKPICINSTALL
685.YorN
686Indicates whether the
687.Xr ar 1
688format libraries
689.Sy ( lib*_pic.a ) ,
690used to generate shared libraries, are installed.
691.DFLTy
692.
693.It Sy MKPICLIB
694.YorN
695Indicates whether the
696.Xr ar 1
697format libraries
698.Sy ( lib*_pic.a ) ,
699used to generate shared libraries.
700.DFLTy
701.
702.It Sy MKPIE
703Indicates whether Position Independent Executables (PIE)
704are built and installed.
705.DFLTn
706.
707.It Sy MKPIGZGZIP
708.YorN
709If
710.Dq no ,
711the
712.Xr pigz 1
713utility is not installed as
714.Xr gzip 1 .
715.DFLTn
716.
717.It Sy MKPOSTFIX
718.YorN
719Indicates whether Postfix is built.
720.DFLTy
721.
722.It Sy MKPROFILE
723.YorN
724Indicates whether profiled libraries
725.Sy ( lib*_p.a )
726will be built and installed.
727.DFLT
728.Dq yes ;
729however, some platforms turn off
730.Sy MKPROFILE
731by default at times due to toolchain problems with profiled code.
732.
733.It Sy MKREPRO
734.YorN
735Indicates whether builds are to be reproducible.
736If
737.Dq yes ,
738two builds from the same source tree will produce the same build
739results.
740.DFLTn
741.
742.It Sy MKRUMP
743.YorN
744Indicates whether the
745.Xr rump 3
746headers, libraries and programs are to be installed.
747.DFLTy
748.
749.It Sy MKSHARE
750.YorN
751Indicates whether files destined to reside in
752.Sy DESTDIR Ns Pa /usr/share
753will be built and installed.
754.DFLTy
755.Pp
756If
757.Dq no ,
758acts as
759.Sy MKCATPAGES=no MKDOC=no MKINFO=no MKHTML=no MKMAN=no MKNLS=no .
760.
761.It Sy MKSKEY
762.YorN
763Indicates whether the S/key infrastructure
764(libraries and support programs) is built.
765.DFLTy
766.
767.It Sy MKSOFTFLOAT
768.YorN
769Indicates whether the compiler generates output containing
770library calls for floating point and possibly soft-float library
771support.
772.DFLTn
773.
774.It Sy MKSTATICLIB
775.YorN
776Indicates whether the normal static libraries
777.Sy ( lib*_g.a )
778will be built and installed.
779.DFLTy
780.
781.It Sy MKSTRIPIDENT
782.YorN
783Indicates whether RCS IDs, for use with
784.Xr ident 1 ,
785should be stripped from program binaries and shared libraries.
786.DFLTn
787.
788.It Sy MKUNPRIVED
789.YorN
790Indicates whether an unprivileged install will occur.
791The user, group, permissions, and file flags, will not be set on
792the installed item; instead the information will be appended to
793a file called
794.Pa METALOG
795in
796.Sy DESTDIR .
797The contents of
798.Pa METALOG
799is used during the generation of the distribution tar files to ensure
800that the appropriate file ownership is stored.
801.DFLTn
802.
803.It Sy MKUPDATE
804.YorN
805Indicates whether all install operations intended to write to
806.Sy DESTDIR
807will compare file timestamps before installing, and skip the install
808phase if the destination files are up-to-date.
809This also has implications on full builds (see next subsection).
810.DFLTn
811.
812.It Sy MKX11
813.YorN
814Indicates whether X11 is built and installed
815(by descending into
816.Pa src/external/mit/xorg ) .
817.DFLTn
818.Pp
819.
820.It Sy MKX11FONTS
821.YorN
822If
823.Dq no ,
824do not build and install the X fonts.
825.DFLTy
826.
827.It Sy MKX11MOTIF
828.YorN
829If
830.Dq yes ,
831build the native Xorg libGLw with Motif stubs.
832.DFLTn
833.
834.It Sy MKYP
835.YorN
836Indicates whether the YP (NIS) infrastructure
837(libraries and support programs) is built.
838.DFLTy
839.
840.It Sy MKZFS
841.YorN
842Indicates whether the ZFS kernel module and the utilities and
843libraries used to manage the ZFS system are to be built.
844.DFLTy
845on i386 and amd64,
846.Dq no
847on other architectures.
848.
849.It Sy OBJMACHINE
850If defined, creates objdirs of the form
851.Pa obj. Ns Sy MACHINE ,
852where
853.Sy MACHINE
854is the current architecture (as per
855.Sq "uname -m" ) .
856.
857.It Sy RELEASEDIR
858If set, specifies the directory to which a
859.Xr release 7
860layout will be written at the end of a
861.Dq make release .
862.DFLTu
863.Pp
864.Em Note :
865.Sy build.sh
866will provide a default of
867.Pa releasedir
868(in the top-level
869.Sy .OBJDIR )
870unless run in
871.Sq expert
872mode
873.
874.It Sy TOOLDIR
875Directory to hold the host tools, once built.
876This directory should be unique to a given host system and
877.Nx
878source tree.
879(However, multiple targets may share the same
880.Sy TOOLDIR ;
881the target-dependent files have unique names.)
882If unset, a default based
883on the
884.Xr uname 1
885information of the host platform will be created in the
886.Sy .OBJDIR
887of
888.Pa src .
889.DFLTu
890.
891.It Sy USE_FORT
892Indicates whether the so-called
893.Dq FORTIFY_SOURCE
894.Xr security 7
895extensions are enabled; see
896.Xr ssp 3
897for details.
898This imposes some performance penalty.
899.DFLTn
900.
901.It Sy USE_HESIOD
902.YorN
903Indicates whether Hesiod support is
904enabled in the various applications that support it.
905If
906.Sy MKHESIOD=no ,
907.Sy USE_HESIOD
908will also be forced to
909.Dq no .
910.DFLTy
911.
912.It Sy USE_INET6
913.YorN
914Indicates whether INET6 (IPv6) support is
915enabled in the various applications that support it.
916If
917.Sy MKINET6=no ,
918.Sy USE_INET6
919will also be forced to
920.Dq no .
921.DFLTy
922.
923.It Sy USE_JEMALLOC
924.YorN
925Indicates whether the
926.Em jemalloc
927allocator
928.Pq which is designed for improved performance with threaded applications
929is used instead of the
930.Em phkmalloc
931allocator
932.Pq that was the default until Nx 5.0 .
933.DFLTy
934.
935.It Sy USE_KERBEROS
936.YorN
937Indicates whether Kerberos v5 support is
938enabled in the various applications that support it.
939If
940.Sy MKKERBEROS=no ,
941.Sy USE_KERBEROS
942will also be forced to
943.Dq no .
944.DFLTy
945.
946.It Sy USE_LDAP
947.YorN
948Indicates whether LDAP support is
949enabled in the various applications that support it.
950If
951.Sy MKLDAP=no ,
952.Sy USE_LDAP
953will also be forced to
954.Dq no .
955.DFLTy
956.
957.It Sy USE_PAM
958.YorN
959Indicates whether
960.Xr pam 8
961support is enabled in the various applications that support it.
962If
963.Sy MKPAM=no ,
964.Sy USE_PAM
965will also be forced to
966.Dq no .
967.DFLTy
968.
969.It Sy USE_SKEY
970.YorN
971Indicates whether S/key support is
972enabled in the various applications that support it.
973If
974.Sy MKSKEY=no ,
975.Sy USE_SKEY
976will also be forced to
977.Dq no .
978.DFLTy
979.Pp
980This is mutually exclusive to
981.Sy USE_PAM!=no .
982.
983.It Sy USE_SSP
984.YorN
985Indicates whether GCC stack-smashing protection (SSP) support,
986which detects stack overflows and aborts the program,
987is enabled.
988This imposes some performance penalty.
989.DFLTn
990.
991.It Sy USE_YP
992.YorN
993Indicates whether YP (NIS) support is
994enabled in the various applications that support it.
995If
996.Sy MKYP=no ,
997.Sy USE_YP
998will also be forced to
999.Dq no .
1000.DFLTy
1001.
1002.It Sy USETOOLS
1003Indicates whether the tools specified by
1004.Sy TOOLDIR
1005should be used as part of a build in progress.
1006Must be set to
1007.Dq yes
1008if cross-compiling.
1009.Bl -tag -width "never"
1010.It Sy yes
1011Use the tools from
1012.Sy TOOLDIR .
1013.It Sy no
1014Do not use the tools from
1015.Sy TOOLDIR ,
1016but refuse to build native compilation tool components that are
1017version-specific for that tool.
1018.It Sy never
1019Do not use the tools from
1020.Sy TOOLDIR ,
1021even when building native tool components.
1022This is similar to the traditional
1023.Nx
1024build method, but does
1025.Em not
1026verify that the compilation tools in use are up-to-date enough in order
1027to build the tree successfully.
1028This may cause build or runtime problems when building the whole
1029.Nx
1030source tree.
1031.El
1032.DFLT
1033.Dq yes
1034if building all or part of a whole
1035.Nx
1036source tree (detected automatically);
1037.Dq no
1038otherwise (to preserve traditional semantics of the
1039.Aq bsd.*.mk
1040.Xr make 1
1041include files).
1042.
1043.El
1044.
1045.Ss pkgsrc system variables
1046.
1047Please see the pkgsrc guide at
1048.Lk http://www.netbsd.org/Documentation/pkgsrc/
1049or
1050.Pa pkgsrc/doc/pkgsrc.txt
1051for more variables used internally by the package system and
1052.Pa ${PKGSRCDIR}/mk/defaults/mk.conf
1053for package-specific examples.
1054.
1055.Sh FILES
1056.Bl -tag -width /etc/mk.conf
1057.
1058.It Pa /etc/mk.conf
1059This file.
1060.
1061.It Pa ${PKGSRCDIR}/mk/defaults/mk.conf
1062Examples for settings regarding the pkgsrc collection.
1063.El
1064.
1065.Sh SEE ALSO
1066.Xr make 1 ,
1067.Pa /usr/share/mk/bsd.README ,
1068.Pa pkgsrc/doc/pkgsrc.txt ,
1069.Lk http://www.netbsd.org/Documentation/pkgsrc/
1070.Sh HISTORY
1071The
1072.Nm
1073file appeared in
1074.Nx 1.2 .
1075