gpt4 book ai didi

makefile - gnu make、microsoft nmake 和 posix standard make 有何相似/不同?

转载 作者:行者123 更新时间:2023-12-03 01:11:43 26 4
gpt4 key购买 nike

gnu make、microsoft nmake 和 posix standard make 有何相似/不同?

显然有诸如“哪个操作系统?”、“哪个编译器?”之类的问题。和“哪个链接器?”,但我特指的是 makefile 本身的语法、语义和命令行选项。

如果我根据 gnu make 手册编写 makefile,我需要注意的最重要的可移植性问题是什么?

最佳答案

GNU Make 和 POSIX Make 共享一个共同的核心,因此 GNU Make 可以理解用于 POSIX Make 的 makefile 并以相同的方式解释它们 - 除了极少数异常(exception)。然而,许多 GNU Makefile 使用仅在 GNU Make 中可用的功能。有时这是故意的、有意识的;有时则是故意的。有时不是(“有时不是”是一个问题)。我对 Microsoft nmake 不太熟悉;我相信它的核心很可能接近 POSIX Make 语义,但它会有自己不同的扩展集。

一般来说,像 autoconf 这样的程序生成的内容与可移植的 Makefile 很接近。

使用 GNU Make 时需要注意的主要事情是将文件名(宏)映射到有用值的所有扩展函数符号。虽然它们无疑很有用,但它们也是可移植性的陷阱。

后缀规则的“%.x”表示法未由 make 的 POSIX 规范定义。 - 它们被认为是通用扩展:

The interpretation of targets containing the characters '%' and '"' is implementation-defined.

关于makefile - gnu make、microsoft nmake 和 posix standard make 有何相似/不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2278151/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com