xref: /netbsd-src/share/man/man5/mk.conf.5 (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
1.\"	$NetBSD: mk.conf.5,v 1.76 2017/05/21 15:28:42 riastradh 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 20, 2017
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 MKCVS
336.YorN
337Indicates whether
338.Xr cvs 1
339is built.
340.DFLTy
341.
342.It Sy MKDEBUG
343.YorN
344Indicates whether separate debugging symbols should be installed into
345.Sy DESTDIR Ns Pa /usr/libdata/debug .
346.DFLTn
347.
348.It Sy MKDEBUGLIB
349.YorN
350Indicates whether debug libraries
351.Sy ( lib*_g.a )
352will be built and installed.
353Debug libraries are compiled with
354.Dq Li -g -DDEBUG .
355.DFLTn
356.
357.It Sy MKDOC
358.YorN
359Indicates whether system documentation destined for
360.Sy DESTDIR Ns Pa /usr/share/doc
361will be installed.
362.DFLTy
363.
364.It Sy MKDTRACE
365.YorN
366Indicates whether the kernel modules, utilities and libraries for
367.Xr dtrace 1
368support are to be built and installed.
369.DFLTn
370.
371.It Sy MKDYNAMICROOT
372.YorN
373Indicates whether all programs should be dynamically linked,
374and to install shared libraries required by
375.Pa /bin
376and
377.Pa /sbin
378and the shared linker
379.Xr ld.elf_so 1
380into
381.Pa /lib .
382If
383.Sq no ,
384link programs in
385.Pa /bin
386and
387.Pa /sbin
388statically.
389.DFLTy
390.
391.It Sy MKGCC
392.YorN
393Indicates whether
394.Xr gcc 1
395or any related libraries
396.Pq Sy libg2c , libgcc , libobjc , libstdc++
397are built.
398.DFLTy
399.
400.It Sy MKGCCCMDS
401.YorN
402Indicates whether
403.Xr gcc 1
404is built.
405If
406.Dq no ,
407then
408.Sy MKGCC
409controls if the
410GCC libraries are built.
411.DFLTy
412.
413.It Sy MKGDB
414.YorN
415Indicates whether
416.Xr gdb 1
417is built.
418.DFLTy
419.
420.It Sy MKHESIOD
421.YorN
422Indicates whether the Hesiod infrastructure
423(libraries and support programs) is built and installed.
424.DFLTy
425.
426.It Sy MKHOSTOBJ
427.YorN
428If set to
429.Dq yes ,
430then for programs intended to be run on the compile host,
431the name, release, and architecture of the host operating system
432will be suffixed to the name of the object directory created by
433.Dq make obj .
434(This allows multiple host systems to compile
435.Nx
436for a single target.)
437If set to
438.Dq no ,
439then programs built to be run on the compile host will use the same
440object directory names as programs built to be run on the target.
441.DFLTn
442.
443.It Sy MKHTML
444.YorN
445Indicates whether the HTML manual pages are created and installed.
446.DFLTy
447.
448.It Sy MKIEEEFP
449.YorN
450Indicates whether code for IEEE754/IEC60559 conformance is built.
451Has no effect on most platforms.
452.DFLTy
453.
454.It Sy MKINET6
455Indicates whether INET6 (IPv6) infrastructure
456(libraries and support programs) is built and installed.
457.DFLTy
458.
459.It Sy MKINFO
460.YorN
461Indicates whether GNU Info files, used for the documentation for
462most of the compilation tools, will be built and installed.
463.DFLTy
464.
465.It Sy MKIPFILTER
466.YorN
467Indicates whether the
468.Xr ipf 4
469programs, headers and other components will be built and installed.
470.DFLTy
471.
472.It Sy MKISCSI
473.YorN
474Indicates whether the iSCSI library and applications are
475built and installed.
476.DFLTy
477.
478.It Sy MKKERBEROS
479.YorN
480Indicates whether the Kerberos v5 infrastructure
481(libraries and support programs) is built and installed.
482Caution: the default
483.Xr pam 8
484configuration requires that Kerberos be present even if not used.
485Do not install a userland without Kerberos without also either
486updating the
487.Xr pam.conf 5
488files or disabling PAM via
489.Sy MKPAM .
490Otherwise all logins will fail.
491.DFLTy
492.
493.It Sy MKKMOD
494.YorN
495Indicates whether kernel modules are built and installed.
496.DFLTy
497.
498.It Sy MKKYUA
499.YorN
500Indicates whether Kyua (the testing infrastructure used by
501.Nx )
502is built and installed.
503Note that
504.Em this does not control the installation of the tests themselves .
505The tests rely on the ATF libraries and therefore their build is controlled
506by the
507.Sy MKATF
508knob.
509.DFLTn
510until the import of Kyua is done and validated.
511.
512.It Sy MKLDAP
513.YorN
514Indicates whether the Lightweight Directory Access Protocol (LDAP)
515infrastructure
516(libraries and support programs) is built and installed.
517.DFLTy
518.
519.It Sy MKLINKLIB
520.YorN
521Indicates whether all of the shared library infrastructure is built.
522If
523.Sq no ,
524prevents:
525installation of the
526.Sy *.a
527libraries,
528installation of the
529.Sy *_pic.a
530libraries on PIC systems,
531building of
532.Sy *.a
533libraries on PIC systems,
534or
535installation of
536.Sy .so
537symlinks on ELF systems.
538.DFLTy
539.Pp
540If
541.Dq no ,
542acts as
543.Sy MKPICINSTALL=no MKPROFILE=no .
544.
545.It Sy MKLINT
546.YorN
547Indicates whether
548.Xr lint 1
549will be run against portions of the
550.Nx
551source code during the build, and whether lint libraries will be
552installed into
553.Sy DESTDIR Ns Pa /usr/libdata/lint .
554.DFLTy
555.
556.It Sy MKLVM
557.YorN
558If not
559.Dq no ,
560build and install the logical volume manager.
561.DFLTy
562.
563.It Sy MKMAN
564.YorN
565Indicates whether manual pages will be installed.
566.DFLTy
567.Pp
568If
569.Dq no ,
570acts as
571.Sy MKCATPAGES=no MKHTML=no .
572.
573.It Sy MKMANZ
574.YorN
575Indicates whether manual pages should be compressed with
576.Xr gzip 1
577at installation time.
578.DFLTn
579.
580.It Sy MKMDNS
581.YorN
582Indicates whether the mDNS (Multicast DNS) infrastructure
583(libraries and support programs) is built and installed.
584.DFLTy
585.
586.It Sy MKNLS
587.YorN
588Indicates whether Native Language System (NLS) locale zone files will be
589built and installed.
590.DFLTy
591.
592.It Sy MKNPF
593.YorN
594Indicates whether the NPF packet filter is to be built and installed.
595.DFLTy
596.
597.It Sy MKOBJ
598.YorN
599Indicates whether object directories will be created when running
600.Dq make obj .
601If set to
602.Dq no ,
603then all built files will be located inside the regular source tree.
604.DFLTy
605.Pp
606If
607.Dq no ,
608acts as
609.Sy MKOBJDIRS=no .
610.
611.It Sy MKOBJDIRS
612.YorN
613Indicates whether object directories will be created automatically
614(via a
615.Dq make obj
616pass) at the start of a build.
617.DFLTn
618.
619.It Sy MKPAM
620.YorN
621Indicates whether the
622.Xr pam 8
623framework (libraries and support files) is built.
624The pre-PAM code is not supported and may be removed in the future.
625.DFLTy
626.
627.It Sy MKPCC
628.YorN
629Indicates whether
630.Xr pcc 1
631or any related libraries
632.Pq Sy libpcc , libpccsoftfloat
633are built.
634.DFLTn
635.
636.It Sy MKPF
637.YorN
638Indicates whether the
639.Xr pf 4
640programs, headers and LKM will be built and installed.
641.DFLTy
642.
643.It Sy MKPIC
644.YorN
645Indicates whether shared objects and libraries will be created and
646installed.
647If set to
648.Dq no ,
649the entire built system will be statically linked.
650.DFLT
651Platform dependent.
652As of this writing, all platforms except
653.Sy m68000
654default to
655.Dq yes .
656.Pp
657If
658.Dq no ,
659acts as
660.Sy MKPICLIB=no .
661.
662.It Sy MKPICINSTALL
663.YorN
664Indicates whether the
665.Xr ar 1
666format libraries
667.Sy ( lib*_pic.a ) ,
668used to generate shared libraries, are installed.
669.DFLTy
670.
671.It Sy MKPICLIB
672.YorN
673Indicates whether the
674.Xr ar 1
675format libraries
676.Sy ( lib*_pic.a ) ,
677used to generate shared libraries.
678.DFLTy
679.
680.It Sy MKPIE
681Indicates whether Position Independent Executables (PIE)
682are built and installed.
683.DFLTn
684.
685.It Sy MKPIGZGZIP
686.YorN
687If
688.Dq no ,
689the
690.Xr pigz 1
691utility is not installed as
692.Xr gzip 1 .
693.DFLTn
694.
695.It Sy MKPOSTFIX
696.YorN
697Indicates whether Postfix is built.
698.DFLTy
699.
700.It Sy MKPROFILE
701.YorN
702Indicates whether profiled libraries
703.Sy ( lib*_p.a )
704will be built and installed.
705.DFLT
706.Dq yes ;
707however, some platforms turn off
708.Sy MKPROFILE
709by default at times due to toolchain problems with profiled code.
710.
711.It Sy MKREPRO
712.YorN
713Indicates whether builds are to be reproducible.
714If
715.Dq yes ,
716two builds from the same source tree will produce the same build
717results.
718.DFLTn
719.
720.It Sy MKRUMP
721.YorN
722Indicates whether the
723.Xr rump 3
724headers, libraries and programs are to be installed.
725.DFLTy
726.
727.It Sy MKSHARE
728.YorN
729Indicates whether files destined to reside in
730.Sy DESTDIR Ns Pa /usr/share
731will be built and installed.
732.DFLTy
733.Pp
734If
735.Dq no ,
736acts as
737.Sy MKCATPAGES=no MKDOC=no MKINFO=no MKHTML=no MKMAN=no MKNLS=no .
738.
739.It Sy MKSKEY
740.YorN
741Indicates whether the S/key infrastructure
742(libraries and support programs) is built.
743.DFLTy
744.
745.It Sy MKSOFTFLOAT
746.YorN
747Indicates whether the compiler generates output containing
748library calls for floating point and possibly soft-float library
749support.
750.DFLTn
751.
752.It Sy MKSTATICLIB
753.YorN
754Indicates whether the normal static libraries
755.Sy ( lib*_g.a )
756will be built and installed.
757.DFLTy
758.
759.It Sy MKSTRIPIDENT
760.YorN
761Indicates whether RCS IDs, for use with
762.Xr ident 1 ,
763should be stripped from program binaries and shared libraries.
764.DFLTn
765.
766.It Sy MKSTRIPSYM
767.YorN
768Indicates whether all local symbols should be stripped from shared libraries.
769If
770.Dq yes ,
771strip all local symbols from shared libraries;
772the affect is equivalent to the
773.Fl x
774option of
775.Xr ld 1 .
776If
777.Dq no ,
778strip only temporary local symbols; the affect is equivalent
779to the
780.Fl X
781option of
782.Xr ld 1 .
783Keeping non-temporary local symbols
784such as static function names is useful on using DTrace for
785userland libraries and getting a backtrace from a rump kernel
786loading shared libraries.
787.DFLTy
788.
789.It Sy MKUNPRIVED
790.YorN
791Indicates whether an unprivileged install will occur.
792The user, group, permissions, and file flags, will not be set on
793the installed item; instead the information will be appended to
794a file called
795.Pa METALOG
796in
797.Sy DESTDIR .
798The contents of
799.Pa METALOG
800is used during the generation of the distribution tar files to ensure
801that the appropriate file ownership is stored.
802.DFLTn
803.
804.It Sy MKUPDATE
805.YorN
806Indicates whether all install operations intended to write to
807.Sy DESTDIR
808will compare file timestamps before installing, and skip the install
809phase if the destination files are up-to-date.
810This also has implications on full builds (see next subsection).
811.DFLTn
812.
813.It Sy MKX11
814.YorN
815Indicates whether X11 is built and installed
816(by descending into
817.Pa src/external/mit/xorg ) .
818.DFLTn
819.Pp
820.
821.It Sy MKX11FONTS
822.YorN
823If
824.Dq no ,
825do not build and install the X fonts.
826.DFLTy
827.
828.It Sy MKX11MOTIF
829.YorN
830If
831.Dq yes ,
832build the native Xorg libGLw with Motif stubs.
833.DFLTn
834.
835.It Sy MKYP
836.YorN
837Indicates whether the YP (NIS) infrastructure
838(libraries and support programs) is built.
839.DFLTy
840.
841.It Sy MKZFS
842.YorN
843Indicates whether the ZFS kernel module and the utilities and
844libraries used to manage the ZFS system are to be built.
845.DFLTy
846on i386 and amd64,
847.Dq no
848on other architectures.
849.
850.It Sy OBJMACHINE
851If defined, creates objdirs of the form
852.Pa obj. Ns Sy MACHINE ,
853where
854.Sy MACHINE
855is the current architecture (as per
856.Sq "uname -m" ) .
857.
858.It Sy RELEASEDIR
859If set, specifies the directory to which a
860.Xr release 7
861layout will be written at the end of a
862.Dq make release .
863.DFLTu
864.Pp
865.Em Note :
866.Sy build.sh
867will provide a default of
868.Pa releasedir
869(in the top-level
870.Sy .OBJDIR )
871unless run in
872.Sq expert
873mode
874.
875.It Sy TOOLDIR
876Directory to hold the host tools, once built.
877This directory should be unique to a given host system and
878.Nx
879source tree.
880(However, multiple targets may share the same
881.Sy TOOLDIR ;
882the target-dependent files have unique names.)
883If unset, a default based
884on the
885.Xr uname 1
886information of the host platform will be created in the
887.Sy .OBJDIR
888of
889.Pa src .
890.DFLTu
891.
892.It Sy USE_FORT
893Indicates whether the so-called
894.Dq FORTIFY_SOURCE
895.Xr security 7
896extensions are enabled; see
897.Xr ssp 3
898for details.
899This imposes some performance penalty.
900.DFLTn
901.
902.It Sy USE_HESIOD
903.YorN
904Indicates whether Hesiod support is
905enabled in the various applications that support it.
906If
907.Sy MKHESIOD=no ,
908.Sy USE_HESIOD
909will also be forced to
910.Dq no .
911.DFLTy
912.
913.It Sy USE_INET6
914.YorN
915Indicates whether INET6 (IPv6) support is
916enabled in the various applications that support it.
917If
918.Sy MKINET6=no ,
919.Sy USE_INET6
920will also be forced to
921.Dq no .
922.DFLTy
923.
924.It Sy USE_JEMALLOC
925.YorN
926Indicates whether the
927.Em jemalloc
928allocator
929.Pq which is designed for improved performance with threaded applications
930is used instead of the
931.Em phkmalloc
932allocator
933.Pq that was the default until Nx 5.0 .
934.DFLTy
935.
936.It Sy USE_KERBEROS
937.YorN
938Indicates whether Kerberos v5 support is
939enabled in the various applications that support it.
940If
941.Sy MKKERBEROS=no ,
942.Sy USE_KERBEROS
943will also be forced to
944.Dq no .
945.DFLTy
946.
947.It Sy USE_LDAP
948.YorN
949Indicates whether LDAP support is
950enabled in the various applications that support it.
951If
952.Sy MKLDAP=no ,
953.Sy USE_LDAP
954will also be forced to
955.Dq no .
956.DFLTy
957.
958.It Sy USE_PAM
959.YorN
960Indicates whether
961.Xr pam 8
962support is enabled in the various applications that support it.
963If
964.Sy MKPAM=no ,
965.Sy USE_PAM
966will also be forced to
967.Dq no .
968.DFLTy
969.
970.It Sy USE_SKEY
971.YorN
972Indicates whether S/key support is
973enabled in the various applications that support it.
974If
975.Sy MKSKEY=no ,
976.Sy USE_SKEY
977will also be forced to
978.Dq no .
979.DFLTy
980.Pp
981This is mutually exclusive to
982.Sy USE_PAM!=no .
983.
984.It Sy USE_SSP
985.YorN
986Indicates whether GCC stack-smashing protection (SSP) support,
987which detects stack overflows and aborts the program,
988is enabled.
989This imposes some performance penalty.
990.DFLTn
991.
992.It Sy USE_YP
993.YorN
994Indicates whether YP (NIS) support is
995enabled in the various applications that support it.
996If
997.Sy MKYP=no ,
998.Sy USE_YP
999will also be forced to
1000.Dq no .
1001.DFLTy
1002.
1003.It Sy USETOOLS
1004Indicates whether the tools specified by
1005.Sy TOOLDIR
1006should be used as part of a build in progress.
1007Must be set to
1008.Dq yes
1009if cross-compiling.
1010.Bl -tag -width "never"
1011.It Sy yes
1012Use the tools from
1013.Sy TOOLDIR .
1014.It Sy no
1015Do not use the tools from
1016.Sy TOOLDIR ,
1017but refuse to build native compilation tool components that are
1018version-specific for that tool.
1019.It Sy never
1020Do not use the tools from
1021.Sy TOOLDIR ,
1022even when building native tool components.
1023This is similar to the traditional
1024.Nx
1025build method, but does
1026.Em not
1027verify that the compilation tools in use are up-to-date enough in order
1028to build the tree successfully.
1029This may cause build or runtime problems when building the whole
1030.Nx
1031source tree.
1032.El
1033.DFLT
1034.Dq yes
1035if building all or part of a whole
1036.Nx
1037source tree (detected automatically);
1038.Dq no
1039otherwise (to preserve traditional semantics of the
1040.Aq bsd.*.mk
1041.Xr make 1
1042include files).
1043.
1044.El
1045.
1046.Ss pkgsrc system variables
1047.
1048Please see the pkgsrc guide at
1049.Lk http://www.netbsd.org/Documentation/pkgsrc/
1050or
1051.Pa pkgsrc/doc/pkgsrc.txt
1052for more variables used internally by the package system and
1053.Pa ${PKGSRCDIR}/mk/defaults/mk.conf
1054for package-specific examples.
1055.
1056.Sh FILES
1057.Bl -tag -width /etc/mk.conf
1058.
1059.It Pa /etc/mk.conf
1060This file.
1061.
1062.It Pa ${PKGSRCDIR}/mk/defaults/mk.conf
1063Examples for settings regarding the pkgsrc collection.
1064.El
1065.
1066.Sh SEE ALSO
1067.Xr make 1 ,
1068.Pa /usr/share/mk/bsd.README ,
1069.Pa pkgsrc/doc/pkgsrc.txt ,
1070.Lk http://www.netbsd.org/Documentation/pkgsrc/
1071.Sh HISTORY
1072The
1073.Nm
1074file appeared in
1075.Nx 1.2 .
1076