5.15.特殊的工作目录

每个 port 都被解压缩到一个工作目录中, 这个目录必须是可写的。ports 系统默认将 DISTFILES 解压缩到名为 ${DISTNAME} 的目录中。换句话说, 如果 Makefile 中有:

PORTNAME=	foo
DISTVERSION=	1.0

那么这个 port 的发行文件就包含一个顶级目录, 即 foo-1.0, 其余的文件都位于这个目录之下。

如果不是这样,一些变量可以被重写。

5.15.1. WRKSRC

这个变量列出了应用程序的 distfiles 被解压时创建的目录的名称。如果我们前面的例子解压到一个叫 foo(而不是 foo-1.0 )的目录中,写:

WRKSRC=	${WRKDIR}/foo

或可能

WRKSRC=	${WRKDIR}/${PORTNAME}

5.15.2. WRKSRC_SUBDIR

如果移植所需的源文件在解压缩的发行文件的子目录中, 则应将 WRKSRC_SUBDIR 设为该目录。

WRKSRC_SUBDIR=	src

5.15.3. NO_WRKSUBDIR

如果 port 根本没有解压到子目录中, 则应设置 NO_WRKSUBDIR 来表示。

NO_WRKSUBDIR=	yes

注意

因为 WRKDIR 是唯一一个在联编过程中应该可以写入的目录, 它被用来存储许多记录联编状态的文件, 所以 port 的解压将被强制放入一个子目录。

最后更新于

FreeBSD 中文社区