【发布时间】:2011-06-14 19:03:13
【问题描述】:
我是 Makefile 新手,所以请多多包涵。
我需要修改 Makefile,以便某些规则根据变量调用不同的实用程序。
现在,规则如下:
ci:
[shell syntax for tool (A)]
但是现在我需要 ci 来根据变量使用不同的语法。所以我在文件顶部定义了一个全局变量:
TOOL = toolA
或
TOOL = toolB
理想情况下我想要的是这样的东西,但是显然它不起作用:
ifeq ($TOOL, toolA)
ci:
[syntax for tool (A)]
else
ci:
[syntax for tool (B)
endif
有谁知道正确实施此类事情的最佳方法?
谢谢!!
EDIT:工具语法比一行复杂。有时它的多行,而不仅仅是“toolA args etc etc”。很抱歉造成混乱!
【问题讨论】:
-
考虑实现一个工具中立的(shell?)脚本,它被告知(通过参数或其他方式)要做什么,并无条件地使用它。
-
我一开始也是这么想的,但是我想在不引入外部脚本的情况下这样做。如果我不能让它工作,可能不得不求助于它。不过谢谢!
标签: unix if-statement makefile tcsh