BUILDFLAGS.MK(1)

NAME
buildflags.mk - import buildflags.conf

SYNOPSIS
buildflags.mk

DESCRIPTION
The buildflags.mk script was written to introduce a syntax for make flags and introduce knobs to easily use tools such as distcc and ccache.

The intended way to use it is to add the following lines to the file '/etc/make.conf'.

    BUILDFLAGS=     /usr/local/share/bsdadminscripts/buildflags.mk
    .if exists(${BUILDFLAGS})
    .include "${BUILDFLAGS}"
    .endif

OPTIONS
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_GCC
    The version string to append to a gcc binary. A sensible value would be something like '41'.

    Default: undefined

BUILDFLAGS_GCC_CC
    The CC binary without a version string.

    Default: /usr/local/bin/gcc

BUILDFLAGS_GCC_CPP
    The CPP binary without a version string.

    Default: /usr/local/bin/cpp

BUILDFLAGS_GCC_CXX
    The CXX binary without a version string.

    Default: /usr/local/bin/c++

BUILDFLAGS_PARSER
    The program that parses the configuration file.

    Default: /usr/local/share/bsdadminscripts/buildflags.awk

BUILDFLAGS_TMP
    A temporary file required to read the parsed configuration file.

    Default: /tmp/buildflags.tmp.mk.${USER}

The following additional knobs are offered manipulate make jobs:

SUBTHREADS
    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 adviced to run 'make build' and 'make install' seperately.

THREADS
    This knob causes make to create parallel jobs. A sensible value is normally 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.

COMPATIBILITY
The script has been tested on FreeBSD 6.1.

SEE ALSO
buildflags.awk(1), buildflags.conf(1), bsdadminscripts(1)

HISTORY
The buildflags.mk script first appeared in the bsdadminscripts-2.0 collection.

AUTHOR
Dominic Fandrey <lon_kamikaze@gmx.de>