xref: /freebsd/share/man/man7/build.7 (revision b135fb6ef4b5cfbb3056a2ef50e176ddd9e4e4c3)
1786aa69aSBen Smithurst.\" Copyright (c) 2000
2786aa69aSBen Smithurst.\"	Mike W. Meyer
3786aa69aSBen Smithurst.\"
4786aa69aSBen Smithurst.\" Redistribution and use in source and binary forms, with or without
5786aa69aSBen Smithurst.\" modification, are permitted provided that the following conditions
6786aa69aSBen Smithurst.\" are met:
7786aa69aSBen Smithurst.\" 1. Redistributions of source code must retain the above copyright
8786aa69aSBen Smithurst.\"    notice, this list of conditions and the following disclaimer.
9786aa69aSBen Smithurst.\" 2. Redistributions in binary form must reproduce the above copyright
10786aa69aSBen Smithurst.\"    notice, this list of conditions and the following disclaimer in the
11786aa69aSBen Smithurst.\"    documentation and/or other materials provided with the distribution.
12786aa69aSBen Smithurst.\"
13786aa69aSBen Smithurst.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
14786aa69aSBen Smithurst.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15786aa69aSBen Smithurst.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16786aa69aSBen Smithurst.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE
17786aa69aSBen Smithurst.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18786aa69aSBen Smithurst.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19786aa69aSBen Smithurst.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20786aa69aSBen Smithurst.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21786aa69aSBen Smithurst.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22786aa69aSBen Smithurst.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23786aa69aSBen Smithurst.\" SUCH DAMAGE.
24786aa69aSBen Smithurst.\"
25786aa69aSBen Smithurst.\" $FreeBSD$
26786aa69aSBen Smithurst.\"
27f4721165SEdward Tomasz Napierala.Dd May 11, 2017
28786aa69aSBen Smithurst.Dt BUILD 7
293d45e180SRuslan Ermilov.Os
30786aa69aSBen Smithurst.Sh NAME
31786aa69aSBen Smithurst.Nm build
32eb083802SRuslan Ermilov.Nd information on how to build the system
33786aa69aSBen Smithurst.Sh DESCRIPTION
347b710ab2SJoseph KoshyThe sources for the
35d003b779SRuslan Ermilov.Fx
367b710ab2SJoseph Koshysystem and its applications are contained in three different directories,
37786aa69aSBen Smithurstnormally
38786aa69aSBen Smithurst.Pa /usr/src ,
39786aa69aSBen Smithurst.Pa /usr/doc ,
40786aa69aSBen Smithurstand
41786aa69aSBen Smithurst.Pa /usr/ports .
4250a994c9SWarren BlockThese directories may be initially empty or non-existent until updated with
43d335e7a1SGavin Atkinson.Xr svn 1
4450a994c9SWarren Blockor
45d732418bSWarren Block.Xr portsnap 8 .
467b710ab2SJoseph KoshyDirectory
47786aa69aSBen Smithurst.Pa /usr/src
48786aa69aSBen Smithurstcontains the
49786aa69aSBen Smithurst.Dq "base system"
50786aa69aSBen Smithurstsources, which is loosely defined as the things required to rebuild
51786aa69aSBen Smithurstthe system to a useful state.
527b710ab2SJoseph KoshyDirectory
53786aa69aSBen Smithurst.Pa /usr/doc
54786aa69aSBen Smithurstcontains the source for the system documentation, excluding the manual
55786aa69aSBen Smithurstpages.
567b710ab2SJoseph KoshyDirectory
57786aa69aSBen Smithurst.Pa /usr/ports
587b710ab2SJoseph Koshycontains a tree that provides a consistent interface for building and
59786aa69aSBen Smithurstinstalling third party applications.
607b710ab2SJoseph KoshyFor more information about the ports build process, see
617b710ab2SJoseph Koshy.Xr ports 7 .
62786aa69aSBen Smithurst.Pp
63786aa69aSBen SmithurstThe
64786aa69aSBen Smithurst.Xr make 1
65786aa69aSBen Smithurstcommand is used in each of these directories to build and install the
661caae057SRuslan Ermilovthings in that directory.
671caae057SRuslan ErmilovIssuing the
681caae057SRuslan Ermilov.Xr make 1
691caae057SRuslan Ermilovcommand in any directory or
70786aa69aSBen Smithurstsubdirectory of those directories has the same effect as issuing the
711caae057SRuslan Ermilovsame command in all subdirectories of that directory.
721caae057SRuslan ErmilovWith no target specified, the things in that directory are just built.
737b710ab2SJoseph Koshy.Pp
747b710ab2SJoseph KoshyA source tree is allowed to be read-only.
757b710ab2SJoseph KoshyAs described in
767b710ab2SJoseph Koshy.Xr make 1 ,
777b710ab2SJoseph Koshyobjects are usually built in a separate object directory hierarchy
787b710ab2SJoseph Koshyspecified by the environment variable
797b710ab2SJoseph Koshy.Va MAKEOBJDIRPREFIX ,
807b710ab2SJoseph Koshyor under
817b710ab2SJoseph Koshy.Pa /usr/obj
827b710ab2SJoseph Koshyif variable
837b710ab2SJoseph Koshy.Va MAKEOBJDIRPREFIX
847b710ab2SJoseph Koshyis not set.
857b710ab2SJoseph KoshyFor a given source directory, its canonical object directory
867b710ab2SJoseph Koshywould be
877b710ab2SJoseph Koshy.Pa ${MAKEOBJDIRPREFIX}${.CURDIR}
887b710ab2SJoseph Koshyif
897b710ab2SJoseph Koshy.Xr make 1
907b710ab2SJoseph Koshyvariable
917b710ab2SJoseph Koshy.Va MAKEOBJDIRPREFIX
927b710ab2SJoseph Koshyis set, or
937b710ab2SJoseph Koshy.Pa /usr/obj${.CURDIR}
947b710ab2SJoseph Koshyif this variable is not set.
957b710ab2SJoseph KoshyCross-builds set the object directory as described in the
967b710ab2SJoseph Koshydocumentation for the
977b710ab2SJoseph Koshy.Cm buildworld
987b710ab2SJoseph Koshytarget below.
997b710ab2SJoseph Koshy.Pp
1007b710ab2SJoseph KoshyThe build may be controlled by defining
1017b710ab2SJoseph Koshy.Xr make 1
1027b710ab2SJoseph Koshyvariables described in the
1037b710ab2SJoseph Koshy.Sx ENVIRONMENT
1047b710ab2SJoseph Koshysection below, and by the variables documented in
1057b710ab2SJoseph Koshy.Xr make.conf 5 .
1067b710ab2SJoseph Koshy.Pp
1077b710ab2SJoseph KoshyThe following list provides the names and actions for the targets
1087b710ab2SJoseph Koshysupported by the build system:
1097b710ab2SJoseph Koshy.Bl -tag -width ".Cm cleandepend"
110aae63957SBryan Drewery.It Cm analyze
111aae63957SBryan DreweryRun Clang static analyzer against all objects and present output on stdout.
11271b7fa12SEnji Cooper.It Cm check
11371b7fa12SEnji CooperRun tests for a given subdirectory.
11471b7fa12SEnji CooperThe default directory used is
11571b7fa12SEnji Cooper.Pa ${.OBJDIR} ,
11671b7fa12SEnji Cooperbut the check directory can be changed with
11771b7fa12SEnji Cooper.Pa ${CHECKDIR} .
11871b7fa12SEnji Cooper.It Cm checkworld
11971b7fa12SEnji CooperRun the
12071b7fa12SEnji Cooper.Fx
12171b7fa12SEnji Coopertest suite on installed world.
1221caae057SRuslan Ermilov.It Cm clean
1237b710ab2SJoseph KoshyRemove any files created during the build process.
1247b710ab2SJoseph Koshy.It Cm cleandepend
125497e8091SBryan DreweryRemove the
126497e8091SBryan Drewery.Pa ${.OBJDIR}/${DEPENDFILE}*
127497e8091SBryan Dreweryfiles generated by prior
128497e8091SBryan Drewery.Dq Li "make"
129497e8091SBryan Dreweryand
1307b710ab2SJoseph Koshy.Dq Li "make depend"
131497e8091SBryan Drewerysteps.
1327b710ab2SJoseph Koshy.It Cm cleandir
1337b710ab2SJoseph KoshyRemove the canonical object directory if it exists, or perform
1347b710ab2SJoseph Koshyactions equivalent to
1357b710ab2SJoseph Koshy.Dq Li "make clean cleandepend"
1367b710ab2SJoseph Koshyif it does not.
1377b710ab2SJoseph KoshyThis target will also remove an
1387b710ab2SJoseph Koshy.Pa obj
1397b710ab2SJoseph Koshylink in
1407b710ab2SJoseph Koshy.Pa ${.CURDIR}
1417b710ab2SJoseph Koshyif that exists.
1427b710ab2SJoseph Koshy.Pp
1437b710ab2SJoseph KoshyIt is advisable to run
1447b710ab2SJoseph Koshy.Dq Li "make cleandir"
1457b710ab2SJoseph Koshytwice: the first invocation will remove the canonical object directory
1467b710ab2SJoseph Koshyand the second one will clean up
1477b710ab2SJoseph Koshy.Pa ${.CURDIR} .
1487b710ab2SJoseph Koshy.It Cm depend
1497b710ab2SJoseph KoshyGenerate a list of build dependencies in file
1507b710ab2SJoseph Koshy.Pa ${.OBJDIR}/${DEPENDFILE} .
151497e8091SBryan DreweryPer-object dependencies are generated at build time and stored in
152497e8091SBryan Drewery.Pa ${.OBJDIR}/${DEPENDFILE}.${OBJ} .
1531caae057SRuslan Ermilov.It Cm install
1547b710ab2SJoseph KoshyInstall the results of the build to the appropriate location in the
1557b710ab2SJoseph Koshyinstallation directory hierarchy specified in variable
1567b710ab2SJoseph Koshy.Va DESTDIR .
1577b710ab2SJoseph Koshy.It Cm obj
1587b710ab2SJoseph KoshyCreate the canonical object directory associated with the current
1597b710ab2SJoseph Koshydirectory.
1607b710ab2SJoseph Koshy.It Cm objlink
1617b710ab2SJoseph KoshyCreate a symbolic link to the canonical object directory in
1627b710ab2SJoseph Koshy.Pa ${.CURDIR} .
1637b710ab2SJoseph Koshy.It Cm tags
1647b710ab2SJoseph KoshyGenerate a tags file using the program specified in the
1657b710ab2SJoseph Koshy.Xr make 1
1667b710ab2SJoseph Koshyvariable
1677b710ab2SJoseph Koshy.Va CTAGS .
1687b710ab2SJoseph KoshyThe build system supports
1697b710ab2SJoseph Koshy.Xr ctags 1
1707b710ab2SJoseph Koshyand
1717b710ab2SJoseph Koshy.Nm "GNU Global" .
1727b710ab2SJoseph Koshy.El
1737b710ab2SJoseph Koshy.Pp
1747b710ab2SJoseph KoshyThe other supported targets under directory
1757b710ab2SJoseph Koshy.Pa /usr/src
1767b710ab2SJoseph Koshyare:
1777b710ab2SJoseph Koshy.Bl -tag -width ".Cm distributeworld"
1787b710ab2SJoseph Koshy.It Cm buildenv
1797b710ab2SJoseph KoshySpawn an interactive shell with environment variables set up for
1807b710ab2SJoseph Koshycross-building the system.
1817b710ab2SJoseph KoshyThe target architecture needs to be specified with
1827b710ab2SJoseph Koshy.Xr make 1
1837b710ab2SJoseph Koshyvariables
1847b710ab2SJoseph Koshy.Va TARGET_ARCH
1857b710ab2SJoseph Koshyand
1867b710ab2SJoseph Koshy.Va TARGET .
1877b710ab2SJoseph Koshy.Pp
1887b710ab2SJoseph KoshyThis target is only useful after a complete cross-toolchain including
1897b710ab2SJoseph Koshythe compiler, linker, assembler, headers and libraries has been
1907b710ab2SJoseph Koshybuilt; see the
1917b710ab2SJoseph Koshy.Cm toolchain
1927b710ab2SJoseph Koshytarget below.
1937b710ab2SJoseph Koshy.It Cm buildworld
1947b710ab2SJoseph KoshyBuild everything but the kernel, configure files in
1957b710ab2SJoseph Koshy.Pa etc ,
1967b710ab2SJoseph Koshyand
1977b710ab2SJoseph Koshy.Pa release .
198d90f12e3SWarren BlockThe object directory can be changed from the default
199d90f12e3SWarren Block.Pa /usr/obj
200d90f12e3SWarren Blockby setting the
201d90f12e3SWarren Block.Pa MAKEOBJDIRPREFIX
202d90f12e3SWarren Block.Xr make 1
203d90f12e3SWarren Blockvariable.
2047b710ab2SJoseph KoshyThe actual build location prefix used is
2057b710ab2SJoseph Koshy.Pa ${MAKEOBJDIRPREFIX}${.CURDIR}
2067b710ab2SJoseph Koshyfor native builds, and
2077b710ab2SJoseph Koshy.Pa ${MAKEOBJDIRPREFIX}/${TARGET}${.CURDIR}
2087b710ab2SJoseph Koshyfor cross builds and native builds with variable
2097b710ab2SJoseph Koshy.Va CROSS_BUILD_TESTING
2107b710ab2SJoseph Koshyset.
2117b710ab2SJoseph Koshy.It Cm cleanworld
2127b710ab2SJoseph KoshyAttempt to clean up targets built by a preceding
2137b710ab2SJoseph Koshy.Cm buildworld
2147b710ab2SJoseph Koshystep.
2157b710ab2SJoseph Koshy.It Cm distributeworld
2167b710ab2SJoseph KoshyDistribute everything compiled by a preceding
2177b710ab2SJoseph Koshy.Cm buildworld
2187b710ab2SJoseph Koshystep.
2197b710ab2SJoseph KoshyFiles are placed in the directory hierarchy specified by
2207b710ab2SJoseph Koshy.Xr make 1
2217b710ab2SJoseph Koshyvariable
2227b710ab2SJoseph Koshy.Va DISTDIR .
2237b710ab2SJoseph KoshyThis target is used while building a release; see
2247b710ab2SJoseph Koshy.Xr release 7 .
2257441e255SBryan Drewery.It Cm native-xtools
2267441e255SBryan DreweryThis target builds a cross-toolchain for the given
2277441e255SBryan Drewery.Sy TARGET
2287441e255SBryan Dreweryand
2297441e255SBryan Drewery.Sy TARGET_ARCH ,
2307441e255SBryan Dreweryas well as a select list of static userland tools for the host system.
2317441e255SBryan DreweryThis is intended to be used in a jail where QEMU is used to improve
2327441e255SBryan Dreweryperformance by avoiding emulating binaries that do not need to be emulated.
2337441e255SBryan Drewery.Sy TARGET
2347441e255SBryan Dreweryand
2357441e255SBryan Drewery.Sy TARGET_ARCH
2367441e255SBryan Dreweryshould be defined.
237e8423d00SNathan Whitehorn.It Cm packageworld
238e8423d00SNathan WhitehornArchive the results of
239e8423d00SNathan Whitehorn.Cm distributeworld ,
240e8423d00SNathan Whitehornplacing the results in
241e8423d00SNathan Whitehorn.Va DISTDIR .
242e8423d00SNathan WhitehornThis target is used while building a release; see
243e8423d00SNathan Whitehorn.Xr release 7 .
2447b710ab2SJoseph Koshy.It Cm installworld
2457b710ab2SJoseph KoshyInstall everything built by a preceding
2467b710ab2SJoseph Koshy.Cm buildworld
2477b710ab2SJoseph Koshystep into the directory hierarchy pointed to by
2487b710ab2SJoseph Koshy.Xr make 1
2497b710ab2SJoseph Koshyvariable
2507b710ab2SJoseph Koshy.Va DESTDIR .
251a3aed80dSRuslan Ermilov.Pp
25204876cf3SRuslan ErmilovIf installing onto an NFS file system and running
2538ed6451eSRuslan Ermilov.Xr make 1
2548ed6451eSRuslan Ermilovwith the
25504876cf3SRuslan Ermilov.Fl j
25604876cf3SRuslan Ermilovoption, make sure that
257a3aed80dSRuslan Ermilov.Xr rpc.lockd 8
258a3aed80dSRuslan Ermilovis running on both client and server.
259a3aed80dSRuslan ErmilovSee
260a3aed80dSRuslan Ermilov.Xr rc.conf 5
261a3aed80dSRuslan Ermilovon how to make it start at boot time.
2627b710ab2SJoseph Koshy.It Cm toolchain
2637b710ab2SJoseph KoshyCreate the build toolchain needed to build the rest of the system.
2647b710ab2SJoseph KoshyFor cross-architecture builds, this step creates a cross-toolchain.
2657b710ab2SJoseph Koshy.It Cm universe
2664e889921SJohn BaldwinFor each architecture,
2674e889921SJohn Baldwinexecute a
2687b710ab2SJoseph Koshy.Cm buildworld
2694e889921SJohn Baldwinfollowed by a
2707b710ab2SJoseph Koshy.Cm buildkernel
2714e889921SJohn Baldwinfor all kernels for that architecture,
2724e889921SJohn Baldwinincluding
2734e889921SJohn Baldwin.Pa LINT .
2747b710ab2SJoseph KoshyThis command takes a long time.
2751caae057SRuslan Ermilov.It Cm update
2767b710ab2SJoseph KoshyGet updated sources as configured in
27708b91343SYaroslav Tykhiy.Xr make.conf 5 .
278f1d16bd8SBjoern A. Zeeb.It Cm targets
279f1d16bd8SBjoern A. ZeebPrint a list of supported
280f1d16bd8SBjoern A. Zeeb.Va TARGET
281f1d16bd8SBjoern A. Zeeb/
282f1d16bd8SBjoern A. Zeeb.Va TARGET_ARCH
283f1d16bd8SBjoern A. Zeebpairs for world and kernel targets.
284eee8163bSBjoern A. Zeeb.It Cm tinderbox
285eee8163bSBjoern A. ZeebExecute the same targets as
286eee8163bSBjoern A. Zeeb.Cm universe .
287eee8163bSBjoern A. ZeebIn addition print a summary of all failed targets at the end and
288eee8163bSBjoern A. Zeebexit with an error if there were any.
2894e889921SJohn Baldwin.It Cm toolchains
2904e889921SJohn BaldwinCreate a build toolchain for each architecture supported by the build system.
291*b135fb6eSBryan Drewery.It Cm xdev
292*b135fb6eSBryan DreweryBuilds and installs a cross-toolchain and sysroot for the given
293*b135fb6eSBryan Drewery.Sy TARGET
294*b135fb6eSBryan Dreweryand
295*b135fb6eSBryan Drewery.Sy TARGET_ARCH .
296*b135fb6eSBryan DreweryThe sysroot contains target library and headers.
297*b135fb6eSBryan DreweryThe target is an alias for
298*b135fb6eSBryan Drewery.Cm xdev-build
299*b135fb6eSBryan Dreweryand
300*b135fb6eSBryan Drewery.Cm xdev-install .
301*b135fb6eSBryan DreweryThe location of the files installed can be controlled with
302*b135fb6eSBryan Drewery.Va DESTDIR .
303*b135fb6eSBryan DreweryThe target location in
304*b135fb6eSBryan Drewery.Va DESTDIR
305*b135fb6eSBryan Dreweryis
306*b135fb6eSBryan Drewery.Pa ${DESTDIR}/${XDTP}
307*b135fb6eSBryan Drewerywhere
308*b135fb6eSBryan Drewery.Va XDTP
309*b135fb6eSBryan Drewerydefaults to
310*b135fb6eSBryan Drewery.Pa /usr/${XDDIR}
311*b135fb6eSBryan Dreweryand
312*b135fb6eSBryan Drewery.Va XDDIR
313*b135fb6eSBryan Drewerydefaults to
314*b135fb6eSBryan Drewery.Pa ${TARGET_ARCH}-freebsd .
315*b135fb6eSBryan Drewery.It Cm xdev-build
316*b135fb6eSBryan DreweryBuilds for the
317*b135fb6eSBryan Drewery.Cm xdev
318*b135fb6eSBryan Drewerytarget.
319*b135fb6eSBryan Drewery.It Cm xdev-install
320*b135fb6eSBryan DreweryInstalls the files for the
321*b135fb6eSBryan Drewery.Cm xdev
322*b135fb6eSBryan Drewerytarget.
323*b135fb6eSBryan Drewery.It Cm xdev-links
324*b135fb6eSBryan DreweryInstalls autoconf-style symlinks to
325*b135fb6eSBryan Drewery.Pa ${DESTDIR}/usr/bin
326*b135fb6eSBryan Drewerypointing into the xdev toolchain in
327*b135fb6eSBryan Drewery.Pa ${DESTDIR}/${XDTP} .
328786aa69aSBen Smithurst.El
329786aa69aSBen Smithurst.Pp
3307b710ab2SJoseph KoshyKernel specific build targets in
331786aa69aSBen Smithurst.Pa /usr/src
3327b710ab2SJoseph Koshyare:
333e8423d00SNathan Whitehorn.Bl -tag -width ".Cm distributekernel"
3341caae057SRuslan Ermilov.It Cm buildkernel
3351caae057SRuslan ErmilovRebuild the kernel and the kernel modules.
336d90f12e3SWarren BlockThe object directory can be changed from the default
337d90f12e3SWarren Block.Pa /usr/obj
338d90f12e3SWarren Blockby setting the
339d90f12e3SWarren Block.Pa MAKEOBJDIRPREFIX
340d90f12e3SWarren Block.Xr make 1
341d90f12e3SWarren Blockvariable.
3421caae057SRuslan Ermilov.It Cm installkernel
3437b710ab2SJoseph KoshyInstall the kernel and the kernel modules to directory
3447b710ab2SJoseph Koshy.Pa ${DESTDIR}/boot/kernel ,
3457b710ab2SJoseph Koshyrenaming any pre-existing directory with this name to
3467b710ab2SJoseph Koshy.Pa kernel.old
3477b710ab2SJoseph Koshyif it contained the currently running kernel.
3487b710ab2SJoseph KoshyThe target directory under
3497b710ab2SJoseph Koshy.Pa ${DESTDIR}
3507b710ab2SJoseph Koshymay be modified using the
3517b710ab2SJoseph Koshy.Va INSTKERNNAME
3527b710ab2SJoseph Koshyand
3537b710ab2SJoseph Koshy.Va KODIR
3547b710ab2SJoseph Koshy.Xr make 1
3557b710ab2SJoseph Koshyvariables.
356e8423d00SNathan Whitehorn.It Cm distributekernel
357e8423d00SNathan WhitehornInstall the kernel to the directory
358e8423d00SNathan Whitehorn.Pa ${DISTDIR}/kernel/boot/kernel .
359e8423d00SNathan WhitehornThis target is used while building a release; see
360e8423d00SNathan Whitehorn.Xr release 7 .
361e8423d00SNathan Whitehorn.It Cm packagekernel
362e8423d00SNathan WhitehornArchive the results of
363e8423d00SNathan Whitehorn.Cm distributekernel ,
364e8423d00SNathan Whitehornplacing the results in
365e8423d00SNathan Whitehorn.Va DISTDIR .
366e8423d00SNathan WhitehornThis target is used while building a release; see
367e8423d00SNathan Whitehorn.Xr release 7 .
368389e98a7STom Rhodes.It Cm kernel
369389e98a7STom RhodesEquivalent to
370389e98a7STom Rhodes.Cm buildkernel
371389e98a7STom Rhodesfollowed by
372389e98a7STom Rhodes.Cm installkernel
3737b710ab2SJoseph Koshy.It Cm kernel-toolchain
3747b710ab2SJoseph KoshyRebuild the tools needed for kernel compilation.
3757b710ab2SJoseph KoshyUse this if you did not do a
3767b710ab2SJoseph Koshy.Cm buildworld
3777b710ab2SJoseph Koshyfirst.
3787b710ab2SJoseph Koshy.It Cm reinstallkernel
3797b710ab2SJoseph KoshyReinstall the kernel and the kernel modules, overwriting the contents
3807b710ab2SJoseph Koshyof the target directory.
3817b710ab2SJoseph KoshyAs with the
3827b710ab2SJoseph Koshy.Cm installkernel
3837b710ab2SJoseph Koshytarget, the target directory can be specified using the
3847b710ab2SJoseph Koshy.Xr make 1
3857b710ab2SJoseph Koshyvariable
3867b710ab2SJoseph Koshy.Va INSTKERNNAME .
3877b710ab2SJoseph Koshy.El
3887b710ab2SJoseph Koshy.Pp
3897b710ab2SJoseph KoshyConvenience targets for cleaning up the install destination directory
3907b710ab2SJoseph Koshydenoted by variable
3917b710ab2SJoseph Koshy.Va DESTDIR
3927b710ab2SJoseph Koshyinclude:
3937b710ab2SJoseph Koshy.Bl -tag -width ".Cm delete-old-libs"
3947b710ab2SJoseph Koshy.It Cm check-old
395abfabbeaSMike PritchardPrint a list of old files and directories in the system.
396e2a36081SAlexander Leidinger.It Cm delete-old
397e2a36081SAlexander LeidingerDelete obsolete base system files and directories interactively.
39878ad5421SRuslan ErmilovWhen
39978ad5421SRuslan Ermilov.Li -DBATCH_DELETE_OLD_FILES
4007b710ab2SJoseph Koshyis specified at the command line, the delete operation will be
4017b710ab2SJoseph Koshynon-interactive.
402c8ef0ed5SRuslan ErmilovThe variables
4037b710ab2SJoseph Koshy.Va DESTDIR ,
4047b710ab2SJoseph Koshy.Va TARGET_ARCH
405c8ef0ed5SRuslan Ermilovand
406c8ef0ed5SRuslan Ermilov.Va TARGET
407c8ef0ed5SRuslan Ermilovshould be set as with
408c8ef0ed5SRuslan Ermilov.Dq Li "make installworld" .
409e2a36081SAlexander Leidinger.It Cm delete-old-libs
410e2a36081SAlexander LeidingerDelete obsolete base system libraries interactively.
411d90f12e3SWarren BlockThis target should only be used if no third party software uses these
4127b710ab2SJoseph Koshylibraries.
41378ad5421SRuslan ErmilovWhen
41478ad5421SRuslan Ermilov.Li -DBATCH_DELETE_OLD_FILES
4157b710ab2SJoseph Koshyis specified at the command line, the delete operation will be
4167b710ab2SJoseph Koshynon-interactive.
417c8ef0ed5SRuslan ErmilovThe variables
4187b710ab2SJoseph Koshy.Va DESTDIR ,
4197b710ab2SJoseph Koshy.Va TARGET_ARCH
420c8ef0ed5SRuslan Ermilovand
421c8ef0ed5SRuslan Ermilov.Va TARGET
422c8ef0ed5SRuslan Ermilovshould be set as with
423c8ef0ed5SRuslan Ermilov.Dq Li "make installworld" .
424786aa69aSBen Smithurst.El
425b82e53e2SMurray Stokely.Sh ENVIRONMENT
4267b710ab2SJoseph KoshyVariables that influence all builds include:
4277b710ab2SJoseph Koshy.Bl -tag -width ".Va MAKEOBJDIRPREFIX"
428fea87c03SGiorgos Keramidas.It Va DEBUG_FLAGS
429fea87c03SGiorgos KeramidasDefines a set of debugging flags that will be used to build all userland
430fea87c03SGiorgos Keramidasbinaries under
431fea87c03SGiorgos Keramidas.Pa /usr/src .
432fea87c03SGiorgos KeramidasWhen
433fea87c03SGiorgos Keramidas.Va DEBUG_FLAGS
434fea87c03SGiorgos Keramidasis defined, the
435fea87c03SGiorgos Keramidas.Cm install
436fea87c03SGiorgos Keramidasand
437fea87c03SGiorgos Keramidas.Cm installworld
438fea87c03SGiorgos Keramidastargets install binaries from the current
439fea87c03SGiorgos Keramidas.Va MAKEOBJDIRPREFIX
440fea87c03SGiorgos Keramidaswithout stripping,
441fea87c03SGiorgos Keramidasso that debugging information is retained in the installed binaries.
4427b710ab2SJoseph Koshy.It Va DESTDIR
4437b710ab2SJoseph KoshyThe directory hierarchy prefix where built objects will be installed.
4447b710ab2SJoseph KoshyIf not set,
4457b710ab2SJoseph Koshy.Va DESTDIR
4467b710ab2SJoseph Koshydefaults to the empty string.
4477b710ab2SJoseph Koshy.It Va MAKEOBJDIRPREFIX
4487b710ab2SJoseph KoshyDefines the prefix for directory names in the tree of built objects.
4497b710ab2SJoseph KoshyDefaults to
4507b710ab2SJoseph Koshy.Pa /usr/obj
4517b710ab2SJoseph Koshyif not defined.
4527b710ab2SJoseph KoshyThis variable should only be set in the environment and not via
4537b710ab2SJoseph Koshy.Pa /etc/make.conf
4547b710ab2SJoseph Koshyor the command line.
4557b710ab2SJoseph Koshy.It Va NO_WERROR
4567b710ab2SJoseph KoshyIf defined, compiler warnings will not cause the build to halt,
4577b710ab2SJoseph Koshyeven if the makefile says otherwise.
45821edb039SAlexander Leidinger.It Va WITH_CTF
45921edb039SAlexander LeidingerIf defined, the build process will run the DTrace CTF conversion
46021edb039SAlexander Leidingertools on built objects.
4617b710ab2SJoseph Koshy.El
4627b710ab2SJoseph Koshy.Pp
4637b710ab2SJoseph KoshyAdditionally, builds in
4647b710ab2SJoseph Koshy.Pa /usr/src
4657b710ab2SJoseph Koshyare influenced by the following
4667b710ab2SJoseph Koshy.Xr make 1
4677b710ab2SJoseph Koshyvariables:
4687b710ab2SJoseph Koshy.Bl -tag -width ".Va SUBDIR_OVERRIDE"
469e6cdeeddSWarner Losh.It Va KERNCONF
470e6cdeeddSWarner LoshOverrides which kernel to build and install for the various kernel
471e6cdeeddSWarner Loshmake targets.
472e6cdeeddSWarner LoshIt defaults to
473e6cdeeddSWarner Losh.Cm GENERIC .
474e6cdeeddSWarner Losh.It Va KERNFAST
475e6cdeeddSWarner LoshIf set, the build target
476e6cdeeddSWarner Losh.Cm buildkernel
477e6cdeeddSWarner Loshdefaults to setting
478e6cdeeddSWarner Losh.Va NO_KERNELCLEAN ,
4796d50d5e4SWarner Losh.Va NO_KERNELCONFIG ,
480e6cdeeddSWarner Loshand
4816d50d5e4SWarner Losh.Va NO_KERNELOBJ .
482e6cdeeddSWarner LoshWhen set to a value other than
483e6cdeeddSWarner Losh.Cm 1
484e6cdeeddSWarner Loshthen
485e6cdeeddSWarner Losh.Va KERNCONF
486e6cdeeddSWarner Loshis set to the value of
487e6cdeeddSWarner Losh.Va KERNFAST .
4887b710ab2SJoseph Koshy.It Va LOCAL_DIRS
489ca6a54ceSBryan DreweryIf set, this variable supplies a list of additional directories relative to
490ca6a54ceSBryan Drewerythe root of the source tree to build as part of the
491ca6a54ceSBryan Drewery.Cm everything
492ca6a54ceSBryan Drewerytarget.
493a0e6a013SBryan Drewery.It Va LOCAL_ITOOLS
494a0e6a013SBryan DreweryIf set, this variable supplies a list of additional tools that are used by the
495a0e6a013SBryan Drewery.Cm installworld
496a0e6a013SBryan Dreweryand
497a0e6a013SBryan Drewery.Cm distributeworld
498a0e6a013SBryan Drewerytargets.
499ca6a54ceSBryan Drewery.It Va LOCAL_LIB_DIRS
500ca6a54ceSBryan DreweryIf set, this variable supplies a list of additional directories relative to
501ca6a54ceSBryan Drewerythe root of the source tree to build as part of the
502ca6a54ceSBryan Drewery.Cm libraries
503ca6a54ceSBryan Drewerytarget.
504ca6a54ceSBryan Drewery.It Va LOCAL_MTREE
505ca6a54ceSBryan DreweryIf set, this variable supplies a list of additional mtrees relative to the
506ca6a54ceSBryan Dreweryroot of the source tree to use as part of the
507ca6a54ceSBryan Drewery.Cm hierarchy
508ca6a54ceSBryan Drewerytarget.
509ca6a54ceSBryan Drewery.It Va LOCAL_TOOL_DIRS
510ca6a54ceSBryan DreweryIf set, this variable supplies a list of additional directories relative to
511ca6a54ceSBryan Drewerythe root of the source tree to build as part of the
512ca6a54ceSBryan Drewery.Cm build-tools
513ca6a54ceSBryan Drewerytarget.
5144143850bSBryan Drewery.It Va LOCAL_XTOOL_DIRS
5154143850bSBryan DreweryIf set, this variable supplies a list of additional directories relative to
5164143850bSBryan Drewerythe root of the source tree to build as part of the
5174143850bSBryan Drewery.Cm cross-tools
5184143850bSBryan Drewerytarget.
519170c2788SGlen Barber.It Va PORTS_MODULES
520170c2788SGlen BarberA list of ports with kernel modules that should be built and installed
521170c2788SGlen Barberas part of the
522170c2788SGlen Barber.Cm buildkernel
523170c2788SGlen Barberand
524170c2788SGlen Barber.Cm installkernel
525170c2788SGlen Barberprocess.
526170c2788SGlen Barber.Bd -literal -offset indent
527170c2788SGlen Barbermake PORTS_MODULES=emulators/kqemu-kmod kernel
528170c2788SGlen Barber.Ed
52942e7be20SEnji Cooper.It Va STRIPBIN
5303547290fSEnji CooperCommand to use at install time when stripping binaries.
5313547290fSEnji CooperBe sure to add any additional tools required to run
53242e7be20SEnji Cooper.Va STRIPBIN
5333547290fSEnji Cooperto the
5343547290fSEnji Cooper.Va LOCAL_ITOOLS
5353547290fSEnji Cooper.Xr make 1
5363547290fSEnji Coopervariable before running the
5373547290fSEnji Cooper.Cm distributeworld
5383547290fSEnji Cooperor
5393547290fSEnji Cooper.Cm installworld
5403547290fSEnji Coopertargets.
5413547290fSEnji CooperSee
5423547290fSEnji Cooper.Xr install 1
5433547290fSEnji Cooperfor more details.
5447b710ab2SJoseph Koshy.It Va SUBDIR_OVERRIDE
5457b710ab2SJoseph KoshyOverride the default list of sub-directories and only build the
5467b710ab2SJoseph Koshysub-directory named in this variable.
5477f1636b7SBryan DreweryIf combined with
5487f1636b7SBryan Drewery.Cm buildworld
5497f1636b7SBryan Drewerythen all libraries and includes, and some of the build tools will still build
5507f1636b7SBryan Dreweryas well.
551c889d480SBryan DrewerySpecifying
552c889d480SBryan Drewery.Cm -DNO_LIBS ,
553c889d480SBryan Dreweryand
554c889d480SBryan Drewery.Cm -DWORLDFAST
555c889d480SBryan Drewerywill only build the specified directory as was done historically.
5567f1636b7SBryan DreweryWhen combined with
5577f1636b7SBryan Drewery.Cm buildworld
5587f1636b7SBryan Dreweryit is necesarry to override
5597f1636b7SBryan Drewery.Va LOCAL_LIB_DIRS
5607f1636b7SBryan Drewerywith any custom directories containing libraries.
5617f1636b7SBryan DreweryThis allows building a subset of the system in the same way as
5627f1636b7SBryan Drewery.Cm buildworld
5637f1636b7SBryan Drewerydoes using its sysroot handling.
5647f1636b7SBryan DreweryThis variable can also be useful when debugging failed builds.
5657b710ab2SJoseph Koshy.Bd -literal -offset indent
5667b710ab2SJoseph Koshymake some-target SUBDIR_OVERRIDE=foo/bar
5677b710ab2SJoseph Koshy.Ed
5686f9ac6feSMurray Stokely.It Va TARGET
569b3a43ea3SMurray StokelyThe target hardware platform.
570365a17c0SMurray StokelyThis is analogous to the
5711caae057SRuslan Ermilov.Dq Nm uname Fl m
572b3a43ea3SMurray Stokelyoutput.
573b3a43ea3SMurray StokelyThis is necessary to cross-build some target architectures.
5742f6a7e42SEnji CooperFor example, cross-building for ARM64 machines requires
5752f6a7e42SEnji Cooper.Va TARGET_ARCH Ns = Ns Li aarch64
576b3a43ea3SMurray Stokelyand
5772f6a7e42SEnji Cooper.Va TARGET Ns = Ns Li arm64 .
5787b710ab2SJoseph KoshyIf not set,
5797b710ab2SJoseph Koshy.Va TARGET
580f4721165SEdward Tomasz Napieraladefaults to the current hardware platform, unless
581f4721165SEdward Tomasz Napierala.Va TARGET_ARCH
582f4721165SEdward Tomasz Napieralais also set, in which case it defaults to the appropriate
583f4721165SEdward Tomasz Napieralavalue for that architecture.
5847b710ab2SJoseph Koshy.It Va TARGET_ARCH
5857b710ab2SJoseph KoshyThe target machine processor architecture.
5867b710ab2SJoseph KoshyThis is analogous to the
5877b710ab2SJoseph Koshy.Dq Nm uname Fl p
5887b710ab2SJoseph Koshyoutput.
5897b710ab2SJoseph KoshySet this to cross-build for a different architecture.
5907b710ab2SJoseph KoshyIf not set,
5917b710ab2SJoseph Koshy.Va TARGET_ARCH
592531b260aSWarner Loshdefaults to the current machine architecture, unless
593531b260aSWarner Losh.Va TARGET
594531b260aSWarner Loshis also set, in which case it defaults to the appropriate
595531b260aSWarner Loshvalue for that platform.
596c22c7f86SWarner LoshTypically, one only needs to set
597c22c7f86SWarner Losh.Va TARGET .
5987b710ab2SJoseph Koshy.El
5997b710ab2SJoseph Koshy.Pp
6007b710ab2SJoseph KoshyBuilds under directory
601fd23b461SGiorgos Keramidas.Pa /usr/src
6027d6af40dSGlen Barberare also influenced by defining one or more of the following symbols,
603fd23b461SGiorgos Keramidasusing the
604fd23b461SGiorgos Keramidas.Fl D
605fd23b461SGiorgos Keramidasoption of
606fd23b461SGiorgos Keramidas.Xr make 1 :
607497e8091SBryan Drewery.Bl -tag -width ".Va -DNO_KERNELCONFIG"
608fd23b461SGiorgos Keramidas.It Va NO_CLEANDIR
609fd23b461SGiorgos KeramidasIf set, the build targets that clean parts of the object tree use the
610fd23b461SGiorgos Keramidasequivalent of
611fd23b461SGiorgos Keramidas.Dq make clean
612fd23b461SGiorgos Keramidasinstead of
613fd23b461SGiorgos Keramidas.Dq make cleandir .
614fd23b461SGiorgos Keramidas.It Va NO_CLEAN
615fd23b461SGiorgos KeramidasIf set, no object tree files are cleaned at all.
616473fda75SBryan DreweryThis is the default when
617473fda75SBryan Drewery.Va WITH_META_MODE
618473fda75SBryan Dreweryis used with
619473fda75SBryan Drewery.Xr filemon 4
620473fda75SBryan Dreweryloaded.
621473fda75SBryan DrewerySee
622473fda75SBryan Drewery.Xr src.conf 5
623473fda75SBryan Dreweryfor more details.
624fd23b461SGiorgos KeramidasSetting
625fd23b461SGiorgos Keramidas.Va NO_CLEAN
626fd23b461SGiorgos Keramidasimplies
627fd23b461SGiorgos Keramidas.Va NO_KERNELCLEAN ,
628fd23b461SGiorgos Keramidasso when
629fd23b461SGiorgos Keramidas.Va NO_CLEAN
630fd23b461SGiorgos Keramidasis set no kernel objects are cleaned either.
631fd23b461SGiorgos Keramidas.It Va NO_CTF
632fd23b461SGiorgos KeramidasIf set, the build process does not run the DTrace CTF conversion tools
633fd23b461SGiorgos Keramidason built objects.
634fd23b461SGiorgos Keramidas.It Va NO_SHARE
635fd23b461SGiorgos KeramidasIf set, the build does not descend into the
636fd23b461SGiorgos Keramidas.Pa /usr/src/share
637d90f12e3SWarren Blocksubdirectory (i.e., manual pages, locale data files, timezone data files and
638fd23b461SGiorgos Keramidasother
639fd23b461SGiorgos Keramidas.Pa /usr/src/share
640fd23b461SGiorgos Keramidasfiles will not be rebuild from their sources).
641fd23b461SGiorgos Keramidas.It Va NO_KERNELCLEAN
642fd23b461SGiorgos KeramidasIf set, the build process does not run
643fd23b461SGiorgos Keramidas.Dq make clean
644fd23b461SGiorgos Keramidasas part of the
645fd23b461SGiorgos Keramidas.Cm buildkernel
646fd23b461SGiorgos Keramidastarget.
647fd23b461SGiorgos Keramidas.It Va NO_KERNELCONFIG
648fd23b461SGiorgos KeramidasIf set, the build process does not run
649fd23b461SGiorgos Keramidas.Xr config 8
650fd23b461SGiorgos Keramidasas part of the
651fd23b461SGiorgos Keramidas.Cm buildkernel
652fd23b461SGiorgos Keramidastarget.
6536d50d5e4SWarner Losh.It Va NO_KERNELOBJ
6546d50d5e4SWarner LoshIf set, the build process does not run
6556d50d5e4SWarner Losh.Dq make obj
6566d50d5e4SWarner Loshas part of the
6576d50d5e4SWarner Losh.Cm buildkernel
6586d50d5e4SWarner Loshtarget.
659fd23b461SGiorgos Keramidas.It Va NO_DOCUPDATE
660fd23b461SGiorgos KeramidasIf set, the update process does not update the source of the
661fd23b461SGiorgos Keramidas.Fx
662fd23b461SGiorgos Keramidasdocumentation as part of the
663fd23b461SGiorgos Keramidas.Dq make update
664fd23b461SGiorgos Keramidastarget.
665c596c287SBryan Drewery.It Va NO_LIBS
666c596c287SBryan DreweryIf set, the libraries phase will be skipped.
6676d75a7a8SBryan Drewery.It Va NO_OBJ
6686d75a7a8SBryan DreweryIf set, no object directories will be created.
6696d75a7a8SBryan DreweryThis should only be used if object directories were created in a
6706d75a7a8SBryan Dreweryprevious build and no new directories are connected.
671fd23b461SGiorgos Keramidas.It Va NO_PORTSUPDATE
672fd23b461SGiorgos KeramidasIf set, the update process does not update the Ports tree as part of the
673fd23b461SGiorgos Keramidas.Dq make update
674fd23b461SGiorgos Keramidastarget.
67569c488cdSRuslan Ermilov.It Va NO_WWWUPDATE
67669c488cdSRuslan ErmilovIf set, the update process does not update the www tree as part of the
67769c488cdSRuslan Ermilov.Dq make update
67869c488cdSRuslan Ermilovtarget.
67916892c77SBryan Drewery.It Va WORLDFAST
68016892c77SBryan DreweryIf set, the build target
68116892c77SBryan Drewery.Cm buildworld
68216892c77SBryan Drewerydefaults to setting
68316892c77SBryan Drewery.Va NO_CLEAN ,
68416892c77SBryan Drewery.Va NO_OBJ ,
68516892c77SBryan Dreweryand will skip most bootstrap phases.
68616892c77SBryan DreweryIt will only bootstrap libraries and build all of userland.
68716892c77SBryan DreweryThis option should be used only when it is known that none of the bootstrap
68816892c77SBryan Dreweryneeds changed and that no new directories have been connected to the build.
689fd23b461SGiorgos Keramidas.El
690fd23b461SGiorgos Keramidas.Pp
691fd23b461SGiorgos KeramidasBuilds under directory
6927b710ab2SJoseph Koshy.Pa /usr/doc
6937b710ab2SJoseph Koshyare influenced by the following
6947b710ab2SJoseph Koshy.Xr make 1
6957b710ab2SJoseph Koshyvariables:
6967b710ab2SJoseph Koshy.Bl -tag -width ".Va DOC_LANG"
6977b710ab2SJoseph Koshy.It Va DOC_LANG
6987b710ab2SJoseph KoshyIf set, restricts the documentation build to the language subdirectories
6997b710ab2SJoseph Koshyspecified as its content.
7007b710ab2SJoseph KoshyThe default action is to build documentation for all languages.
701b82e53e2SMurray Stokely.El
7024e889921SJohn Baldwin.Pp
7034e889921SJohn BaldwinBuilds using the
7044e889921SJohn Baldwin.Cm universe
7054e889921SJohn Baldwintarget are influenced by the following
7064e889921SJohn Baldwin.Xr make 1
7074e889921SJohn Baldwinvariables:
7084e889921SJohn Baldwin.Bl -tag -width ".Va MAKE_JUST_KERNELS"
7094e889921SJohn Baldwin.It Va JFLAG
7104e889921SJohn BaldwinPass the value of this variable to each
7114e889921SJohn Baldwin.Xr make 1
7124e889921SJohn Baldwininvocation used to build worlds and kernels.
7134e889921SJohn BaldwinThis can be used to enable multiple jobs within a single architecture's build
7144e889921SJohn Baldwinwhile still building each architecture serially.
7154e889921SJohn Baldwin.It Va MAKE_JUST_KERNELS
7164e889921SJohn BaldwinOnly build kernels for each supported architecture.
7174e889921SJohn Baldwin.It Va MAKE_JUST_WORLDS
7184e889921SJohn BaldwinOnly build worlds for each supported architecture.
7194e889921SJohn Baldwin.It Va UNIVERSE_TARGET
7204e889921SJohn BaldwinExecute the specified
7214e889921SJohn Baldwin.Xr make 1
7224e889921SJohn Baldwintarget for each supported architecture instead of the default action of
7234e889921SJohn Baldwinbuilding a world and one or more kernels.
7244e889921SJohn Baldwin.El
725786aa69aSBen Smithurst.Sh FILES
7260c0eb9beSRuslan Ermilov.Bl -tag -width ".Pa /usr/share/examples/etc/make.conf" -compact
727786aa69aSBen Smithurst.It Pa /usr/doc/Makefile
728786aa69aSBen Smithurst.It Pa /usr/doc/share/mk/doc.project.mk
729786aa69aSBen Smithurst.It Pa /usr/ports/Mk/bsd.port.mk
730786aa69aSBen Smithurst.It Pa /usr/ports/Mk/bsd.sites.mk
7311caae057SRuslan Ermilov.It Pa /usr/share/examples/etc/make.conf
7320c0eb9beSRuslan Ermilov.It Pa /usr/src/Makefile
7330c0eb9beSRuslan Ermilov.It Pa /usr/src/Makefile.inc1
7343136363fSRuslan Ermilov.El
7353faf5fc9SBen Smithurst.Sh EXAMPLES
736be6a4760SRuslan ErmilovFor an
7373faf5fc9SBen Smithurst.Dq approved
7387b710ab2SJoseph Koshymethod of updating your system from the latest sources, please see the
739be6a4760SRuslan Ermilov.Sx COMMON ITEMS
740be6a4760SRuslan Ermilovsection in
741be6a4760SRuslan Ermilov.Pa src/UPDATING .
742b82e53e2SMurray Stokely.Pp
743b82e53e2SMurray StokelyThe following sequence of commands can be used to cross-build the
744f4721165SEdward Tomasz Napieralasystem for the armv6 architecture on an amd64 host:
745b82e53e2SMurray Stokely.Bd -literal -offset indent
746b82e53e2SMurray Stokelycd /usr/src
747f4721165SEdward Tomasz Napieralamake TARGET_ARCH=armv6 buildworld buildkernel
748f4721165SEdward Tomasz Napieralamake TARGET_ARCH=armv6 DESTDIR=/clients/arm64 installworld installkernel
749b82e53e2SMurray Stokely.Ed
750786aa69aSBen Smithurst.Sh SEE ALSO
7517c20a493SBen Smithurst.Xr cc 1 ,
752786aa69aSBen Smithurst.Xr install 1 ,
753786aa69aSBen Smithurst.Xr make 1 ,
75450a994c9SWarren Block.Xr svn 1 ,
755786aa69aSBen Smithurst.Xr make.conf 5 ,
756157376baSJoseph Koshy.Xr src.conf 5 ,
757f4721165SEdward Tomasz Napierala.Xr arch 7 ,
758a81996b6SBen Smithurst.Xr ports 7 ,
759a54bda91SMurray Stokely.Xr release 7 ,
76053837b18SEnji Cooper.Xr tests 7 ,
76161001d75STom Rhodes.Xr config 8 ,
76247f77d8cSBen Smithurst.Xr mergemaster 8 ,
763d732418bSWarren Block.Xr portsnap 8 ,
764a81996b6SBen Smithurst.Xr reboot 8 ,
76553837b18SEnji Cooper.Xr shutdown 8
766786aa69aSBen Smithurst.Sh AUTHORS
767a63d6c94SBaptiste Daroussin.An Mike W. Meyer Aq Mt mwm@mired.org
768