1

私は午前中ずっと頭を悩ませている問題を抱えています。私はメイクファイルを変更する初心者なので、解決方法がわからない問題に遭遇しました。「No Findings!」という文字列を持つ「Findings.txt」で終わるファイルをディレクトリで検索しようとしています。その中に含まれています。何らかの理由で、条件文を正しく機能させることができません。ワイルドカード文字に関係している可能性があると思いますが、ワイルドカード機能を含め、試したことはすべて機能しませんでした。私の唯一の他の考えは、シェルがパス内の変数に問題がある可能性があるということです。

GREP_FINDINGS := $(shell grep 'No Findings'  $(C_DIR)/*Findings.txt)

grep 結果の出力を条件付けしたいのですが、何か間違っています。

ifeq ($(GREP_FINDINGS), )
    @echo "Nothing was found for current build"    
else  
    @echo "***Found string in Findings.txt***"
endif               
4

1 に答える 1

3

ifeqMakefile は一般に大文字と小文字が区別されるため、 andを使用する必要がありますelse。GNU Make では次のように機能します。

ifeq ($(GREP_FINDINGS), )
  @echo true
else
  @echo false
endif

これもチェックしてみるといいかもしれません。

于 2012-08-09T17:24:10.507 に答える