Ответ 1
Точка с запятой на линии с предварительным условием назначения является первой командной строкой, выполняемой для этого правила, по крайней мере, в GNU make.
Из главы 5 руководства:
Команды правила состоят из команд командной строки оболочки, которые должны выполняться по одному. Каждая командная строка должна начинаться с вкладки, за исключением того, что первая командная строка может быть привязана к целевым и предварительным требованиям строка с точкой с запятой между ними.
В вашем случае, поскольку после запятой нет команды, она становится не-op.