问题标签 [makefile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
56622 浏览

c++ - 任何生成makefile的好工具?

我正在寻找一种工具,它可以为不同编译器(gcc、microsoft vc++、borland 等)和不同平台(Win、Linux、Mac)的 C/C++ 项目生成 makefile。

0 投票
5 回答
3467 浏览

java - JNI 和 Java:ant 调用 make 还是 make 调用 ant?

我即将第一次进入 JNI(Java 本机接口)世界,以提供从特定于平台的 C/C++ 代码到 Java 的文件系统更改通知。那是除非有人建议我错过了一些出色的图书馆来做这件事。

作为 JNI 的新手,我设法在它的接口方面和库生成方面找到了很多文档,但在构建本机库方面我没有找到太多。

我有一个基于 ant 的现有 Java 源代码构建,所以我正在尝试确定是否应该让 ant 调用 make 来创建库,或者最好在创建后让 make 调用 ant图书馆?

这两个选项都不是非常好,但似乎都比试图让 ant 调用编译器来编译代码并直接生成库要好。

0 投票
3 回答
281 浏览

makefile - 并行的问题并不总是在完成后开始另一项工作

我正在开发一个具有四个逻辑 CPS(如果重要,两个双核 CPU)的系统。我正在使用 make 来并行化十二个可并行化的任务,并从 cron 中执行。

调用看起来像:

我遇到的问题是,有时一项工作会完成,但下一项工作不会启动,即使它不应该被负载平均限制器停止。每个目标大约需要四个小时才能完成,我想知道这是否可能是问题的一部分。

编辑:有时一个目标确实失败了,但我使用 -k 选项让其余的 make 仍然运行。我没有注意到与工作失败和下一个工作没有开始的任何相关性。

0 投票
2 回答
438 浏览

build-process - 使用两个目标创建源

我使用这个名为Lazy C++的工具,它将单个 C++ .lzz 文件分解为 .h 和 .cpp 文件。我希望Makepp在我构建 .lzz 文件的规则之后期望这两个文件都存在,但我不确定如何将两个目标放入单个构建行。

0 投票
2 回答
2835 浏览

gcc - Solaris 上的 gcc 如何找到它的库?

我正在尝试安装“quadrupel”,这是一个在 Solaris x86 上依赖 ffmpeg 的库。

我设法构建了 ffmpeg,它的库位于 /opt/gnu/lib 中,并且包含在 /opt/gnu/include 中,但是当我尝试构建 quadrupel 时,它找不到 ffmpeg 头文件。

需要哪些标志/配置才能将这两个目录包含在库和包含的正确搜索路径中?我不是一个 Makefile 黑客。

0 投票
5 回答
9612 浏览

c++ - 在 Visual Studio (2005) 下使用 Makefile 而不是解决方案/项目文件

有没有人有使用 Visual Studio C++ 构建的生成文件(在 VS 2005 下)而不是使用项目/解决方案设置的经验。对我们来说,项目/解决方案的工作方式并不直观,当您尝试使用特定编译时间标志调整构建时会导致配置爆炸。

在 Unix 下,很容易设置一个 makefile,它的默认选项被用户设置(或其他配置设置)覆盖。但是在 Visual Studio 中做这些类型的事情似乎很困难。

例如,我们有一个需要为 3 个不同平台构建的项目。每个平台可能有多个配置(例如调试、发布和其他几个)。对于一个新成立的项目,我的目标之一是拥有一个可以让所有平台构建在一起的解决方案,这使得构建和测试代码更改更容易,因为您不必打开 3 个不同的解决方案来测试您的代码。但是 Visual Studio 将需要 3 *(基本配置数量)配置。即PC调试、X360调试、PS3调试等。

似乎makefile解决方案在这里要好得多。包含一些基本的批处理文件或脚本,很容易将配置扩展保持在最低限度,并且只为我们必须执行的所有不同构建维护一小部分文件。

但是,我没有使用 Visual Studio 下的 makefile 的经验,并且想知道其他人是否有可以分享的经验或问题。

谢谢。

(编辑后提到这些是 C++ 版本)

0 投票
5 回答
4806 浏览

makefile - 在make变量中反转字符串顺序的最简单方法

假设您在 makefile 片段中有一个变量,如下所示:

然后我如何颠倒该列表的顺序?我需要:

显示

编辑:真正的问题是

产生a.out带有未定义符号的 an,因为其中的项目MY_LIST实际上是档案,但顺序错误。如果顺序MY_LIST颠倒,它将正确链接(我认为)。如果您知道正确获取链接顺序的更聪明的方法,请提示我。

0 投票
9 回答
9163 浏览

c++ - 有什么好的 C++ 项目构建工具可以替代 make 吗?

我想知道是否有任何漂亮而简洁的工具来替换 GNU Autotools 或 Make 来构建一个非常大的 C++ 项目,这些项目使用起来非常复杂。

如果项目很小,生成de Autotools所需的所有文件很简单,但如果源代码分为许多目录,有多个第三方库和许多依赖项,你就会陷入“Autotools地狱”。

感谢您的任何建议

0 投票
6 回答
65807 浏览

debugging - 调试生成文件的工具

我有一个大型遗留代码库,其中包含非常复杂的生成文件,并且有很多变量。有时我需要更改它们,我发现很难弄清楚为什么更改没有按我预期的方式进行。我想找到的是一个工具,它基本上可以对“make”过程进行逐步调试,我会给它一个目录,我将能够在不同点看到不同变量的值过程。没有一个调试标志似乎向我展示了我想要的东西,尽管我可能遗漏了一些东西。有谁知道这样做的方法?

0 投票
12 回答
52172 浏览

build-automation - 有希望的替代方案?

多年来,我一直在使用 make 和 makefile,虽然这个概念是合理的,但实现仍有一些不足之处。

有没有人找到任何好的替代方案来使问题不会过度复杂化?