问题标签 [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.
makefile - 自动创建 .OBJDIR 子目录
操作系统:FreeBSD 11.0-RELEASE
我有以下目录结构:
makefile的内容如下:
我建公寓没问题:
但是,当我尝试深入构建时,它失败了:
如果我然后/xxx/obj/src
手动创建它会成功:
根据这个来源, bmake(又名 bsdmake?)支持自动创建源外 OBJDIR,但我不知道具体如何。
在一般情况下,如何配置 bmake 以自动创建相关目录?
makefile - GNU Make:chdir make 进程本身
是否可以使用将生成过程本身引导到的生成文件chdir
?我想编写一个期望从构建目录执行的生成文件。
假设我有一个看起来像这样的项目目录结构
make 目录做的第一件事就是创建一个构建目录。
是否可以将生成文件定向chdir
到_build
以简化我的规则?
我希望能够写作(例如)
而不是
我知道我可以将构建目录添加到VPATH
以影响路径解析,但仅 chdir Make 本身似乎更干净。有没有办法做到这一点(最好不使用诡计)?
makefile - 如何有条件地为 Makefile(BSD + GNU)中的变量赋值?
我有一个(从我的角度来看)相当复杂的 Makefile。
这主要是因为我想要那里的颜色和其他不必要的东西。
无论如何,我可以直接进入我的问题:
除了 Linux 我新支持 *BSD,因此我需要在几个地方检查正在使用的平台。在 Makefile 中是否可以进行条件变量赋值?就像是:
当然这不起作用,但希望你明白我的意思。
我需要一个适用于 BSDmake
和 GNU的解决方案make
。
makefile - BSD Make 替换在规则 $(objdir)/%o 中失败:%c
我正在尝试编写一个可移植的 BSD 和 GNU Makefile,它可以进行源外构建和自动先决条件。GNU Make 工作正常,但 BSD Make 不行。
这是输出:
我的猜测是 BSD Make 不理解路径中的替换(这是正确的术语吗?)$(OBJDIR)/%.o: %.c
,因为bmake OBJDIR=.
工作正常。如果是这样,我如何编写一个实现相同功能的简单、可移植的 Makefile?
测试示例。
谢谢!
makefile - 传递要在 MAKEFLAGS 中扩展的变量
给定一个像下面这样的 Makefile,我该如何设置FOOBAR
usingfoo /home/scott
的值$MAKEFLAGS
?
我知道我能做到
这很好用
有趣的是,这不太好用
我的目标是这样的,但尽我所能,我无法实现
的实际输出是
如何在$MAKEFLAGS
覆盖中使用要替换的变量?
(POSIX 标准解决方案是首选,但 GNU-only 解决方案也可以。)
(为什么我需要这个?我想覆盖 Python 使用的一个变量,我正在使用 pyenv 的 python-build 构建它。我发现 python-build 暴露$MAKE_OPTS
了它,但现在我很好奇为什么我以前的尝试有失败的。)
makefile - :C 冒号-C 在 FreeBSD 中是什么意思?
我的公司使用 FreeBSD,因此使用了 FreeBSD 的 make 风格。
我们的一些内部端口包括类似这样的内容(其中 BRANCH 是来自 SVN URL 的内容,“主干”或分支名称,如“分支/1.2.3”)。
变量修饰符部分将冒号-c 修饰符make(1)
记录为:C
我在看正确的文档吗?^branches/
对我来说看起来像一个正则表达式模式,但它看起来像实际代码使用,
而不是/
作为分隔符。我是否跳过了解释这一点的文档?