If your port needs to build slightly different versions of
packages by having a variable (for instance, resolution, or paper
size) take different values, create one subdirectory per package to
make it easier for users to see what to do, but try to share as many
files as possible between ports. Typically you only need a very short
Makefile
in all but one of the directories if you
use variables cleverly. In the sole Makefile
,
you can use MASTERDIR
to specify the directory
where the rest of the files are. Also, use a variable as part of
PKGNAMESUFFIX
so
the packages will have different names.
This will be best demonstrated by an example. This is part of
japanese/xdvi300/Makefile
;
japanese/xdvi300
also has all the regular
patches, package files, etc. If you type make
there, it will take the default value for the resolution (300) and
build the port normally.
As for other resolutions, this is the entire
xdvi118/Makefile
:
(xdvi240/Makefile
and
xdvi400/Makefile
are similar). The
MASTERDIR
definition tells
bsd.port.mk
that the regular set of
subdirectories like FILESDIR
and
SCRIPTDIR
are to be found under
xdvi300
. The RESOLUTION=118
line will override the RESOLUTION=300
line in
xdvi300/Makefile
and the port will be built with
resolution set to 118.
本文及其他文件,可由此下載: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。
若有 FreeBSD 方面疑問,請先閱讀
FreeBSD 相關文件,如不能解決的話,再洽詢
<questions@FreeBSD.org>。
關於本文件的問題,請洽詢
<doc@FreeBSD.org>。