xref: /netbsd-src/share/man/man5/mk.conf.5 (revision e6c7e151de239c49d2e38720a061ed9d1fa99309)
1.\"	$NetBSD: mk.conf.5,v 1.79 2019/09/16 12:57:10 gson 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 September 16, 2019
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.
820.It Sy MKX11FONTS
821.YorN
822If
823.Dq no ,
824do not build and install the X fonts.
825.DFLTy
826.
827.It Sy X11MOTIFPATH
828Location of the Motif installation to use if setting
829.Sy MKX11MOTIF
830to
831.Dq yes .
832.DFLT
833.Pa /usr/pkg
834.
835.It Sy MKX11MOTIF
836.YorN
837If
838.Dq yes ,
839build the native Xorg libGLw with Motif stubs.
840Requires that Motif can be found via
841.Sy X11MOTIFPATH .
842.DFLTn
843.
844.It Sy MKYP
845.YorN
846Indicates whether the YP (NIS) infrastructure
847(libraries and support programs) is built.
848.DFLTy
849.
850.It Sy MKZFS
851.YorN
852Indicates whether the ZFS kernel module and the utilities and
853libraries used to manage the ZFS system are to be built.
854.DFLTy
855on amd64,
856.Dq no
857on other architectures.
858.
859.It Sy OBJMACHINE
860If defined, creates objdirs of the form
861.Pa obj. Ns Sy MACHINE ,
862where
863.Sy MACHINE
864is the current architecture (as per
865.Sq "uname -m" ) .
866.
867.It Sy RELEASEDIR
868If set, specifies the directory to which a
869.Xr release 7
870layout will be written at the end of a
871.Dq make release .
872.DFLTu
873.Pp
874.Em Note :
875.Sy build.sh
876will provide a default of
877.Pa releasedir
878(in the top-level
879.Sy .OBJDIR )
880unless run in
881.Sq expert
882mode
883.
884.It Sy TOOLDIR
885Directory to hold the host tools, once built.
886This directory should be unique to a given host system and
887.Nx
888source tree.
889(However, multiple targets may share the same
890.Sy TOOLDIR ;
891the target-dependent files have unique names.)
892If unset, a default based
893on the
894.Xr uname 1
895information of the host platform will be created in the
896.Sy .OBJDIR
897of
898.Pa src .
899.DFLTu
900.
901.It Sy USE_FORT
902Indicates whether the so-called
903.Dq FORTIFY_SOURCE
904.Xr security 7
905extensions are enabled; see
906.Xr ssp 3
907for details.
908This imposes some performance penalty.
909.DFLTn
910.
911.It Sy USE_HESIOD
912.YorN
913Indicates whether Hesiod support is
914enabled in the various applications that support it.
915If
916.Sy MKHESIOD=no ,
917.Sy USE_HESIOD
918will also be forced to
919.Dq no .
920.DFLTy
921.
922.It Sy USE_INET6
923.YorN
924Indicates whether INET6 (IPv6) support is
925enabled in the various applications that support it.
926If
927.Sy MKINET6=no ,
928.Sy USE_INET6
929will also be forced to
930.Dq no .
931.DFLTy
932.
933.It Sy USE_JEMALLOC
934.YorN
935Indicates whether the
936.Em jemalloc
937allocator
938.Pq which is designed for improved performance with threaded applications
939is used instead of the
940.Em phkmalloc
941allocator
942.Pq that was the default until Nx 5.0 .
943.DFLTy
944.
945.It Sy USE_KERBEROS
946.YorN
947Indicates whether Kerberos v5 support is
948enabled in the various applications that support it.
949If
950.Sy MKKERBEROS=no ,
951.Sy USE_KERBEROS
952will also be forced to
953.Dq no .
954.DFLTy
955.
956.It Sy USE_LDAP
957.YorN
958Indicates whether LDAP support is
959enabled in the various applications that support it.
960If
961.Sy MKLDAP=no ,
962.Sy USE_LDAP
963will also be forced to
964.Dq no .
965.DFLTy
966.
967.It Sy USE_PAM
968.YorN
969Indicates whether
970.Xr pam 8
971support is enabled in the various applications that support it.
972If
973.Sy MKPAM=no ,
974.Sy USE_PAM
975will also be forced to
976.Dq no .
977.DFLTy
978.
979.It Sy USE_SKEY
980.YorN
981Indicates whether S/key support is
982enabled in the various applications that support it.
983If
984.Sy MKSKEY=no ,
985.Sy USE_SKEY
986will also be forced to
987.Dq no .
988.DFLTy
989.Pp
990This is mutually exclusive to
991.Sy USE_PAM!=no .
992.
993.It Sy USE_SSP
994.YorN
995Indicates whether GCC stack-smashing protection (SSP) support,
996which detects stack overflows and aborts the program,
997is enabled.
998This imposes some performance penalty.
999.DFLTn
1000.
1001.It Sy USE_YP
1002.YorN
1003Indicates whether YP (NIS) support is
1004enabled in the various applications that support it.
1005If
1006.Sy MKYP=no ,
1007.Sy USE_YP
1008will also be forced to
1009.Dq no .
1010.DFLTy
1011.
1012.It Sy USETOOLS
1013Indicates whether the tools specified by
1014.Sy TOOLDIR
1015should be used as part of a build in progress.
1016Must be set to
1017.Dq yes
1018if cross-compiling.
1019.Bl -tag -width "never"
1020.It Sy yes
1021Use the tools from
1022.Sy TOOLDIR .
1023.It Sy no
1024Do not use the tools from
1025.Sy TOOLDIR ,
1026but refuse to build native compilation tool components that are
1027version-specific for that tool.
1028.It Sy never
1029Do not use the tools from
1030.Sy TOOLDIR ,
1031even when building native tool components.
1032This is similar to the traditional
1033.Nx
1034build method, but does
1035.Em not
1036verify that the compilation tools in use are up-to-date enough in order
1037to build the tree successfully.
1038This may cause build or runtime problems when building the whole
1039.Nx
1040source tree.
1041.El
1042.DFLT
1043.Dq yes
1044if building all or part of a whole
1045.Nx
1046source tree (detected automatically);
1047.Dq no
1048otherwise (to preserve traditional semantics of the
1049.Aq bsd.*.mk
1050.Xr make 1
1051include files).
1052.
1053.El
1054.
1055.Ss pkgsrc system variables
1056.
1057Please see the pkgsrc guide at
1058.Lk http://www.netbsd.org/Documentation/pkgsrc/
1059or
1060.Pa pkgsrc/doc/pkgsrc.txt
1061for more variables used internally by the package system and
1062.Pa ${PKGSRCDIR}/mk/defaults/mk.conf
1063for package-specific examples.
1064.
1065.Sh FILES
1066.Bl -tag -width /etc/mk.conf
1067.
1068.It Pa /etc/mk.conf
1069This file.
1070.
1071.It Pa ${PKGSRCDIR}/mk/defaults/mk.conf
1072Examples for settings regarding the pkgsrc collection.
1073.El
1074.
1075.Sh SEE ALSO
1076.Xr make 1 ,
1077.Pa /usr/share/mk/bsd.README ,
1078.Pa pkgsrc/doc/pkgsrc.txt ,
1079.Lk http://www.netbsd.org/Documentation/pkgsrc/
1080.Sh HISTORY
1081The
1082.Nm
1083file appeared in
1084.Nx 1.2 .
1085