Add support for order-only inputs, use Parsec's unexpected and validate .PHONY targets
parseCmdChar -> cmdChar