管道与make dosen'tra工作

时间:2013-04-09 07:43:21

标签: linux gnu-make

我很陌生,我试图创建一个虚假目标来打印目标:

.PHONY: help
help:
        $(MAKE) --print-data-base --question | \
        $(AWK) '/^[^.%][-A-Za-z0-9_]*:/ { print substr($$1, 1, length($$1)-1) }' | \
        $(SORT) | \
        $(PR) --omit-pagination --width=80 --columns=4

代码取自here(第20页)。

当我运行make help时,我得到以下内容:

make --print-data-base --question | \
     '/^[^.%][-A-Za-z0-9_]*:/ { print substr($1, 1, length($1)-1) }' | \
     | \
     --omit-pagination --width=80 --columns=4
/bin/sh: 3: Syntax error: "|" unexpected
make: *** [help] Error 2

出了什么问题,如何解决?

我正在研究linux mint,为i686-pc-linux-gnu制作3.81。

1 个答案:

答案 0 :(得分:1)

看起来$(AWK)$(SORT)$(PR)都在扩展为空字符串,这意味着您的makefile中没有定义此类变量。