#c #linux #makefile
#c #linux #makefile
Вопрос:
В чем именно разница между default
правилами и всеми all
целевыми правилами? Используется all
только при использовании шаблонных правил или может использоваться при использовании явных и неявных правил?
Комментарии:
1. Возможно, вы захотите уточнить, что вы подразумеваете под
default
иall
.default
Вы имеете в виду цель с явным именемdefault
или просто цель, которая будет создана, если вы просто введетеmake
в командной строке? Можете ли вы привести примерmakefile
?2. Если вы напишете makefile, вы можете использовать любые целевые имена для всего, что захотите. Make не налагает никаких ограничений.
3. «все» — это обычное имя для целевого файла makefile, который создает все компоненты проекта. Но это всего лишь соглашение:
make
не придает этому имени особого значения. «по умолчанию» не является обычным именемmake
целевого файла makefile, но имеет смысл цели по умолчанию , то есть той, которая создается, когда пользователь запускаетсяmake
без запроса конкретной цели. Часть соглашения, связанного с целевым именем «all», заключается в том, что оно должно быть расположено в файле makefile так, чтобы оно было целью по умолчанию. Но опять же, это всего лишь соглашение.