> For the complete documentation index, see [llms.txt](https://book.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://book.bsdcn.org/porters-handbook/di-10-zhang-ce-shi-port/10.1.-yun-hang-make-describe.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
