问题标签 [gnu-make]

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

makefile - 如何配置我的 makefile 以进行调试和发布版本?

我的项目有以下生成文件,我想将其配置为发布和调试版本。在我的代码中,我有很多#ifdef DEBUG宏,因此只需设置此宏并将-g3 -gdwarf2标志添加到编译器即可。我怎样才能做到这一点?

澄清一下,当我说发布/调试构建时,我希望能够只键入make并获取发布构建或make debug获取调试构建,而无需手动注释掉 makefile 中的内容。

0 投票
4 回答
82153 浏览

build - gmake 和 make 有什么区别?

我想了解“gmake”和“make”之间的区别?

在我的 linux 机器上,它们是相同的:

我猜这在所有平台上都不一样?有充分的理由使用其中一个吗?
为什么有这两个名字有什么历史意义吗?

0 投票
2 回答
1641 浏览

build-process - 当指定为对多个规则的依赖时重新执行目标

我有以下 GNU 生成文件:

我希望目标“d”运行两次——因为它被 b & c 指定为依赖项。不幸的是,目标“d”只会执行一次。运行 make 的输出将只是“HI”,而不是“HI HI”。

我怎样才能解决这个问题?

谢谢!

为了澄清,目标是这样的:

0 投票
2 回答
1183 浏览

build-process - 多个规则指定同一个假依赖,依赖只执行一次

我对下面的 GNU makefile 示例有疑问:

当我运行make时,我希望为每个指定目标'prepare'然后是目标'build'的子目录调用make。不幸的是,$(subdirs) 目标执行一次(使“准备”目标),但不会再次为“构建”目标执行。

似乎对于规则 x,make 确定需要运行 $(subdirs) 目标,但对于规则 y,$(subdirs) 目标是最新的。

有没有什么办法解决这一问题?

谢谢!

0 投票
2 回答
176 浏览

build-process - Win32 路径作为目标/依赖项

是否有可能拥有一个带有包含 win32 路径名的目标/依赖项的 GNU makefile?我目前正在使用 GNU make 的 win32 3.81 版本,驱动器号似乎有困难。例如:

上面的 makefile 片段会产生错误。特别是,以下:

这个问题有解决方案吗?

谢谢!

0 投票
1 回答
1255 浏览

recursion - 递归gmake问题

我需要编写一个快速生成文件来构建我的所有项目。这是 C++ 代码,我正在使用 gmake。

假设我有一个目录列表,我想 cd 到每个目录,发出 gmake 命令,如果成功,则转到下一个,依此类推。

我通过查看gmake 手册做了这个

它适用于“所有”目标 - 如果我只输入 gmake,它会做正确的事情。但是如果我做 gmake clean 它什么都不做。

我边走边学 gmake,所以我肯定在这里做一些愚蠢的事情:)

谢谢你的帮助。

0 投票
2 回答
16670 浏览

makefile - gmake 编译目录中的所有文件

我们有一些 C++ 代码,我们需要在其中创建一个 make 文件。每个 .h 和 .C 对创建一个对象,然后将一些对象链接在一起形成一个可执行文件。很标准的东西。

这个非 gnu make 命令只是将所有文件构建到目录中的对象中

这样做是为每个 %.C 文件(即每个 .C 文件)构建一个相应的 .o 文件。

有人知道如何用 gmake 做到这一点吗?

干杯

标记

0 投票
5 回答
8462 浏览

makefile - 使用 GNU Make 输出平面对象文件目录结构

我有一个使用 GNU Make 的 C++ 小项目。我希望能够打开以下源文件:

进入以下输出结构(此时我不关心重复):

到目前为止,我有以下内容,不幸的是,它把 .o 和 .d 放在每个 .cpp 旁边:

我知道 $(notdir ...) 函数,但此时我使用它来过滤对象的努力失败了。任何人都可以对此有所了解吗?这似乎是相当合理的事情。

0 投票
2 回答
2340 浏览

makefile - GNU Make 和通配符 - 缺少文件

我有一个具有以下类型规则的 Makefile:

generate-images脚本不仅将 HTML 文件(至标准输出)写入当前目录,还将几个 .png 文件写入当前目录。这里的目标是将它们转换为 .gif。(不是真的,但这是一个例子)

如果我直接调用它,这将起作用。问题是:如果我从另一个依赖项的规则调用它foo.html,则通配符语句无法找到任何文件。换句话说,它只是make在没有参数的情况下调用,这不是我想要的。

通配符是怎么回事?或者,有没有更好的方法来做到这一点?

0 投票
2 回答
1344 浏览

build-process - 并行 make 使用的平均负载代表什么?

在 Windows 上使用 GNU make,负载平均值究竟代表什么?

例如:

2.5是什么意思?