Understanding a Makefile with $(basename $(notdir $@))
If you break it down:
$(notdir $@)
takes away the path from the file name leaving just the file name (so /x/y/foo.a
becomes foo.a
)$(basename ...)
takes away the extension (so foo.a
becomes foo
)
There's a decent reference here: http://www.gnu.org/software/make/manual/html_node/File-Name-Functions.html