如何从 Xcode 项目生成 Makefile?

Posted

技术标签:

【中文标题】如何从 Xcode 项目生成 Makefile?【英文标题】:How can you generate a Makefile from an Xcode project? 【发布时间】:2010-09-10 20:19:44 【问题描述】:

我想从 Mac 上现有的 Xcode 项目生成 Makefile。具体来说,Mac 上现有的 iPhone、Objective-C 程序。

我找到了PBToMake,但它看起来适用于 Xcode 2.1,当我尝试使用它时,它不适用于 Xcode 3.1 项目。

【问题讨论】:

为什么要生成makefile?这么说可能会帮助您获得更好的答案。 这个问题是我google搜索的时候出现的,我的目标是在linux上搭建一个c++项目。 【参考方案1】:

GNUStep 提供“pbxbuild”将 .xcodeproj 文件转换为 GNUMakefile。

更新: pbxbuild is now deprecated

【讨论】:

【参考方案2】:

这不是生成 Makefile 的自动方式,但我发现它至少可以获取为目标构建的源文件列表。

在这种情况下,我使用的是 Xcode 4.0.2..

选择项目顶部节点 在目标列表中选择目标。 选择“构建阶段” 打开“编译源” 选择一个源文件 按 Command-A 以全选 按 Command-C 复制 粘贴到您最喜欢的文本编辑器和正则表达式中以进行重组。

粘贴的输出是每个源文件的完整路径名。

【讨论】:

【参考方案3】:

Xcode 不支持从项目生成 Makefile。如果您只想在 IDE 之外构建项目,请查看xcodebuild 命令行工具。

【讨论】:

这看起来像是在构建一个项目,但不会像提问者所问的那样将现有项目转换为标准生成文件。我错了吗?如果是这样,您是否介意编辑您的答案以包括如何使用 xcodebuild 生成 makefile? 它不会生成 makefile - 没有办法这样做。通常当我听到人们问“如何生成 makefile?”时。这是因为他们想从命令行构建他们的项目,并假设这是这样做的方式。 -1 因为您没有回答原始问题,只是假设提问者想从 CLI 构建。我正在寻找 Xcode->Makefile 转换器,因为我想尝试使用 GNUStep 在 Linux 上构建一个项目。请不要假设 OP 不小心提出了一个他不是故意的问题,或者如果您打算这样做,至少在您正在这样做的答案文本中明确说明。 两年前我向 OP 询问的部分,您是否看到了他们想要生成 Makefile 的原因? ...所以?您仍然提供了与原始问题无关的答案。很高兴你帮助了一些人,但正如我上面所说,如果你明确地说“这不会构建一个 makefile,但如果你只是想从 CLI 而不是 Xcode 构建.. 。”【参考方案4】:

你可以试试mfg。它是基于模板的,我认为(我没有玩太多)你可以让它生成一个合适的 makefile。

【讨论】:

以上是关于如何从 Xcode 项目生成 Makefile?的主要内容,如果未能解决你的问题,请参考以下文章

Xcode生成静态库和bundle

如何为Ocaml项目生成正确的makefile

检查是不是从 CMake 生成 Visual Studio 解决方案或 Makefile

关于使用本机 Visual C++ 项目与 makefile 项目的意见

如何使用 makefile 生成自动头文件

c ++ makefile项目如何创建具有相同basename加后缀和相同扩展名的文件列表