Make.rules incomplete/wrong; make -r failure
Brought to you by:
noxorc
Make.rules is not complete; in particular it lacks a %.o: %.S rule. This happens to work due to the builtin make rule to that effect. but building with make -r, or building as a sub-make of an environment that uses make -r (or MAKEFLAGS += -r) causes it to break.
In general, make -r is strongly preferred, and Make.rules seems to have been created explicitly to support this.
To further complicate things, the rule %.S: %.c causes a completely incomprehensible error message. This rule is wrong, it should be %.s: %.c not %.S: %.c.
Finally, the rule %.E: %.c is normally %.i: %.c; .i is the normal extension for preprocessed C source. The equivalent rule for assembly is %.s: %.S.
Proposed patch attached.
Patch was reviewed and accepted.
commit de4e5e4e3b6faaf05b0b9a9a7ead882269078dc3