Handle multiple COMMAND lists passed to add_custom_command

Also use additional COMMANDs when calling _add_custom_command to
perform printing of passed COMMANDs rather than a custom target