1

我有一个问题,我整个早上都在敲我的脑袋。我是修改makefile的新手,所以我遇到了一个我不知道如何解决的问题。我正在尝试在目录中搜索以 'Findings.txt' 结尾且具有字符串 'No Findings!' 的任何文件 包含在里面。出于某种原因,我无法让我的条件语句正常工作。我假设它可能与通配符有关,但我尝试过的一切都没有奏效,包括通配符功能。我唯一的想法是外壳可能在路径中存在变量问题。

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

Makefile 通常区分大小写,因此您需要使用ifeqand else,以下内容适用于 GNU Make:

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

您可能还想检查一下

于 2012-08-09T17:24:10.507 回答