Joh*_*ica 70

如果file1不存在$(wildcard file1)则将评估为空字符串.

ifeq ($(wildcard file1),) 
    CLEAN_SRC =
else 
    CLEAN_SRC = *.h file3
endif 
Run Code Online (Sandbox Code Playgroud)

  • 关于缩进和TAB /空格字符要小心.例如,CLEAN_SRC需要由TAB char分隔,否则会抛出"无分隔符"错误. (2认同)
  • @ArunM:我不认为TAB /空格字符是真的.只有*规则定义*需要Tab缩进.makefile的其他部分可以用空格缩进,或者根本不缩进 - make不关心那里. (2认同)
  • 我会先用 `ifneq ($(wildcard file1),)` 写正例,然后“文件不存在”将是 `else` 的情况。 (2认同)