# 5.1.原始来源

配置 **Makefile** 非常简单，再次建议在开始之前查看现有的示例。此外，本手册中有个 [示例 Makefile](https://docs.freebsd.org/en/books/porters-handbook/porting-samplem/#porting-samplem)，请查看并遵循该模板中的变量和部分的顺序，以便其他人更容易阅读 Port。

在设计新的 **Makefile** 时，请按顺序考虑以下问题：

***

它是否以类似 **foozolix-1.2.tar.gz** 的标准 `gzip` 压缩 tarball 存储在 `DISTDIR` 中？如果是，继续下一步。如果不是，分发文件格式可能需要覆盖 `DISTVERSION`、`DISTNAME`、`EXTRACT_CMD`、`EXTRACT_BEFORE_ARGS`、`EXTRACT_AFTER_ARGS`、`EXTRACT_SUFX` 或 `DISTFILES` 中的一个或多个。

在最坏的情况下，可以创建自定义的 `do-extract` 目标来覆盖默认设置。但这种情况很少发生，几乎不需要。
