12.10. 遵循 `CFLAGS`
上一页 | 第 12 章 该做什么和不该做什么 | 下一页

## 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

上一页 | 上一级 | 下一页
12.9. 遵循 `CC` 和 `CXX` 设置 | 起始页 | 12.11. 线程库

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

如果对于FreeBSD有问题，请先阅读 文档，如不能解决再联系 <questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.