Я пытаюсь, чтобы мой эхо-текст Makefile был без завершающей новой строки, но не могу. Я наблюдаю поведение в OS X (, в Linux все работает как положено ).
a:
@echo -n "hello"
b:
@echo -n hello
c:
@/bin/echo -n "hello"
Выход:
$make a
-n hello
$make b
hello$make c
hello$
Другими словами, make a
не работает. Что именно происходит? Использует ли make встроенный -в эхе? Очевидно, что наличие двойных кавычек меняет поведение, но почему?
Как обнаружил @chepner, использование полного пути к /bin/echo
в make-файле правильно понимает флаг -n.