【发布时间】:2019-03-11 08:11:08
【问题描述】:
我想在某些特定文档上运行sed 's/#line/\/\/#line/',以便将this solution 自动化为http://stackoverflow.com/questions/16512580/。
我希望 GNU Make 仅在从 Xcode 调用时自动运行该命令。
不能仅仅使用uname -s 检测Darwin,因为只有 Homebrew 的工具链将与 Xcode 项目配置文档并行维护。它必须以某种方式专门检测 Xcode。
我的 Xcode 现在报告为Version 9.0 (9A235)。
有想法吗?
【问题讨论】:
-
在 XCode 配置中设置
-DXCODE参数? -
或者,也许您可以从行的内容中检测它们是否是有问题的排序,例如,首先通过
greping 并且仅在找到模式时才执行sed。 -
-DXCODE会为 C 预处理器定义 XCODE,对吧?我需要在上层检测 Xcode:在 GNU Make 级别。也许某种环境注入会做,但我不知道究竟是什么或如何...... -
我不确定您是如何从 XCode 调用
make,但如果您可以影响命令行,则绝对可以将XCODE=1作为参数提供给make本身(编辑:语法不是-DXCODE,对此感到抱歉)。然而,即使它只是用于 C 编译器,XCode 也可能会在CFLAGS或类似于make中传递它,因此您甚至可以以一种复杂的方式检测到它。 -
嗯,我什至根本没有打电话给 Make。我不知道如何配置它,显然最终只是手动将源添加到
*.xcodeproj/材料并从终端调用 GNU Make(macOS High Sierra 默认 3.81,而不是 Homebrew)以刷新 Bison 解析器 C 源。但这是错误的,我想完成*.xcodeproj/材料的配置,包括从 Xcode 调用 Make。
标签: c xcode macos gnu-make bison