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. 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. SEE ALSO makeenv(5), make(1)