Abort if one of the target destinations has no source files

Also updated the other error message to more verbose (emphasise
difference between destination files and source files).

Fixes #57