Рассмотрим этот очень простой make-файл:
foo: bar/
Запуск GNU Make 3.81 на этом make-файле приводит к:
make: *** No rule to make target `bar', needed by `foo'. Stop.
Как мы видим, трейлинг /
удален изbar/
.
В качестве альтернативы, используя опцию --print-data-base
или -p
, чтобы напечатать правила, полученные в результате обработки этого make-файла:
$ make -p 2>/dev/null | grep foo:
foo: bar
Мы можем видетьчто косая черта удалена из оригинала bar/
.Эта проблема, однако, отсутствует в более новых версиях GNU Make (например, 4.2.1).
Как сохранить косую черту в имени предварительных требований правила в GNU Make 3.81?