В одном из первых разделов руководства по сборке GNU, Раздел 3.7 , есть схема рецепта make-файла
immediate : immediate ; deferred
deferred
, включающая точку с запятой в списке предварительных условий.Таким образом, действительный рецепт может быть
output.o : output.c header1.h header2.h; header3.h
gcc output.c -o output.o
Какой смысл точки с запятой?Поскольку в вышеупомянутом разделе говорится о немедленном и отложенном расширении переменной, я предполагаю, что часть до точки с запятой раскрывается немедленно, а часть точки с запятой расширяется только после выполнения цели.Кто-нибудь может подтвердить?
Я нашел похожие вопросы по SO, но те, которые представляют особые случаи, и ни один из их принятых ответов, похоже, не понял.