Понимание Makefile с $(basename $(notdir [email protected]))
Я пытаюсь понять Makefile, но я не понимаю строку рецепта с комментарием.
...
...
sample.a:
cd ../$(basename $(notdir [email protected])) && make ##i don't understand this
...
...
Я все еще новичок в этом. Можете ли вы дать мне очень простое объяснение:
$(basename $(notdir [email protected]))
Ответы
Ответ 1
Если вы сломаете это:
$(notdir [email protected])
удаляет путь из имени файла, оставляя только имя файла (поэтому /x/y/foo.a
становится foo.a
)
$(basename ...)
удаляет расширение (поэтому foo.a
становится foo
)
Здесь есть приличная ссылка: http://www.gnu.org/software/make/manual/html_node/File-Name-Functions.html