8.6. 使用 `SUB_FILES` 和 `SUB_LIST`
上一页 | 第 8 章 `pkg-`*`` 文件 | 下一页

## 8.6. 使用 `SUB_FILES` 和 `SUB_LIST`

`SUB_FILES` 和 `SUB_LIST` 这两个变量可以用来在 port 文件中使用某些动态的值， 例如 `pkg-message` 中的 installation `PREFIX`。

用 `SUB_FILES` 变量， 可以指定需要自动进行修改的文件列表。 在 `SUB_FILES` 中的每一个 `文件`， 在 `FILESDIR` 目录中都必须有一个对应的 ``文件`.in`。 修改后的版本将保存在 `WRKDIR`。 在 `USE_RC_SUBR` (或已经过时的 `USE_RCORDER`) 中定义的文件会自动加入到 `SUB_FILES` 中。 对于 `pkg-message`、 `pkg-install`、 `pkg-deinstall` and `pkg-req`， 对应的 Makefile 变量会被自动设置， 以指向处理过的版本。

`SUB_LIST` 这个变量的内容是一系列 `VAR=VALUE` 对。 `SUB_FILES` 所列出的文件中所有的 `%%VAR%%` 都将被替换为 `VALUE`。 系统自动定义了一些常用的替换对， 包括： `PREFIX`、 `LOCALBASE`、 `DATADIR`、 `DOCSDIR`， 以及 `EXAMPLESDIR`。 替换结果中所有以 `@comment` 开头的行， 都将在变量替换之后被删去。

下面的例子中， 将把 `pkg-message` 中的 `%%ARCH%%` 替换为系统所运行的架构名称：

SUB_FILES= pkg-message SUB_LIST= ARCH=${ARCH}

注意， 在上述例子中， `FILESDIR` 里必须有 `pkg-message.in` 这个文件。

下面是一个正确的 `pkg-message.in` 例子：

Now it is time to configure this package. Copy %%PREFIX%%/share/examples/putsy/%%ARCH%%.conf into your home directory as .putsy.conf and edit it.

上一页 | 上一级 | 下一页
8.5. 改变 `pkg-`*`` 文件的名字 | 起始页 | 第 9 章 测试您的 port

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

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