Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
BUILD(7)           FreeBSD Miscellaneous Information Manual           BUILD(7)

     build - information on how to build the system

     The source for the FreeBSD system and applications are contained in three
     different directories, normally /usr/src, /usr/doc, and /usr/ports.
     /usr/src contains the ``base system'' sources, which is loosely defined
     as the things required to rebuild the system to a useful state.  /usr/doc
     contains the source for the system documentation, excluding the manual
     pages.  /usr/ports is a tree that provides a consistent interface for
     building and installing third party applications.

     The make(1) command is used in each of these directories to build and
     install the things in that directory. Issuing the make command in any
     directory or subdirectory of those directories has the same effect as
     issuing the same command in all subdirectories of that directory. With no
     target specified, the things in that directory are just built. The
     following list provides the names and actions for other targets:

     clean         Removes any files created during the build process.

     install       Installs the results of the build for this directory.

     update        Gets updated sources as configured in /etc/make.conf.

     The other /usr/src make targets are:

     buildworld    Rebuild everything but the kernel, configure files in /etc,
                   and release.

     installworld  Install everything built by ``buildworld''.

     world         buildworld + installworld.

     buildkernel   Rebuild the kernel and the kernel-modules.

                   Install the kernel and the kernel-modules.

                   Reinstall the kernel and the kernel-modules.

     upgrade       Upgrade a.out (2.2.x/3.0) system to the new ELF way

     most          Build user commands, no libraries or include files.

     installmost   Install user commands, no libraries or include files.

     aout-to-elf   Upgrade an system from a.out to elf format.

                   Build everything required to upgrade a system from a.out to
                   elf format.

                   Install everything built by aout-to-elf-build.

                   Move the a.out libraries into an aout sub-directory of each
                   elf library sub-directory.

     For more information about the ports build process, see ports(7).

     TARGET_ARCH      The target machine processor architecture.  This is
                      analogous to the ``uname -p'' output.  Set this to
                      cross-build for a different architecture.

     TARGET           The target hardware platform.  This is analogous to the
                      ``uname -m'' output.  This is necessary to cross-build
                      some target architectures.  For example, cross-building
                      for PC98 machines requires TARGET_ARCH=i386 and

     NO_WERROR        If defined, warnings will not cause the build to halt,
                      even if the makefile says otherwise.

     DESTDIR          The directory hierarchy where the resulting binaries
                      will be installed.


     The ``approved'' method of updating your system from the latest sources

           make buildworld
           make buildkernel KERNCONF=FOO
           make installkernel KERNCONF=FOO
           make installworld

     ``FOO'' must be replaced with the name of the kernel configuration file
     from which the kernel should be built.  Alternatively, the KERNCONF
     variable in /etc/make.conf can be set to the name of the kernel to build;
     in this case the ``KERNCONF=FOO'' part of the ``buildkernel'' and
     ``installkernel'' commands can be omitted.

     After running these commands a system reboot is required, otherwise many
     programs which have been rebuilt (such as ps, top, etc) may not work with
     the old kernel which is still running.

     The following sequence of commands can be used to cross-build the system
     for the Alpha architecture on an i386 host:

           cd /usr/src
           make TARGET_ARCH=alpha buildworld
           make TARGET_ARCH=alpha DESTDIR=/clients/axp installworld

     cc(1), install(1), make(1), make.conf(5), ports(7), release(7),
     mergemaster(8), reboot(8), shutdown(8)

     Mike W. Meyer <>.

FreeBSD 11.0-PRERELEASE        November 4, 2000        FreeBSD 11.0-PRERELEASE


Want to link to this manual page? Use this URL:

home | help