In (info "(make) File Name Functions") be sure to move the paragraph I have marked with X's, AFTER the example.
'$(notdir NAMES...)' Extracts all but the directory-part of each file name in NAMES. If the file name contains no slash, it is left unchanged. Otherwise, everything through the last slash is removed from it. X A file name that ends with a slash becomes an empty string. This X is unfortunate, because it means that the result does not always X have the same number of whitespace-separated file names as the X argument had; but we do not see any other valid alternative. For example, $(notdir src/foo.c hacks) produces the result 'foo.c hacks'.