I'm not really sure if this falls in the same category, but the rule
base is a pattern rule... it seems that something like
%.o:%.c | $(intermdiate_path)
intermediate_path is no longer order only, it is instead a valid rule,
and that being a directory means it's often newer then the .o in certain
filesystems.
in my make 3.80 under linux, $| doesn't have anything, $< is just the .c
source file, other things have the intermediate path, but nothing
indicates order only, as it would if the order only dependant was
specified on a non-pattern rule...