我知道您可以在 makefile 中使用如下 if 语句:
foo: $(objects)
ifeq ($(CC),gcc)
$(CC) -o foo $(objects) $(libs_for_gcc)
else
$(CC) -o foo $(objects) $(normal_libs)
endif
有没有办法像三元类型运算符一样进行条件替换。
(condition?$(CC):$(CC2)) -o foo $(objects) $(libs_for_gcc)
如果没有什么是最惯用的方式来实现这个例子
我添加了 c++ 标签,因为该问题只有 7 个视图,并且我认为使用 c++ 的人可能知道答案,我知道这不是严格意义上的 c++ 问题(尽管我打算用它编译 c++)
编辑:看起来有一个使用这种语法的 if 函数
$(if condition,then-part[,else-part])
我仍然对它的工作原理有点困惑