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