Вземете предупредителен изход за make makefile, за да включите нови редове за печат

Как да накарам make да отпечата нови редове с върнати данни от shell? Научавам make, като модифицирам makefile. Би било хубаво да излиза нов ред като нов ред.

# simple trial makefile
$(warning Making where CURDIR is $(CURDIR))
$(warning  $(shell ls -l $(CURDIR)))

Видях подсказка тук. Как да синтезирате прекъсвания на редове в GNU Направете предупреждения или грешки?

GNU Make 3.82

Робърт


person historystamp    schedule 28.04.2014    source източник


Отговори (1)


Не можете да направите това. В shell документацията ясно се казва, че всички нови редове ще бъдат конвертирани в пространства. Не можете да избегнете това.

Можете да изпълните команда и да пренасочите изхода към stderr вместо stdout, така че да не бъде уловен от функцията $(shell ...):

$(warning Making where CURDIR is $(CURDIR))
$(shell ls -l $(CURDIR) 1>&2)
person MadScientist    schedule 28.04.2014