FreeBSD Porter 手册
上一页 | 第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

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

若您有关于 FreeBSD ports 系统的问题， 请发送电子邮件至 <ports@FreeBSD.org>。
关于此文档的任何问题， 请致函 <doc@FreeBSD.org>。