我正在尝试理解Makefile,但我不理解评论的配方行。
...
...
sample.a:
cd ../$(basename $(notdir $@)) && make ##i don't understand this
...
...
我还是新手。你能给我一个非常简单的解释:
$(basename $(notdir $ @))
答案 0 :(得分:28)
如果你将其分解:
$(notdir $@)
从文件名中删除路径,只留下文件名(因此/x/y/foo.a
变为foo.a
)
$(basename ...)
取消了扩展程序(因此foo.a
变为foo
)
这里有一个不错的参考:http://www.gnu.org/software/make/manual/html_node/File-Name-Functions.html