• Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL



bsdmake Maintains program dependencies.
bsdmake [-BPSeiknqrstv] [-D <variable> [-d <flags>] [-E <variable>] [-
f <makefile>] [-I <directory>] [-j <max_jobs>] [-m
									<directory>] [-V
<variable>] [<variable>=<value>] [<target> ...]

The bsdmake program simplifies the maintenance of other programs. Its input is a list of specifications describing the dependency relationships between the generation of files and programs. The first makefile or Makefile that can be found in either the current directory or a special object directory is read for the list of specifications. If the file .depend can be found, it is also read.
-B Tries backward compatibility by executing a single shell per command and by executing the commands to make the sources of a dependency line in sequence. This is turned on by default unless -j is used.
-P Collates the output of a given job and displays it only when the job finishes, instead of mixing the output of parallel jobs together. This option has no effect unless -j is also used.
-S Stops processing when an error is encountered. Default behavior. This is needed to negate the -k option during recursive builds.
-e Specifies that environment values override macro assignments within makefiles for all variables.
-i Ignores nonzero exit of shell commands in the makefile. Equivalent to specifying - before each command line in the makefile.
-k Continues processing after errors are encountered, but only on those targets that do not depend on the target whose creation caused the error.
-n Displays the commands that would have been executed, but does not actually execute them.
-q Does not execute any commands, but exits 0 if the specified targets are up-to-date, and 1 otherwise.
-r Does not use built-in rules specified in the system makefile.
-s Does not echo any commands as they are executed. Equivalent to specifying @ before each command line in the makefile.
-t Rather than rebuilding a target as specified in the makefile, creates it or updates its modification time to make it appear up-to-date.
-v Is extra verbose. For multi-job makes, this causes file banners to be generated.
-D <variable> Defines <variable> to be 1, the global context.
-E <variable> Specifies a variable whose environment value (if any) will override macro assignments within makefiles.
-f <makefile> Uses <makefile> as the makefile. If <makefile> is -, standard input is read. Multiple makefiles may be specified, and are read in the order specified.
-I <directory> Specifies a directory in which to search for makefiles and included makefiles. The system makefile directory (or directories; see the -m option) is automatically included as part of this list.
-j <max_jobs> Specifies the maximum number of jobs that bsdmake may have running at any one time. Turns compatibility mode off, unless the -B flag is also specified.
-m <directory> Specifies a directory in which to search for sys.mk and makefiles included via the <...> style. Multiple directories can be added to form a search path. This path will override the default system include path: /usr/share/mk. Furthermore, the system include path will be appended to the search path used for ...-style inclusions (see -I option).
-V <variable> Prints gnumake's idea of the value of <variable>, in the global context. Does not build any targets. Multiple instances of this option may be specified; the variables will be printed one per line, with a blank line for each null or undefined variable.
<variable>=<value> Sets the value of the variable <variable> to <value>.
-d <flags> Turns on debugging, and specifies which portions of make are to print debugging information.
Argument <flags> is one or more of the following:
A Prints all possible debugging information; equivalent to specifying all the debugging flags.
a Prints debugging information about archive searching and caching.
c Prints debugging information about conditional evaluation.
d Prints debugging information about directory searching and caching.
f Prints debugging information about the execution of loops. Currently at no-op.
g1 Prints the input graph before making anything.
g2 Prints the input graph after making everything, or before exiting on error.
j Prints debugging information about running multiple shells.
l Prints commands in makefiles regardless of whether they are prefixed by @ or other quiet flags. Also known as loud behavior.
m Prints debugging information about making targets, including modification dates.
s Prints debugging information about suffix-transformation rules.
t Prints debugging information about target list maintenance.
v Prints debugging information about variable assignment.



Not a subscriber?

Start A Free Trial

  • Creative Edge
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint