---
title: 章 2. 製作新的 Port
prev: books/porters-handbook/porting-why
next: books/porters-handbook/quick-porting
---

[[own-port]]
= 製作新的 Port
:doctype: book
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:source-highlighter: rouge
:experimental:
:skip-front-matter:
:toc-title: 目录
:part-signifier: 部分
:chapter-signifier: 第
:appendix-caption: 附录
:table-caption: 表
:figure-caption: 图
:example-caption: 例 
:xrefstyle: basic
:relfileprefix: ../
:outfilesuffix:
:sectnumoffset: 2

include::shared/mirrors.adoc[]
include::shared/authors.adoc[]
include::shared/releases.adoc[]
include::shared/zh-tw/mailing-lists.adoc[]
include::shared/zh-tw/urls.adoc[]

toc::[]

開始對製作新的 port 或更新現有 port 有一些興趣了嗎？太好囉！

下面將介紹一些建立 port 時該注意的事項。如果是想升級現有的 port ，那麼也請參閱 <<port-upgrading>> 說明。

因為這份文件可能講得不是十分詳細，可能需要參考 [.filename]#/usr/ports/Mk/bsd.port.mk# 這檔是所有 port 的 [.filename]#Makefile# 檔都會用到的。就算你不是每天不斷 hacking [.filename]#Makefile#，也可以也可以從中獲得很多相關知識。 此外，若有其他特定 port 的問題，也可以到 http://lists.FreeBSD.org/mailman/listinfo/freebsd-ports[FreeBSD ports mailing list] 來獲得答案。

[NOTE]
====
本文內所提及的環境變數 (`_VAR_`)部份， 只有一些可以替換(overridden)。大部份的環境變數(非全部)通常都會寫在 [.filename]#/usr/ports/Mk/bsd.port.mk# 內，其他的也是差不多。 請注意：該檔並非使用一般的 tab 設定值，而是採用 1 個 tab 等於 4 個 space。 Emacs 與 Vim 應該都會在載入該檔時順便讀取相關設定值。 man:vi[1] 及 man:ex[1] 這兩個程式也都可以打 `:set tabstop=4` 以修改設定值。
====

想要找簡單的開始上手嗎？ 到 http://wiki.freebsd.org/WantedPorts[請求協助的 ports 清單] 瞧瞧，看看是否有你可以幫上忙的。
