在makefile中运行多个shell命令

时间:2012-09-28 08:11:01

标签: c shell makefile

我想运行类似的东西:

grep TEXT file.txt

如果文件存在于file.txt中,则添加编译标志。这是伪代码 -

if (grep TEXT file.txt == line exists)
     CFLAGS += -DFOO

我希望在Makefile中发生这种情况。我已经尝试了$(shell命令),但它没有用,所以我有点困惑。

由于

2 个答案:

答案 0 :(得分:2)

请插入如下所示的行。所以它可能运作良好。

CFLAGS += $(shell /bin/grep -q pattern /path/to/file >/dev/null 2>&1 && echo "-DFOO" || echo "-UFOO")

如果文件中存在文本,则评估为:

CFLAGS += -DFOO

否则,如果文件中不存在文本,则评估为:

CFLAGS += -UFOO

答案 1 :(得分:0)