每个port都提取到一个必须可写的工作目录中。ports系统默认将 DISTFILES 解压到一个名为 ${DISTNAME} 的目录中。换句话说,如果 Makefile 有:
然后port的分发文件包含一个顶层目录 foo-1.0,其余文件位于该目录下。
如果不是这种情况,可以覆盖许多变量。
WRKSRC
该变量列出了应用程序的 distfiles 解压缩时创建的目录的名称。如果我们之前的示例解压缩到一个名为 foo(而不是 foo-1.0)的目录中,请写:
或者可能
WRKSRC_SUBDIR
如果用于port的源文件位于提取的分发文件的子目录中,请将 WRKSRC_SUBDIR 设置为该目录。
NO_WRKSUBDIR
如果port根本不提取到任何子目录中,则将 NO_WRKSUBDIR 设置为表示这一点。