问题标签 [bmake]

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

makefile - 如何正确链接库与 FreeBSD bmake?

背景

我想编译一个带有一些库和头文件的小程序,/usr/local/lib并且/usr/local/include(我从端口安装它们)。

我正在使用默认的 FreeBSD make(1)(恰好是下面的 bmake(1))。

生成文件

到目前为止,我的 Makefile 看起来像这样:

问题

有更好的方法吗?我确信这CFLAGS+= -I/usr/local/include -L/usr/local/lib已经被某些人自动化了,bsd.*.mk但我找不到它。我试过包括<bsd.lib.mk>但无济于事。

参考

0 投票
1 回答
81 浏览

makefile - 用于构建库的旧 Makefile 不再适用于 FreeBSD

最近没怎么做C编程,最近重温了一个老项目,发现在FreeBSD下建库的老Makefile已经不行了。这是过去可以工作的 Makefile 的简化版本:

这是一个简单的 C 程序:

它看起来像 Makefile 指令依赖项:

不再工作。结果是:

我一直在细读“人造”,但没有成功。

令我困惑的一件事是,'man make' 说“有关 make 和 makefile 的更详尽描述,请参阅 PMake - A Tutorial。”

这是准确的吗?我的印象是在最近的 FreeBSD 版本中 pmake 被 bsdmake 取代 - 这是我问题的根源吗?

注意:我对归结为“您可以使用 GNU make 做到这一点”的答案不感兴趣 - 这是 FreeBSD make 的问题。

0 投票
1 回答
220 浏览

makefile - 从 FreeBSD makefile 中的 CFLAGS 中删除一个标志

在 GNU makefile 中,可以使用 filter-out 从 CFLAG 中删除标志,如下所示:

但是,我不能让它与 FreeBSD makefile 一起工作。

FreeBSD 是否支持过滤?否则,我该怎么做才能从 makefile 中的 CFLAGS 中删除特定标志?