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

FreeBSD Manual Pages

  
 
  

home | help
BUILDFLAGS.CONF(1)	  BSD General Commands Manual	    BUILDFLAGS.CONF(1)

NAME
     buildflags.conf --	set build options for ports(7),	world and everything

DESCRIPTION
     The buildflags.conf file is used by buildflags.mk(1) to configure make(1)
     jobs.

     The intended way to use it	is to add the following	lines to make.conf(5).

	   .sinclude "/usr/local/share/bsdadminscripts2/buildflags.mk"

SYNTAX
     A buildflags.conf file gets parsed	into a make file. If you want to make
     sure that your syntax is right you	can do so by running:

     /usr/local/share/bsdadminscripts2/buildflags.awk buildflags.conf |	less

     The buildflags.conf syntax	only knows four	kinds of data:

	   comments, locations,	knobs and variables

   COMMENTS
     Comments are everything behind a '#'. The only exception is a '#' within
     a '"' block.

	   # This is a comment.

   LOCATIONS
     A location	is a folder in which a make job	runs.  Locations make it pos-
     sible to limit assignments	only to	certain	ports or other build systems.

     A location	consists of a path and/or a pattern. The difference between a
     path and a	pattern	is that	the pattern will remain	untouched and a	path
     will be resolved as far as	possible. Resolving a path means that a	path
     will be substituted with its physical path.

     Several locations can be connected	with '&' (logical and) and '|' (logi-
     cal or).

     If	e.g. '/usr/ports' is a link to '/mnt/vault/ports' a location like
     '/usr/ports/x11*' will be resolved	into '/mnt/vault/ports/x11*'.  In this
     case '/usr/ports' is the path and '/x11*' the pattern.

     Every location is followed	by a block that	can contain comments, knobs,
     variables and other locations. A block is opened with the character '{'
     and closed	with '}'. Here is an example:

	   /usr/ports/*	& !*/work/*{
		   WITH_IPV6
		   */x11/toolkits-gtk20	   {WITHOUT_DEBUG}
	   }

   KNOBS
     A knob really is a	variable with a	default	assignment:

	   WITH_DEBUG
	   !CPUTYPE

     This example would	set 'WITH_DEBUG=yes' and undefine 'CPUTYPE'. You can
     have several knobs	in a single line:

	   WITH_DEBUG !CPUTYPE

   VARIABLES
     Assigning variables is simply done	with an	'=' other ways of assignment
     known from	make(1)	like '?=', ':='	or '!='	can also be used. There	may
     not be spaces in front of a '='.

     If	the '='	is followed by spaces. The whole trailing line will be as-
     signed as the value, unless the first character is	a '"'.	Values may not
     contain a '"'. If the value is right behind the '=' only one word will be
     assigned, the next	word will be treated as	a knob or variable.

     Here are some examples of valid assignments:

	   CPUTYPE?="pentium-m"	CFLAGS="-O2 -pipe" THREADS=5
	   SUPFLAGS=	   -E -g -L 2 -z

   DIRECTIVES
     Native make(1) directives can be included.	Apart from putting trailing
     comments in front of them and removing preceding spaces they are not
     changed. Make directives begin with a '.',	among them are '.if', '.in-
     clude' and	'.for'.

     The following is a	valid example:

	   /usr/ports/*	{
		   .if defined(WANT_I386)
			   CFLAGS+=	   -m32
			   LDCONFIG+=	   -32
		   .endif
	   }

WARNINGS
     There are things that should not be done.

   WRKDIRPREFIX
     Do	not set	the WRKDIRPREFIX directive in buildflags.conf.	Doing so would
     break updating of bsdadminscripts(1) in the FreeBSD ports(7) collection.

SEE ALSO
     buildflags.awk(1),	buildflags.mk(1) make(1)

FILES
     ${HOME}/.buildflags.conf
	     User specific build settings.

     /usr/local/etc/buildflags.conf
	     Default location of the buildflags.conf.

     /usr/local/etc/buildflags.conf.sample
	     An	example	configuration file.

HISTORY
     The buildflags.conf file first appeared in	the bsdadminscripts-2.0	col-
     lection.

AUTHOR
     Dominic Fandrey <kamikaze@bsdforen.de>

BSD				 29 May, 2016				   BSD

NAME | DESCRIPTION | SYNTAX | WARNINGS | SEE ALSO | FILES | HISTORY | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=buildflags.conf&sektion=1&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help