The primary function of the buildflags.mk
script is to
use the
buildflags.conf(1)
file, but it also offers knobs to easily use tools such as distcc and ccache.
The intended way to use it is to add the following lines to
make.conf(5).
.sinclude "/usr/local/share/bsdadminscripts2/buildflags.mk"
The following options to control the internals of
buildflags.mk
are available:
- BUILDFLAGS_CCACHE
- The ccache binary.
Default: /usr/local/bin/ccache
- BUILDFLAGS_CONF
- The configuration file.
Default:
/usr/local/etc/buildflags.conf
- BUILDFLAGS_DISTCC
- The distcc binary.
Default: /usr/local/bin/distcc
- BUILDFLAGS_PARSER
- The program that parses the configuration file.
Default:
/usr/local/share/bsdadminscripts2/buildflags.awk
- BUILDFLAGS_TMP
- A temporary file required to include the parsed configuration.
Default:
/tmp/buildflags.tmp.mk.${USER}
The following additional knobs are offered to manipulate make
jobs:
- SUBTHREADS
- WARNING: This setting is deprecated in favour of the ports native settings
FORCE_MAKE_JOBS
and
MAKE_JOBS_NUMBER.
This knob does for ports what THREADS
does everywhere else. It does not have an effect if the target install
is specified. Thus it is recommended to run make
build
and make install
seperately.
- THREADS
- This knob causes make to create parallel jobs. A sensible value is twice
the number of CPU cores available. This increases the amount of memory
used. If the system starts to swap often, the number should be decreased
to the number of available CPU cores. Do not use
THREADS
with the ports system.
- USE_DISTCC
- Prepends the distcc binary to
CC
,
CXX
and CPP
.
- USE_CCACHE
- Prepends the ccache binary to
CC
,
CXX
and CPP
.
- WITH_GCC
- Triggers the use of the alternative gcc defined with
BUILDFLAGS_GCC
. If
BUILDFLAGS_GCC
has not been definied it will be
set to whatever WITH_GCC
was set.
The buildflags.mk
script first appeared in the
bsdadminscripts-2.0 collection.