- Support for command-line options mandated by POSIX
- Basic integration with
System.Console.GetOpt
- Support for specifying targets on the command-line
- Support for specifying assignments on the command-line
- Support for the
-f
flag - Support for all other flags
- Basic integration with
- Support for inference rules
- Parser support
- Handling of ".s2.s1" inference rules
- Respect and use `.SUFFIXES" (see special targets below)
- Handling of ".s1" inference rules
- Tests
- Support for command prefixes (
-
,@
,+
)- Preliminary support for
@
and-
- Support for
-
- Support for
.SILENT
/.IGNORE
/…
(see special targets below) - Tests
- Preliminary support for
- Proper support for escaped newlines in commands and assignments
- Support for macro assignment operators other than
:=
- Support for macro expansions of the form
$(string1:subst1=[subst2])
- Support for nested expansions in
string1
- Support for nested expansions in
- Support for special targets (e.g.
.PHONY
) - Support for internal macros (e.g.
$@
,$%
, …) - Support for default rules (e.g. for C compilation)
- Support for environment variables (e.g.
MAKEFLAGS
) - Support for libraries (prerequisites with parentheses)