小编典典

如何检查 Makefile 中是否存在文件以便删除它?

all

在我的干净部分,我Makefile试图在永久删除之前检查文件是否存在。我使用此代码,但收到错误。

它出什么问题了?

 if [ -a myApp ]
 then
     rm myApp
 fi

我收到此错误消息

 if [ -a myApp ]
 /bin/sh: Syntax error: end of file unexpected (expecting "then")
 make: *** [clean] Error 2

阅读 73

收藏
2022-08-24

共1个答案

小编典典

第二个最佳答案提到ifeq,但是,它没有提到这ifeq必须与目标名称在makefile中的缩进级别相同,例如,仅当文件当前不存在时才下载文件,以下代码可以使用:

download:
ifeq (,$(wildcard ./glob.c))
    curl ...-o glob.c
endif

# THIS DOES NOT WORK!
download:
    ifeq (,$(wildcard ./glob.c))
        curl ... -o glob.c
    endif
2022-08-24