问题标签 [bsdmake]

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 回答
1093 浏览

makefile - 自动创建 .OBJDIR 子目录

操作系统:FreeBSD 11.0-RELEASE

我有以下目录结构:

makefile的内容如下:

我建公寓没问题:

但是,当我尝试深入构建时,它失败了:

如果我然后/xxx/obj/src手动创建它会成功:

根据这个来源, bmake(又名 bsdmake?)支持自动创建源外 OBJDIR,但我不知道具体如何。

在一般情况下,如何配置 bmake 以自动创建相关目录?

0 投票
2 回答
204 浏览

makefile - GNU Make:chdir make 进程本身

是否可以使用将生成过程本身引导到的生成文件chdir?我想编写一个期望从构建目录执行的生成文件。

假设我有一个看起来像这样的项目目录结构

make 目录做的第一件事就是创建一个构建目录。

是否可以将生成文件定向chdir_build以简化我的规则?

我希望能够写作(例如)

而不是

我知道我可以将构建目录添加到VPATH以影响路径解析,但仅 chdir Make 本身似乎更干净。有没有办法做到这一点(最好不使用诡计)?

0 投票
2 回答
6384 浏览

makefile - 如何有条件地为 Makefile(BSD + GNU)中的变量赋值?

我有一个(从我的角度来看)相当复杂的 Makefile。

这主要是因为我想要那里的颜色和其他不必要的东西。

无论如何,我可以直接进入我的问题:

除了 Linux 我新支持 *BSD,因此我需要在几个地方检查正在使用的平台。在 Makefile 中是否可以进行条件变量赋值?就像是:


当然这不起作用,但希望你明白我的意思。


我需要一个适用于 BSDmake和 GNU的解决方案make

0 投票
0 回答
99 浏览

makefile - BSD Make 替换在规则 $(objdir)/%o 中失败:%c

我正在尝试编写一个可移植的 BSD 和 GNU Makefile,它可以进行源外构建和自动先决条件。GNU Make 工作正常,但 BSD Make 不行。

这是输出:

我的猜测是 BSD Make 不理解路径中的替换(这是正确的术语吗?)$(OBJDIR)/%.o: %.c,因为bmake OBJDIR=.工作正常。如果是这样,我如何编写一个实现相同功能的简单、可移植的 Makefile?

测试示例

谢谢!

0 投票
1 回答
52 浏览

makefile - 传递要在 MAKEFLAGS 中扩展的变量

给定一个像下面这样的 Makefile,我该如何设置FOOBARusingfoo /home/scott的值$MAKEFLAGS

我知道我能做到

这很好用

有趣的是,这不太好用

我的目标是这样的,但尽我所能,我无法实现

的实际输出是

如何在$MAKEFLAGS覆盖中使用要替换的变量?

(POSIX 标准解决方案是首选,但 GNU-only 解决方案也可以。)

(为什么我需要这个?我想覆盖 Python 使用的一个变量,我正在使用 pyenv 的 python-build 构建它。我发现 python-build 暴露$MAKE_OPTS了它,但现在我很好奇为什么我以前的尝试有失败的。)

0 投票
1 回答
28 浏览

makefile - :C 冒号-C 在 FreeBSD 中是什么意思?

我的公司使用 FreeBSD,因此使用了 FreeBSD 的 make 风格。

我们的一些内部端口包括类似这样的内容(其中 BRANCH 是来自 SVN URL 的内容,“主干”或分支名称,如“分支/1.2.3”)。

变量修饰符部分将冒号-c 修饰符make(1)记录为:C

我在看正确的文档吗?^branches/对我来说看起来像一个正则表达式模式,但它看起来像实际代码使用,而不是/作为分隔符。我是否跳过了解释这一点的文档?