3

私は次のようなものを実行したいと思います:

grep TEXT file.txt

TEXT が file.txt に存在する場合は、コンパイル フラグを追加します。これが疑似コードです-

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

これを Makefile で実現したいと考えています。$(shell command) を試してみましたが、うまくいかなかったので少し混乱しています。

ありがとう

4

2 に答える 2

2

次のような行を挿入してください。だからそれはうまくいくかもしれません。

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

テキストがファイルに存在する場合、次のように評価されます。

CFLAGS += -DFOO

それ以外の場合、ファイルにテキストが存在しない場合は、次のように評価されます。

CFLAGS += -UFOO
于 2012-09-28T09:14:07.827 に答える
-1

これを試してみてください、多分それは役立つでしょう

http://docstore.mik.ua/orelly/linux/run/ch13_02.htm#x-100-3-prog-make-command

于 2012-09-28T08:14:36.140 に答える