Всем здравствуйте.
Допустим, у меня есть исходный код на C, в пути к которому есть пробелы и двоеточия, и который собирается с помощью Make. Тогда, если подобное встречается в строке, где цель(и) и зависимости, спецсимволы должны быть экранированы с помощью \
:
main: C\:/Program\ Files/main.c
$(CC) -o $@ $<
В этом случае GNU Make ведёт себя логично, совершенно точно собирает всё, как надо, и не выдаёт малопонятной белиберды вроде
Makefile:1: *** target pattern contains no '%'. Stop.
В то же время, насколько я могу судить, BSD Make (у меня в системе установлен bmake
) этот самый бэкслэш игнорирует, считая его частью пути файла.
Вопрос: как в условиях задачи написать Makefile
совместимым и с GNU, и с BSD?