--- title: 第 2 章 自行制作新 port prev: books/porters-handbook/why-port next: books/porters-handbook/quick-porting showBookMenu: true weight: 2 params: path: "/books/porters-handbook/own-port/" --- [[own-port]] = 自行制作新 port :doctype: book :toc: macro :toclevels: 1 :icons: font :sectnums: :sectnumlevels: 6 :sectnumoffset: 2 :partnums: :source-highlighter: rouge :experimental: :images-path: books/porters-handbook/ ifdef::env-beastie[] ifdef::backend-html5[] :imagesdir: ../../../../images/{images-path} endif::[] ifndef::book[] include::shared/authors.adoc[] include::shared/mirrors.adoc[] include::shared/releases.adoc[] include::shared/attributes/attributes-{{% lang %}}.adoc[] include::shared/{{% lang %}}/teams.adoc[] include::shared/{{% lang %}}/mailing-lists.adoc[] include::shared/{{% lang %}}/urls.adoc[] toc::[] endif::[] ifdef::backend-pdf,backend-epub3[] include::../../../../../shared/asciidoctor.adoc[] endif::[] endif::[] ifndef::env-beastie[] toc::[] include::../../../../../shared/asciidoctor.adoc[] endif::[] 那么, 您有兴趣创建自己的 port 或升级现有的 port? 太好了。 下面的内容将会提供一些创建FreeBSD port的指导。 如果想升级一个现有的 port, 那么您应该在看完这些内容并阅读 crossref:port-upgrading[port-upgrading,升级一个 port]。 因为这份文档不是十分详细, 您还应该再参考一下 [.filename]#/usr/ports/Mk/bsd.port.mk#, 所有 port 的 Makefile 文件都会包含它。 即使不是每天都去摆弄 Makefile, 您也会从那个文件里面获得很多知识, 里面的注释非常详细。 还有要补充一下,如果您有其它的问题, 可以给link:{freebsd-ports} 这个 mailing list 发信。 [NOTE] ==== 在这份文档里提到的大部分的变量 (`_VAR_`) 是不能修改的。 大多 (但不是全部) 都在 [.filename]#/usr/ports/Mk/bsd.port.mk# 的开始部分进行了介绍; 其它一些也应该可以在那里找到。 注意这些文件使用了非标准的制表符: Emacs 和 Vim 应该能在打开文件的时候自动识别它, 而 man:vi[1] 和 man:ex[1] 则需要在打开文件的时候通过 `:set tabstop=4` 来修正默认的设置。 ==== 想练练手吗? 请参阅我们的 http://wiki.freebsd.org/WantedPorts[希望移植的软件列表] 来看看您是否有兴趣完成其中的任务。