$+ в make-файле

Что означает $+ в make-файле GNU?
Также, пожалуйста, дайте мне несколько хороших справочных руководств по написанию make-файлов.

2 ответа

Решение

Из руководства по сборке:

$^ Имена всех предпосылок с пробелами между ними. Для предварительных условий, которые являются членами архива, используется только названный элемент (см. Архивы). У цели есть только одна предпосылка для каждого файла, от которой она зависит, независимо от того, сколько раз каждый файл указан в качестве предпосылки. Поэтому, если вы указали предварительное условие для цели более одного раза, значение $^ содержит только одну копию имени. Этот список не содержит никаких предварительных условий только для заказа; для тех, кто видит `$|' переменная, ниже.

$ + Это похоже на `$^', но предпосылки, перечисленные более одного раза, дублируются в том порядке, в котором они перечислены в make-файле. Это в первую очередь полезно для использования при связывании команд, когда имеет смысл повторять имена библиотечных файлов в определенном порядке.

В обоих случаях все, что я могу сказать, это RTFM... или RTFI в этом случае. Тип

info make

в командной строке, и вся информация, которую вы когда-либо захотите, будет у вас под рукой.

За $+ в частности: это относится к именам всех предпосылок текущего правила. Смотрите, например, http://uw714doc.sco.com/cgi-bin/info2html?(make.info)Automatic&lang=en

Другие вопросы по тегам