Подтвердить что ты не робот

Определение толщины двоеточия в определении файла Makefile

Я вижу ряд правил в Makefile, которые выглядят следующим образом:

$(PATH)/foo.inc:;
include $(PATH)/foo.inc

$(PATH)/bar.inc:;
include $(PATH)/bar.inc

Является ли запятая в конце определения правила no-op или имеет конкретный смысл?

4b9b3361

Ответ 1

Точка с запятой на линии с предварительным условием назначения является первой командной строкой, выполняемой для этого правила, по крайней мере, в GNU make.

Из главы 5 руководства:

Команды правила состоят из команд командной строки оболочки, которые должны выполняться по одному. Каждая командная строка должна начинаться с вкладки, за исключением того, что первая командная строка может быть привязана к целевым и предварительным требованиям строка с точкой с запятой между ними.

В вашем случае, поскольку после запятой нет команды, она становится не-op.