12.10. 遵循 CFLAGS

您的 port 应遵循 CFLAGS 变量的设置。 这也就是说, port 不应使用绝对的方式来设置这个变量的值, 而罔顾已经存在的设置; 与此相反, 它应该在其值后加入需要的其它值, 这样, 就可以设置全局的联编选项, 令其影响所有的 port 联编过程了。

如果实在无法这样做, 请在 Makefile 中加入 NO_PACKAGE=ignores cflags

下面的 Makefile 例子, 可以帮助我们理解如何遵循 CFLAGS 的设置。 注意所用的 +=

CFLAGS+= -Wall -Werror

下面是一个未能遵循 CFLAGS 设置的例子:

CFLAGS= -Wall -Werror

一般来说, CFLAGS 在 FreeBSD 系统中是在 /etc/make.conf 里配置的。 第一个例子在 CFLAGS 变量中增加了一些参数, 并保持了所有系统预定义的标志。 而第二个例子, 则会覆盖掉任何先前定义的参数。

您应从第三方软件的 Makefile 中去掉特殊的优化设置。 系统的 CFLAGS 给出了全系统范围内的优化设置参数。 下面是一个未经修改的 Makefile 实例:

CFLAGS= -O3 -funroll-loops -DHAVE_SOUND

如果使用系统的优化参数, 则 Makefile 中的设置应该类似下面这样:

CFLAGS+= -DHAVE_SOUND

本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.