diff options
| author | Mattias Andrée <maandree@kth.se> | 2024-02-11 22:28:27 +0100 | 
|---|---|---|
| committer | Mattias Andrée <maandree@kth.se> | 2024-02-11 22:28:27 +0100 | 
| commit | 17355df322ddb858362fd8a1a889e73a14c2b3cc (patch) | |
| tree | 49bffe0ae3883a52fc53eeee7d0655c85c9e6fad /README | |
| parent | Add support for -W (vendor options) by default (diff) | |
| download | makeenv-17355df322ddb858362fd8a1a889e73a14c2b3cc.tar.gz makeenv-17355df322ddb858362fd8a1a889e73a14c2b3cc.tar.bz2 makeenv-17355df322ddb858362fd8a1a889e73a14c2b3cc.tar.xz | |
Add makeenv.1 and README
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to '')
| -rw-r--r-- | README | 191 | 
1 files changed, 191 insertions, 0 deletions
| @@ -0,0 +1,191 @@ +NAME +	makeenv - Run make(1) with environment loaded from .makeenv + +SYNPOSIS +	makeenv [arguments] ... + +DESCRIPTION +	The makeenv utility opens the file .makeenv if it exists in the +	current working directory and scans it for options, macros, and +	targets to specify along with the provided arguments when it +	executes make(1). Any macro listed in .makeenv is also put in +	the environment. + +	After loading .makeenv and adding populating the environment, +	makeenv will inspect it's environment, makeenv itself is +	affected by the environment variables, which also are make(1) +	macros; this if you need a specific implementation of make(1) +	for a project, it can be specified in the .makeenv file. + +	When executng make(1), makeenv may reorder the arguments, and +	will put any option listed in .makeenv at the beginning, any +	macro listed in .makeenv before the macros in the arguments, +	and any target listed in .makeenv before the targets in the +	arguments. + +	makeenv is designed to be usable in place of make(1), that is, +	the user can create add the alias makeenv=make in his shell, +	without any adverse affect. makeenv will pass on it's arguments +	as is to make(1) (or whichever utility is specified in the +	environment variable MAKEENV_MAKE or the environment variable +	MAKE) without validation or modifications, if the .makeenv does +	not exist. + +OPTIONS +	The makeenv utility passes it's options to the make(1) utility +	and do not act on any of the it self, however in order to +	properly interleave options and operands specified in the +	.makeenv file, it have to understand which options take an +	argument and which do not. By default, the makeenv utility only +	understands the options specified by POSIX, and the argumented +	option -W (vendor options), as well as long options that start +	with two dashes (--) provided that the same command line +	argument contains an equals sign (=). The user can modify the +	environment variables to modify how the makeenv utility +	understands the options. See the section ENVIRONMENT VARIABLES +	for more information. The current version only support options +	that consist of a dash (-) followed by any other character and +	options that start with two dashes (--), followed by at least +	one character, but may not contain an equals sign (=), as these +	are treated as delimiters between long options and their +	associated argument. + +STDIN +	Not used. + +INPUT FILES +	None. + +ENVIRONMENT VARIABLES +	The following environment variables affect the execution of +	makeenv: + +	PATH +		Default. + +	MAKEENV_MAKE, MAKE +		The command that shall be invoked by the utility. The +		environment variable MAKEENV_MAKE has precedence over +		MAKE; MAKE is only used if MAKEENV_MAKE is not defined. +		If neither is defined, the default value make is used. + +	MAKEENV_OPTS_NO_ARG +		List of options that makeenv shall interpret as make(1) +		options that do not have any argument. (Default is +		eiknpqrSst, meaning the options -e, -i, -k, -n, -p, -q, +		-r, -S, -s, and -t.) + +	MAKEENV_OPTS_ARG +		List of options that makeenv shall interpret as make(1) +		options that have an argument. (Default is fW, meaning +		the options -f and -W.) + +	MAKEENV_OPTS_OPT_ATTACHED_ARG +		List of options that makeenv shall interpret as make(1) +		options that have an argument only if there are +		additional characters after the option character in the +		same command line argument. (Default is the empty +		string, meaning no options.) + +	MAKEENV_OPTS_OPT_ARG +		List of options that makeenv shall interpret as make(1) +		options that have an argument if there are additional +		characters after the option character in the same +		command line argument or if argument is followed +		directly by another argument which does not start with +		a dash (-). (Default is the empty string, meaning no +		options.) + +	MAKEENV_LONG_OPTS_NO_ARG +		List of options that makeenv shall interpret as make(1) +		options that do not have any argument. (Default is +		eiknpqrSst, meaning the options -e, -i, -k, -n, -p, -q, +		-r, -S, -s, and -t.) + +	MAKEENV_OPTS_ARG +		List of options that makeenv shall interpret as make(1) +		options that have an argument. (Default is fW, meaning +		the options -f and -W.) + +	MAKEENV_OPTS_OPT_ATTACHED_ARG +		List of options that makeenv shall interpret as make(1) +		options that have an argument only if there are +		additional characters after the option character in +		the same command line argument. (Default is the empty +		string, meaning no options.) + +	MAKEENV_OPTS_OPT_ARG +		List of options that makeenv shall interpret as make(1) +		options that have an argument if there are additional +		characters after the option character in the same +		command line argument or if argument is followed +		directly by another argument which does not start with +		a dash (-). (Default is the empty string, meaning no +		options.) + +	MAKEENV_LONG_OPTS_NO_ARG +		Space-separated list of long options that makeenv shall +		interpret as make(1) options that do not have any +		argument unless it is followed directly by an equals +		sign (=) in the same command line argument. Options +		that do not start with two dashes (--) are silently +		ignored. (Default is the empty string, meaning no +		options.) + +	MAKEENV_LONG_OPTS_ARG +		Space-separated list of long options that makeenv shall +		interpret as make(1) options that have an argument that +		must either be specified in the next command line +		argument or after an equals sign (=) the shall directly +		follow the option string in the same command line +		argument. Options that do not start with two dashes +		(--) are silently ignored. (Default is the empty string, +		meaning no options.) + +	MAKEENV_LONG_OPTS_OPT_ARG +		Space-separated list of long options that makeenv shall +		interpret as make(1) options that have an argument if +		it is the option string is is directly followed by +		equals sign (=) in the same command line argument or if +		argument is followed directly by another argument which +		does not start with a dash (-). Options that do not +		start with two dashes (--) are silently ignored. +		(Default is the empty string, meaning no options.) + +	Any macro listed in .makeenv is loaded into the environment +	before the utility inspects the environement. + +ASYNCHRONOUS EVENTS +	Default. + +STDOUT +	Not used. + +STDERR +	The standard error is used only for diagnostic messages. + +OUTPUT FILES +	None. + +EXTENDED DESCRIPTION +	None. + +EXIT STATUS +	If the make(1) utility is invoked, the exit status of makeenv +	is the exit status of the make(1); utility otherwise, the +	makeenv utility exits with one of the following values: + +	125	An error occurred in the makeenv utility. + +	126	The make(1) utility was found but could not be invoked. + +	127	The make(1) utility could not be found. + +CONSEQUENCES OF ERRORS +	Default. + +FUTURE DIRECTIONS +	None. + +SEE ALSO +	makeenv(5), make(1) | 
