It's the portable version of BSD make: http://crufty.net/help/sjg/bmake.html
The syntax for conditionals is different in GNU make and BSD make, so we use the shell
In parse_count multiple units start with the same letter, so it would match different units depending on the order they were sorted when iterating over them.