问题标签 [multiple-makefiles]

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 投票
1 回答
990 浏览

dll - Mono:如何在 Makefile.am 中添加 DLL 引用?

我正在尝试向CmisSync添加一个 DLL ,这是一个使用 Mono 和 autogen/configure/Makefiles的开源项目。这是我第一次使用 Mono。

我将 DLL 复制到相关子目录,并Makefile.am在这一行修改了该目录:

...我添加了DotCMIS.dll这样的:

然后我在项目的根目录下重建了 Makefile:

问题:现在运行时出现错误make

它不适用于-r:$(DIR_BIN)/SparkleLib.dll DotCMIS.dll任何一个。
我也尝试添加LIBS=DotCMIS.dllREFERENCES = DotCMIS.dll线,没有运气。

将 DLL 添加到像这样使用 autogen/configure/Makefiles 的项目的正确语法是什么?

0 投票
1 回答
244 浏览

linux-kernel - 如何在目标依赖于多个 linux 构建的地方布局 Makefile

我有一个基于 Make 的项目,其中顶级目标需要多个 vmlinux 二进制文件(linux 内核)作为先决条件,所以它看起来像:

每个 linux 规则看起来或多或少像:

对于 b 和 c linux 内核也是如此。请注意,每个源代码树可能相同或不同,并且几乎可以肯定会有不同的 defconfigs。

这适用于干净的构建,但我真的不喜欢递归调用。根据我如何调整上述几行,我似乎最终得到以下任何一种:

  • 即使没有任何变化(什么都不做需要 7 秒),不必要的递归也会进入 linux 树
  • 如果我编辑 linux 源代码,除非我明确触摸 .config 或其他东西,否则不会重新生成内核。

理想情况下,我希望我的顶级 Makefile 能够了解每个 linux 内核的内部依赖关系图,并在所有情况下“做正确的事”。(即recursive-make-considered-harmful 论点)。

尽管我希望顶级 Linux Makefile 不会被其他人包含在内,尤其是多次使用不同的配置和 src 树!(我可以控制 baz/makefile.inc bar/makefile.inc,因此可以将它们编写为在顶层包含时播放得很好)

还是我运气不好,只需要记住触摸 .configs 以触发每个 linux 构建目录的体面?

谢谢,戴夫

编辑:在我的机器上,进入 linux 树的 7 秒无用体面看起来像这样:

0 投票
0 回答
91 浏览

makefile - Makefile 包含相同目标的文件

我有一个使用递归 Make 的大型项目。几乎所有的 Makefile 都是一样的。我基本上将所有目标文件构建到同一个目录中,如下所示:

是否可以将这些目标放在一个包含文件中,这样我就不必在每个 Makefile 中放置相同的行?

include 我只用于共享变量,当我使用 include 测试它时它不起作用。

0 投票
1 回答
42 浏览

makefile - 并行化外部 Makefile

我有这个 Makefile

如果我跑

它只使用一个进程。重构此 Makfile 以使编译并行化的最佳(和快速)方法是什么?

0 投票
2 回答
15169 浏览

makefile - 从 makefile 中调用 make

我有一个可以从新外壳完美调用的 Makefile,即:

但是,如果我从另一个Makefile调用这个 Makefile ,它会由于一些复杂的依赖问题而失败。Make 清楚地知道嵌套调用,从make[1]:etc 的打印中可以看出,我怀疑 make 以某种方式与其子进程共享变量。

无论如何从Makefile中调用一个干净的make?如果我的构建是从一个干净的 shell 工作的,那么应该可以从另一个 Makefile 调用它,而无需解决脚本中的恐怖问题!:)

谢谢!

0 投票
2 回答
956 浏览

gnu-make - Makefile 中的复杂命令执行

我有一个关于在当前系统的 makefile 中执行复杂命令的查询。

我目前在makefile中使用shell命令来执行命令。但是我的命令失败了,因为它是许多命令的组合,并且执行会收集大量数据。makefile 内容是这样的:

但是make执行失败并出现 execvp 失败,因为文件列表很大,我需要解析所有文件。

请建议我解决这个问题的任何方法。基本上我想执行一个复杂的命令并将该输出分配给我想稍后在程序中使用的makefile变量。

0 投票
2 回答
4180 浏览

ubuntu - 在 Linux 上安装 WordNet(Ubuntu 值得信赖)

我正在尝试在值得信赖的 Ubuntu 上安装WordNet-3.0

当我运行配置脚本时,我得到:

这是一个警告,但配置在没有创建 makefile 的情况下停止了。

所以我下载并安装了tcl8.6.1,然后再次运行配置脚本,但我得到了:

所以我下载并安装了 tk8.6.1,然后再次运行配置脚本,但警告消息仍然存在。

我在tkConfig.sh中找到~/Downloads/tk8.6.1/unix/,所以我将它复制到 /usr/local/lib,再次运行脚本,但我得到了:

我该怎么办?配置脚本是一个令人生畏的 5755 行长,我不敢修改它......

0 投票
1 回答
800 浏览

android - Android NDK:直接在 jni/ 文件夹下添加新库模块后构建

在我的 Android NDK 项目中,我曾经只有一个库模块:

然后,我需要添加另一个与现有库模块无关的新库模块。我的意思是他们是独立的。我直接在jni/文件夹下添加了新库。

问题1:
我在我的Android项目下运行ndk-build命令来构建。但是根本没有构建new-lib 。那是因为我需要在jni/文件夹下的Android.mknew-lib中声明模块吗?如果有,如何申报?

问题2: 当我加载new-lib时(假设模块名称是“newlib”),我应该使用

System.loadLibrary("new-lib/newlib");

要不就

System.loadLibrary("newlib");?

0 投票
1 回答
571 浏览

android - Android NDK:子目录下的代码根本没有构建

在我的 Android NDK 项目中,我有以下结构:

在顶层Android.mk中,我将include $(call all-subdir-makefiles)其作为最后一行。我想现在所有的本地代码,包括那些在new-lib/下的代码都应该在 run 时构建ndk-build

但是当我ndk-build在项目根路径下运行命令时,只构建了顶级本机代码,根本没有构建subdir new-lib/中的本机代码。为什么?

0 投票
1 回答
49 浏览

makefile - Submakes 没有以不同的目标重新运行

我正在尝试获取一个顶级 makefile 来调用许多子文件夹中的 make 。顶层有几个目标,重要的部分如下所示:

现在,当我独立调用目标时,这可以正常工作:

但是,如果我在同一命令行上调用它们:

然后应用程序目标只是说什么都不做。我想这与在调用之间没有改变的目录的依赖有关,但我认为 .PHONY 命令可以避免这个问题......

我很高兴知道是否有更好的方法来处理这个问题。

谢谢,鲍勃