# 10.1.运行 make describe

FreeBSD 的一些 Port 维护工具，例如 [portupgrade(1)](https://man.freebsd.org/cgi/man.cgi?query=portupgrade\&sektion=1\&format=html)，依赖于一个名为 **/usr/ports/INDEX** 的数据库，该数据库跟踪诸如 Port 依赖关系等信息。**INDEX** 是通过顶层的 **ports/Makefile** 使用 `make index` 命令生成的，它会进入每个 Port 子目录并在那里执行 `make describe`。因此，如果 `make describe` 在任何 Port 中失败，就无法生成 **INDEX**，这会导致许多人很快变得不快。

> **注意**
>
> 能够生成此文件非常重要，无论 **make.conf** 中设置了哪些选项，因此请避免在某些情况下使用 `.error` 语句（例如，当某个依赖项未满足时）。(参见 [Avoid Use of the `.error` Construct](https://docs.freebsd.org/en/books/porters-handbook/porting-dads/#dads-dot-error)。)

如果 `make describe` 输出一个字符串而不是错误信息，通常意味着一切正常。具体字符串的含义可以参考 **bsd.port.mk**。

还要注意，运行较新的 `portlint`（如下一节所述）将自动触发 `make describe` 的执行。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://porters-handbook.bsdcn.org/di-10-zhang-ce-shi-port/10.1.-yun-hang-make-describe.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
