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

FreeBSD Manual Pages


home | help
BUILD.PROG.MK(5)	    BSD	File Formats Manual	      BUILD.PROG.MK(5)

NAME -- bsdbuild - compilation of	executables

     .include <>

     The module is used to compile an executable program from a
     set of source files.  The module provides built-in	support	for sources in
     the following languages:
     +o	 C (*.c)
     +o	 C++ (*.cc or *.cpp)
     +o	 Objective C (*.m)
     +o	 Assembler (*.asm)
     +o	 Lex (*.l)
     +o	 Yacc (*.y)

     ${PROG}	      Compile/link the ${PROG} executable from the specified
		      source files.

     ${GMONOUT}	      Compile/link a profiled version of ${PROG}.

     clean-prog	      Clean up object and executable files.

     cleandir-prog    Clean up for packaging.

     install-prog     Install program to the target installation directory

     deinstall-prog   Uninstall	program	from the installation directory.

     PROG	      Filename of target executable.  Platform-specific	trans-
		      forms may	be applied to the name.

     PROG_TYPE	      Type of application.  Set	to `CLI' for a command-line
		      utility, `GUI' for a graphical interface and `DAEMON'
		      for a server program.  Defaults to `CLI'.	 The interpre-
		      tation of	this setting is	platform-specific.  On the
		      Windows platform,	this instructs the compiler to select
		      the appropriate PE header	subsystem.

     BINDIR	      Target installation directory for	executables (usually
		      set by configure).

     PROG_INSTALL     If set to	`Yes', the install target will install the
		      program, otherwise it will be a no-op.  Defaults to

     PROG_GUID	      A	Global Unique Identifier (GUID)	for the	program.  Ex-
		      act interpretation is platform-specific.

     GMONOUT	      Output filename for profiled version of the program.

     CC		      Compiler for C, C++ and Objective	C sources.  Defaults
		      to `cc'.

     CFLAGS	      Compiler flags for C sources.  Defaults to `-O2 -g'.

     CXXFLAGS	      Compiler flags for C++ sources.  Defaults	to `'.

     OBJCFLAGS	      Compiler flags for Objective C sources.  Defaults	to

     CPPFLAGS	      Compiler preprocessor flags, for sources in all lan-
		      guages featuring a C preprocessor.

     ASM	      Compiler for assembler sources.  Defaults	to `nasm'.

     ASMFLAGS	      Compiler flags for assembler.  Defaults to `-g

     LEX	      Path to the lex(1) lexical analyzer generator.

     YACC	      Path to the yacc(1) parser generator.

     LFLAGS	      Options for lex(1), defaults to `'.

     YFLAGS	      Options for yacc(1), defaults to `-d'.

     LIBL	      Libraries	to use for Lex lexers.	Defaults to `-ll'.

     WINDRES	      (Specific	to the win32 platform) Path to the windres(1)
		      utility, which generates windows resource	files.

     WINRES	      (Specific	to the win32 platform) Resource	file to	use
		      with windres(1).

     DATAFILES	      List of data files to install into ${DATADIR}.  The
		      files must have been generated from the build process
		      (i.e., if	using a	separate build with --srcdir, the
		      specified	files must exist in the	build directory).

     DATAFILES_SRC    Files to install into ${DATADIR}.	 This variable is han-
		      dled similarly to	DATAFILES, except that the specified
		      files must exist in the source directory.

     CONFDIR	      System-wide configuration	files will be installed	into
		      this directory.  It is usually set relative to
		      `${SYSCONFDIR}', for example

     CONF	      List of configuration files to install into ${CONFDIR}.
		      Note that	the install target will	not override existing
		      configuration files, instead it will output a "The
		      following	configuration files have been preserved" mes-

     CONF_OVERWRITE   Overwrite	any existing configuration file	on installa-
		      tion.  Default is	"No".


HISTORY first appeared in BSDBuild 1.0.

     BSDBuild is based on the 4.4BSD build system.

BSD				 July 18, 2007				   BSD


Want to link to this manual page? Use this URL:

home | help