私は次のようなものを実行したいと思います:
grep TEXT file.txt
TEXT が file.txt に存在する場合は、コンパイル フラグを追加します。これが疑似コードです-
if (grep TEXT file.txt == line exists)
CFLAGS += -DFOO
これを Makefile で実現したいと考えています。$(shell command) を試してみましたが、うまくいかなかったので少し混乱しています。
ありがとう
次のような行を挿入してください。だからそれはうまくいくかもしれません。
CFLAGS += $(shell /bin/grep -q pattern /path/to/file >/dev/null 2>&1 && echo "-DFOO" || echo "-UFOO")
テキストがファイルに存在する場合、次のように評価されます。
CFLAGS += -DFOO
それ以外の場合、ファイルにテキストが存在しない場合は、次のように評価されます。
CFLAGS += -UFOO
これを試してみてください、多分それは役立つでしょう
http://docstore.mik.ua/orelly/linux/run/ch13_02.htm#x-100-3-prog-make-command