AutoMake条件编译问题

时间:2013-03-23 19:08:39

标签: automake

我正在尝试在automake中执行此操作

platform=$(uname)
ifeq ($(platform), Darwin)
    stmt = ...
else
    stmt1 = ...
endif

但是我得到了

  

错误:否则没有

     

错误:endif如果

我做错了什么?

1 个答案:

答案 0 :(得分:3)

  • 删除缩进,以便所有语句都从第1列开始。
  • 使用Automake条件,您首先必须在配置脚本中定义条件变量,如下所示:

    AM_CONDITIONAL([DARWIN], [test $(uname) -eq "Darwin"])
    

    然后在Automake文件中,执行以下操作:

    if DARWIN
    stmt = ...
    else
    stmt1 = ...
    endif
    

或者,只需将bash脚本中的if语句写为Automake文件中规则的主体。