.Dd April 12, 2022 .Dt TIX-BUILD 8 .Os .Sh NAME .Nm tix-build .Nd build a port .Sh SYNOPSIS .Nm .Op Fl \-build Ns = Ns Ar triplet .Op Fl \-destination Ns = Ns Ar directory .Op Fl \-end Ns = Ns Ar step .Op Fl \-exec-prefix Ns = Ns Ar prefix .Op Fl \-generation Ns = Ns Ar level .Op Fl \-host Ns = Ns Ar triplet .Op Fl \-make Ns = Ns Ar path .Op Fl \-makeflags Ns = Ns Ar makeflags .Op Fl \-prefix Ns = Ns Ar prefix .Op Fl \-source-package Ns = Ns Ar source-package .Op Fl \-source-port Ns = Ns Ar source-port .Op Fl \-start Ns = Ns Ar step .Op Fl \-sysroot Ns = Ns Ar directory .Op Fl \-tar Ns = Ns Ar path .Op Fl \-target Ns = Ns Ar triplet .Op Fl \-tmp Ns = Ns Ar directory .Ar port .Sh DESCRIPTION .Nm builds a source code directory containing a .Xr port 5 of software for this operating system. .Nm is usually invoked through the higher level .Xr tix-port 8 . .Pp The mandatory .Ar port argument is the directory containing the source code. The .Xr port 5 file containing the build instruction is found by adding .Pa .port to this path, or if it does not exist then .Pa tix.port inside the directory. .Pp The options are as follows: .Bl -tag -width "12345678" .It Fl \-build Ns = Ns Ar triplet The platform .Ar triplet for the machine the port is built on. (Default: Automatically detected.) .It Fl \-destination Ns = Ns Ar directory The binary package is placed inside this .Ar directory . .It Fl \-end Ns = Ns Ar step Stop the build after this .Ar step : .Pp .Bl -tag -width "clean, pre-clean" -compact .It start The start step before anything has happened. .It clean, pre-clean Clean the source directory before the build. .It configure Configure the port. .It build Build the port. .It install Install the port into the .Ev DESTDIR . .It post-install Run the post-installation script. .It post-clean Clean the source code after the port. .It package Create the binary package. .It end The end step after everything has happened. (Default) .El .It Fl \-exec-prefix Ns = Ns Ar prefix The .Ar prefix where architecture dependent files are installed. (Default: .Fl \-prefix ) .It Fl \-generation Ns = Ns Ar generation Create a binary package in the format of this tix generation .Ar level . (Default: 2) .It Fl \-host Ns = Ns Ar triplet The platform .Ar triplet for the machine the port will run on. (Default: .Fl \-build ) .It Fl \-make Ns = Ns Ar path Which .Xr make 1 to use. (Default: .Ev MAKE if set and otherwise .Xr make 1 ) .It Fl \-makeflags Ns = Ns Ar makeflags Override the .Ev MAKEFLAGS variable inherited by make. .It Fl \-prefix Ns = Ns Ar prefix Build the port into this .Ar prefix . (Default: The empty prefix designating the root directory) .\" After releasing Sortix 1.1, remove this option. .It Fl \-source-package Ns = Ns Ar source-port Deprecated alias for .Fl \-source-port that will be removed after the next release. .It Fl \-source-port Ns = Ns Ar source-port The source code for the .Sy SOURCE_PORT per .Xr port 5 is found in the .Ar source-port directory. .\" TODO: This is different from tix-port(8). .\"(Default: ../$SOURCE_PORT/$SOURCE_PORT) (Default: $SOURCE_PORT) .It Fl \-start Ns = Ns Ar step Start the build at this step (see .Fl \-end ) . (Default: .Sy start ) .It Fl \-sysroot Ns = Ns Ar directory The system root to use while building and installing the port. The toolchain is wrapped to transparently use this sysroot during the build. .It Fl \-tar Ns = Ns Ar path Which .Xr tar 1 to use during the build. (Default: .Xr tar 1 ) .It Fl \-target Ns = Ns Ar triplet The port's outputs targets this platform .Ar triplet . (Default: .Fl \-host ) .It Fl \-tmp Ns = Ns Ar directory Place temporary files in this .Ar directory . (Default: .Ev TMPDIR if set otherwise .Pa /tmp ) .El .Sh EXIT STATUS .Nm will exit 0 on success and non-zero otherwise. .Sh SEE ALSO .Xr port 5 , .Xr development 7 , .Xr porting 7 , .Xr tix-collection 8 , .Xr tix-install 8 , .Xr tix-port 8 .Sh HISTORY .Nm originally appeared in Sortix 0.8.