【问题标题】:Required help in make file制作文件所需的帮助
【发布时间】:2011-09-02 11:54:31
【问题描述】:

我只想实现下面的语句

"if bin folder is not available in current directory then make new bin folder & 
if bin folder is available then its do nothing" 

谁能告诉我我该怎么做?

编辑: 我不想要像

这样的错误
mkdir: cannot create directory `./bin `./bin': File exists

【问题讨论】:

    标签: c linux makefile


    【解决方案1】:

    你可以这样做:

    -mkdir ./bin
    

    如果./bin 已经存在,那么mkdir 将静默失败,否则它将创建目录。

    【讨论】:

    • mkdir: 无法创建目录`./bin': 文件存在我不想要这个错误
    • @Mr.32:注意行首的-,这很重要。
    【解决方案2】:

    使用这样的规则:

    bin:
            mkdir bin
    

    然后,不要将mkdir bin 作为其他规则的一部分,而是让它们依赖于bin 规则。只有bin 不存在时才会执行bin 规则。

    【讨论】:

      【解决方案3】:

      根据您的要求,您可以使用以下规则:

      bindir:
             if [ ! -d bin ];then \
                 mkdir bin;  \
             fi
      

      请注意 if 语句检查 makefile 所在的当前目录中是否存在名为 bin 的目录,如果名为 bin 的目录不存在则创建它,如果存在则不执行任何操作,但如果存在常规文件(不是目录)名称 bin 存在,则此规则将失败。 建议您使用变量 BINDIR 来存储您的“bin”目录的值,因为这是遵循的一般规范,它有利于 makefile 的维护。

      BINDIR:=bin
      bindir:
             if [ ! -d $(BINDIR) ];then \
                 mkdir $(BINDIR);  \
             fi
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-05-23
        • 1970-01-01
        • 1970-01-01
        • 2020-06-10
        • 2010-11-05
        • 2020-01-07
        • 2012-08-11
        • 1970-01-01
        相关资源
        最近更新 更多