Lines Matching +full:build +full:- +full:in

1 .\"-
2 .\" SPDX-License-Identifier: BSD-2-Clause
7 .\" Redistribution and use in source and binary forms, with or without
12 .\" 2. Redistributions in binary form must reproduce the above copyright
13 .\" notice, this list of conditions and the following disclaimer in the
19 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
23 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 .Nm build
33 .Nd general instructions on how to build the
39 system and its applications are contained in three different directories,
45 These directories may be initially empty or non-existent until updated with
65 For more information about the ports build process, see
70 command is used in each of these directories to build and install the
71 things in that directory.
74 command in any directory issues the
76 command recursively in all subdirectories.
77 With no target specified, the items in the directories are built
80 A source tree is allowed to be read-only.
81 As described in
83 objects are usually built in a separate object directory hierarchy
91 The canonical object directory is described in the documentation for the
95 The build may be controlled by defining
97 variables described in the
99 section below, and by the variables documented in
102 The default components included in the build are specified in the file
105 To override the default file, include the SRCCONF option in the make steps,
111 supported by the build system:
112 .Bl -tag -width ".Cm cleandepend"
126 Remove any files created during the build process.
142 link in
152 Generate a list of build dependencies in file
154 Per-object dependencies are generated at build time and stored in
157 Install the results of the build to the appropriate location in the
158 installation directory hierarchy specified in variable
164 Create a symbolic link to the canonical object directory in
167 Generate a tags file using the program specified in the
171 The build system supports
180 .Bl -tag -width ".Cm distributeworld"
184 For cross-building the target architecture needs to be specified with
197 Build everything but the kernel, configure files in
207 The actual build location prefix used
242 Files are placed in the directory hierarchy specified by
248 .It Cm native-xtools
249 This target builds a cross-toolchain for the given
254 This is intended to be used in a jail where QEMU is used to improve
260 .It Cm native-xtools-install
266 .Pa nxb-bin .
274 placing the results in
297 Create the build toolchain needed to build the rest of the system.
298 For cross-architecture builds, this step creates a cross-toolchain.
333 Create a build toolchain for each architecture supported by the build system.
335 Builds and installs a cross-toolchain and sysroot for the given
341 .Cm xdev-build
343 .Cm xdev-install .
346 The target location in
357 .Pa ${TARGET_ARCH}-freebsd .
358 .It Cm xdev-build
362 .It Cm xdev-install
366 .It Cm xdev-links
367 Installs autoconf-style symlinks to
369 pointing into the xdev toolchain in
373 Kernel specific build targets in
376 .Bl -tag -width ".Cm distributekernel"
388 renaming any pre-existing directory with this name to
409 The output repository is placed in the object directory, under
415 ABI for the build target, for example,
420 placing the results in
429 .It Cm kernel-toolchain
449 .Bl -tag -width ".Cm delete-old-libs"
450 .It Cm check-old
451 Print a list of old files and directories in the system.
452 .It Cm check-old-libs
454 .It Cm delete-old
457 .Li -DBATCH_DELETE_OLD_FILES
459 non-interactive.
467 .It Cm delete-old-libs
472 .Li -DBATCH_DELETE_OLD_FILES
474 non-interactive.
485 .Bl -tag -width ".Va MAKEOBJDIRPREFIX"
487 Defines a set of debugging flags that will be used to build all userland
499 so that debugging information is retained in the installed binaries.
509 Defines the prefix for directory names in the tree of built objects.
513 This variable should only be set in the environment or
514 .Pa /etc/src-env.conf
523 If defined, compiler warnings will not cause the build to halt,
526 If defined, the build process will run the DTrace CTF conversion
530 Additionally, builds in
535 .Bl -tag -width ".Va LOCAL_MODULES_DIR"
537 Requests use of an external toolchain to build either the world or kernel.
539 or the base name of a file in
545 External toolchains are available in ports for both LLVM and GCC/binutils.
546 For external toolchains available in ports,
551 name ${MACHINE_ARCH}-gcc<major version>.
553 Overrides which kernel to build and install for the various kernel
560 Useful for stand-alone modules that depend on
565 Overrides the directory in which
573 If set, the build target
588 the root of the source tree to build as part of the
591 The directories are built in parallel with each other,
608 the root of the source tree to build as part of the
611 The directories are built in parallel with each other,
627 the root of the source tree to build as part of the
632 the root of the source tree to build as part of the
633 .Cm bootstrap-tools
637 the root of the source tree to build as part of the
638 .Cm build-tools
642 the root of the source tree to build as part of the
643 .Cm cross-tools
652 .Bd -literal -offset indent
653 make PORTS_MODULES=emulators/virtualbox-ose-kmod kernel
662 Defaults to the list of sub-directories of
665 The directory in which to search for the kernel modules specified by
673 The src.conf file controls the components to build.
692 Override the default list of sub-directories and only build the
693 sub-directory named in this variable.
696 then all libraries and includes, and some of the build tools will still build
699 .Cm -DNO_LIBS ,
701 .Cm -DWORLDFAST
702 will only build the specified directory as was done historically.
708 This allows building a subset of the system in the same way as
712 .Bd -literal -offset indent
713 make some-target SUBDIR_OVERRIDE=foo/bar
718 The kernel source is located in the
728 This is necessary to cross-build some target architectures.
729 For example, cross-building for ARM64 machines requires
737 is also set, in which case it defaults to the appropriate
744 Set this to cross-build for a different architecture.
749 is also set, in which case it defaults to the appropriate
762 .Bl -tag -width ".Va LOADER_DEFAULT_INTERP"
776 If set, the build targets that clean parts of the object tree use the
799 If set, the build process does not run the DTrace CTF conversion tools
802 If set, the build does not descend into the
809 If set, the build process does not run
815 If set, the build process does not run
821 If set, the build process does not run
830 This should only be used if object directories were created in a
831 previous build and no new directories are connected.
837 If set, the build target
843 It will only bootstrap libraries and build all of userland.
845 needs changed and that no new directories have been connected to the build.
853 .Bl -tag -width ".Va DOC_LANG"
855 If set, restricts the documentation build to the language subdirectories
857 The default action is to build documentation for all languages.
865 .Bl -tag -width ".Va USE_GCC_TOOLCHAINS"
869 invocation used to build worlds and kernels.
870 This can be used to enable multiple jobs within a single architecture's build
873 Only build kernels for each supported architecture.
875 Only build worlds for each supported architecture.
877 Only build kernels for each supported architecture.
879 Only build worlds for each supported architecture.
888 Use external GCC toolchains to build the requested targets.
890 the build for that architecture is skipped.
897 Only build the listed targets instead of each supported architecture.
899 In addition to the supported architectures, build the semi-supported
901 A semi-supported architecture has build support in the
907 .Bl -tag -width ".Pa /usr/share/examples/etc/make.conf" -compact
921 section in
924 The following sequence of commands can be used to cross-build the system for
927 .Bd -literal -offset indent
951 manpage first appeared in