что означает $ (1: D =)? - PullRequest
0 голосов
/ 15 мая 2019

Я читаю файл Jamrule какого-то проекта, чтобы понять, как он собирается. Но есть некоторые, которые я не могу понять. Такие как $(1:D=) or $(1:S=$(sample)) or $(1:G=$(sample)) что это значит?

Я искал двоеточие и одинаковое значение в сценарии оболочки, но не смог найти, когда между ними алфавит.

ex) local _s = $(1:D=) ;

1 Ответ

0 голосов
/ 15 мая 2019

$(1) расширяет первый аргумент правила.$(1:D=foo) применяет модификатор, который заменяет часть каталога расширенных элементов (dirname, если вы думаете в терминах оболочки) строкой foo.Особый случай $(1:D=) удаляет часть каталога.Модификатор S относится к суффиксу (также известному как расширение) имени файла, G - к «grist» имени цели, вызывающей замятие.

См. Раздел Расширение переменной из документа Perforce Jam для полного списка.Я могу порекомендовать прочитать полную документацию по Jam, чтобы понять конкретные понятия (например, grist).

...