makefile |条件|搜索文件

时间:2011-05-27 13:49:35

标签: makefile gnu-make

如何使用Makefile做到这一点?

 if ( file  exist in desktop )
      do X
 else
      mkdir folderName
      do X

平台linux

2 个答案:

答案 0 :(得分:2)

您可以在makefile中定义一个bash脚本函数,如下所示:

define my_func
  if [ -e $(FILE) ] \
  then \
    <do x> \
  else \
    mkdir $(FOLDER_NAME) \
    <do x> \
  endif
endef

然后你可以像这样打电话给你的目标:

all:
    @$(call my_func)

FILE包含您要测试存在的文件的路径,FOLDER_NAME包含您要创建的文件夹的路径(如上面的问题所示)。

答案 1 :(得分:2)

all:
    $(if $(wildcard desktop/file),,mkdir foldername)
    do X

$(if)的解释:http://www.gnu.org/software/make/manual/make.html#index-if-628

$(wildcard)的解释:http://www.gnu.org/software/make/manual/make.html#index-wildcard-620