``<filename>'' offset some Makefiles.
This commit is contained in:
parent
966f601447
commit
d91065e4a4
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=6108
4 changed files with 112 additions and 88 deletions
|
@ -1,7 +1,7 @@
|
|||
<!--
|
||||
The FreeBSD Documentation Project
|
||||
|
||||
$FreeBSD: doc/en_US.ISO_8859-1/books/handbook/ports/chapter.sgml,v 1.62 1999/11/24 17:38:11 obrien Exp $
|
||||
$FreeBSD$
|
||||
-->
|
||||
|
||||
<chapter id="ports">
|
||||
|
@ -85,7 +85,8 @@
|
|||
<title>How Does the Ports Collection Work?</title>
|
||||
|
||||
<para>Programs are typically distributed on the Internet as a <link
|
||||
linkend="ports-tarball">tarball</link> consisting of a Makefile and
|
||||
linkend="ports-tarball">tarball</link> consisting of a
|
||||
<filename>Makefile</filename> and
|
||||
the source code for the program and usually some instructions (which are
|
||||
unfortunately not always as instructive as they could be), with perhaps
|
||||
a configuration script.</para>
|
||||
|
@ -352,7 +353,8 @@ password. Remember to use binary (also known as image) mode!]
|
|||
<sect2 id="ports-makefile">
|
||||
<title><filename>Makefile</filename></title>
|
||||
|
||||
<para>The most important component of a skeleton is the Makefile. This
|
||||
<para>The most important component of a skeleton is the
|
||||
<filename>Makefile</filename>. This
|
||||
contains various statements that specify how the port should be
|
||||
compiled and installed. Here is the Makefile for
|
||||
ElectricFence:</para>
|
||||
|
@ -837,9 +839,9 @@ do-install:
|
|||
<para>or by editing <filename>/etc/make.conf</filename>, but
|
||||
unfortunately not all ports respect this. The surest way is to do
|
||||
<command>make configure</command>, then go into the source directory
|
||||
and inspect the Makefiles by hand, but this can get tedious if the
|
||||
source has lots of sub-directories, each with their own
|
||||
Makefiles.</para>
|
||||
and inspect the <filename>Makefiles</filename> by hand, but this can
|
||||
get tedious if the source has lots of sub-directories, each with their
|
||||
own <filename>Makefile</filename>s.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -1389,8 +1391,8 @@ lib/X11/oneko/mouse.xpm
|
|||
<makevar>DISTDIR</makevar>. If <maketarget>fetch</maketarget>
|
||||
cannot find the required files in <makevar>DISTDIR</makevar> it
|
||||
will look up the URL <makevar>MASTER_SITES</makevar>, which is
|
||||
set in the Makefile, as well as our main ftp site at <ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/">ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</ulink>,
|
||||
set in the <filename>Makefile</filename>, as well as our main ftp
|
||||
site at <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/">ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</ulink>,
|
||||
where we put sanctioned distfiles as backup. It will then
|
||||
attempt to fetch the named distribution file with
|
||||
<makevar>FETCH</makevar>, assuming that the requesting site has
|
||||
|
@ -1460,7 +1462,7 @@ lib/X11/oneko/mouse.xpm
|
|||
actions are done.</para>
|
||||
|
||||
<para>For example, if you have a <maketarget>post-extract</maketarget>
|
||||
target defined in your Makefile, and a file
|
||||
target defined in your <filename>Makefile</filename>, and a file
|
||||
<filename>pre-build</filename> in the <filename>scripts</filename>
|
||||
subdirectory, the <maketarget>post-extract</maketarget> target will
|
||||
be called after the regular extraction actions, and the
|
||||
|
@ -1601,7 +1603,8 @@ lib/X11/oneko/mouse.xpm
|
|||
<title>Handling user input</title>
|
||||
|
||||
<para>If your port requires user input to build, configure or install,
|
||||
then set <makevar>IS_INTERACTIVE</makevar> in your Makefile. This
|
||||
then set <makevar>IS_INTERACTIVE</makevar> in your
|
||||
<filename>Makefile</filename>. This
|
||||
will allow “overnight builds” to skip your port if the
|
||||
user sets the variable <envar>BATCH</envar> in his environment (and
|
||||
if the user sets the variable <envar>INTERACTIVE</envar>, then
|
||||
|
@ -1617,9 +1620,10 @@ lib/X11/oneko/mouse.xpm
|
|||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Configuring the Makefile</title>
|
||||
<title>Configuring the <filename>Makefile</filename></title>
|
||||
|
||||
<para>Configuring the Makefile is pretty simple, and again we suggest
|
||||
<para>Configuring the <filename>Makefile</filename> is pretty simple,
|
||||
and again we suggest
|
||||
that you look at existing examples before starting. Also, there is a
|
||||
<link linkend="porting-samplem">sample Makefile</link> in this
|
||||
handbook, so take a look and please follow the ordering of variables
|
||||
|
@ -1627,7 +1631,7 @@ lib/X11/oneko/mouse.xpm
|
|||
read.</para>
|
||||
|
||||
<para>Now, consider the following problems in sequence as you design
|
||||
your new Makefile:</para>
|
||||
your new <filename>Makefile</filename>:</para>
|
||||
|
||||
<sect3>
|
||||
<title>The original source</title>
|
||||
|
@ -2214,7 +2218,8 @@ PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout</p
|
|||
<sect3>
|
||||
<title><makevar>LIB_DEPENDS</makevar></title>
|
||||
|
||||
<para>All port Makefiles are edited to remove minor numbers from
|
||||
<para>All port <filename>Makefile</filename>s are edited to remove minor
|
||||
numbers from
|
||||
<makevar>LIB_DEPENDS</makevar>, and also to have the regexp support
|
||||
removed. (E.g., <literal>foo\\.1\\.\\(33|40\\)</literal> becomes
|
||||
<literal>foo.2</literal>.) They will be matched using <command>grep
|
||||
|
@ -2245,8 +2250,8 @@ PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout</p
|
|||
<sect3>
|
||||
<title><literal>ldconfig</literal></title>
|
||||
|
||||
<para>The <literal>ldconfig</literal> line in Makefiles should
|
||||
read:</para>
|
||||
<para>The <literal>ldconfig</literal> line in
|
||||
<filename>Makefile</filename>s should read:</para>
|
||||
|
||||
<programlisting>
|
||||
${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....</programlisting>
|
||||
|
@ -2448,8 +2453,8 @@ ${PREFIX}/man/ja/man4/baz.4.gz</programlisting>
|
|||
<title><makevar>REQUIRES_MOTIF</makevar></title>
|
||||
|
||||
<para>If your port requires Motif, define this variable in the
|
||||
Makefile. This will prevent people who do not own a copy of Motif
|
||||
from even attempting to build it.</para>
|
||||
<filename>Makefile</filename>. This will prevent people who do not own
|
||||
a copy of Motif from even attempting to build it.</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
|
@ -2965,8 +2970,9 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
|
|||
please contact the &a.ports;.</para>
|
||||
</note>
|
||||
|
||||
<para>There are two variables you can set in the Makefile to handle the
|
||||
situations that arise frequently:</para>
|
||||
<para>There are two variables you can set in the
|
||||
<filename>Makefile</filename> to handle the situations that arise
|
||||
frequently:</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
|
@ -3085,7 +3091,7 @@ post-install:
|
|||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><makevar>INSTALL_PROGRAM</makevar> is a command to install
|
||||
binary executables.</para>
|
||||
binary executables (strips them in the process).</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -3757,7 +3763,7 @@ post-install:
|
|||
|
||||
<note>
|
||||
<para>This does not affect the <makevar>MASTER_SITES</makevar> you
|
||||
define in your Makefile.</para>
|
||||
define in your <filename>Makefile</filename>.</para>
|
||||
</note>
|
||||
</sect3>
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<!--
|
||||
The FreeBSD Documentation Project
|
||||
|
||||
$FreeBSD: doc/en_US.ISO_8859-1/books/handbook/ports/chapter.sgml,v 1.62 1999/11/24 17:38:11 obrien Exp $
|
||||
$FreeBSD$
|
||||
-->
|
||||
|
||||
<chapter id="ports">
|
||||
|
@ -85,7 +85,8 @@
|
|||
<title>How Does the Ports Collection Work?</title>
|
||||
|
||||
<para>Programs are typically distributed on the Internet as a <link
|
||||
linkend="ports-tarball">tarball</link> consisting of a Makefile and
|
||||
linkend="ports-tarball">tarball</link> consisting of a
|
||||
<filename>Makefile</filename> and
|
||||
the source code for the program and usually some instructions (which are
|
||||
unfortunately not always as instructive as they could be), with perhaps
|
||||
a configuration script.</para>
|
||||
|
@ -352,7 +353,8 @@ password. Remember to use binary (also known as image) mode!]
|
|||
<sect2 id="ports-makefile">
|
||||
<title><filename>Makefile</filename></title>
|
||||
|
||||
<para>The most important component of a skeleton is the Makefile. This
|
||||
<para>The most important component of a skeleton is the
|
||||
<filename>Makefile</filename>. This
|
||||
contains various statements that specify how the port should be
|
||||
compiled and installed. Here is the Makefile for
|
||||
ElectricFence:</para>
|
||||
|
@ -837,9 +839,9 @@ do-install:
|
|||
<para>or by editing <filename>/etc/make.conf</filename>, but
|
||||
unfortunately not all ports respect this. The surest way is to do
|
||||
<command>make configure</command>, then go into the source directory
|
||||
and inspect the Makefiles by hand, but this can get tedious if the
|
||||
source has lots of sub-directories, each with their own
|
||||
Makefiles.</para>
|
||||
and inspect the <filename>Makefiles</filename> by hand, but this can
|
||||
get tedious if the source has lots of sub-directories, each with their
|
||||
own <filename>Makefile</filename>s.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -1389,8 +1391,8 @@ lib/X11/oneko/mouse.xpm
|
|||
<makevar>DISTDIR</makevar>. If <maketarget>fetch</maketarget>
|
||||
cannot find the required files in <makevar>DISTDIR</makevar> it
|
||||
will look up the URL <makevar>MASTER_SITES</makevar>, which is
|
||||
set in the Makefile, as well as our main ftp site at <ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/">ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</ulink>,
|
||||
set in the <filename>Makefile</filename>, as well as our main ftp
|
||||
site at <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/">ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</ulink>,
|
||||
where we put sanctioned distfiles as backup. It will then
|
||||
attempt to fetch the named distribution file with
|
||||
<makevar>FETCH</makevar>, assuming that the requesting site has
|
||||
|
@ -1460,7 +1462,7 @@ lib/X11/oneko/mouse.xpm
|
|||
actions are done.</para>
|
||||
|
||||
<para>For example, if you have a <maketarget>post-extract</maketarget>
|
||||
target defined in your Makefile, and a file
|
||||
target defined in your <filename>Makefile</filename>, and a file
|
||||
<filename>pre-build</filename> in the <filename>scripts</filename>
|
||||
subdirectory, the <maketarget>post-extract</maketarget> target will
|
||||
be called after the regular extraction actions, and the
|
||||
|
@ -1601,7 +1603,8 @@ lib/X11/oneko/mouse.xpm
|
|||
<title>Handling user input</title>
|
||||
|
||||
<para>If your port requires user input to build, configure or install,
|
||||
then set <makevar>IS_INTERACTIVE</makevar> in your Makefile. This
|
||||
then set <makevar>IS_INTERACTIVE</makevar> in your
|
||||
<filename>Makefile</filename>. This
|
||||
will allow “overnight builds” to skip your port if the
|
||||
user sets the variable <envar>BATCH</envar> in his environment (and
|
||||
if the user sets the variable <envar>INTERACTIVE</envar>, then
|
||||
|
@ -1617,9 +1620,10 @@ lib/X11/oneko/mouse.xpm
|
|||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Configuring the Makefile</title>
|
||||
<title>Configuring the <filename>Makefile</filename></title>
|
||||
|
||||
<para>Configuring the Makefile is pretty simple, and again we suggest
|
||||
<para>Configuring the <filename>Makefile</filename> is pretty simple,
|
||||
and again we suggest
|
||||
that you look at existing examples before starting. Also, there is a
|
||||
<link linkend="porting-samplem">sample Makefile</link> in this
|
||||
handbook, so take a look and please follow the ordering of variables
|
||||
|
@ -1627,7 +1631,7 @@ lib/X11/oneko/mouse.xpm
|
|||
read.</para>
|
||||
|
||||
<para>Now, consider the following problems in sequence as you design
|
||||
your new Makefile:</para>
|
||||
your new <filename>Makefile</filename>:</para>
|
||||
|
||||
<sect3>
|
||||
<title>The original source</title>
|
||||
|
@ -2214,7 +2218,8 @@ PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout</p
|
|||
<sect3>
|
||||
<title><makevar>LIB_DEPENDS</makevar></title>
|
||||
|
||||
<para>All port Makefiles are edited to remove minor numbers from
|
||||
<para>All port <filename>Makefile</filename>s are edited to remove minor
|
||||
numbers from
|
||||
<makevar>LIB_DEPENDS</makevar>, and also to have the regexp support
|
||||
removed. (E.g., <literal>foo\\.1\\.\\(33|40\\)</literal> becomes
|
||||
<literal>foo.2</literal>.) They will be matched using <command>grep
|
||||
|
@ -2245,8 +2250,8 @@ PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout</p
|
|||
<sect3>
|
||||
<title><literal>ldconfig</literal></title>
|
||||
|
||||
<para>The <literal>ldconfig</literal> line in Makefiles should
|
||||
read:</para>
|
||||
<para>The <literal>ldconfig</literal> line in
|
||||
<filename>Makefile</filename>s should read:</para>
|
||||
|
||||
<programlisting>
|
||||
${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....</programlisting>
|
||||
|
@ -2448,8 +2453,8 @@ ${PREFIX}/man/ja/man4/baz.4.gz</programlisting>
|
|||
<title><makevar>REQUIRES_MOTIF</makevar></title>
|
||||
|
||||
<para>If your port requires Motif, define this variable in the
|
||||
Makefile. This will prevent people who do not own a copy of Motif
|
||||
from even attempting to build it.</para>
|
||||
<filename>Makefile</filename>. This will prevent people who do not own
|
||||
a copy of Motif from even attempting to build it.</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
|
@ -2965,8 +2970,9 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
|
|||
please contact the &a.ports;.</para>
|
||||
</note>
|
||||
|
||||
<para>There are two variables you can set in the Makefile to handle the
|
||||
situations that arise frequently:</para>
|
||||
<para>There are two variables you can set in the
|
||||
<filename>Makefile</filename> to handle the situations that arise
|
||||
frequently:</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
|
@ -3085,7 +3091,7 @@ post-install:
|
|||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><makevar>INSTALL_PROGRAM</makevar> is a command to install
|
||||
binary executables.</para>
|
||||
binary executables (strips them in the process).</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -3757,7 +3763,7 @@ post-install:
|
|||
|
||||
<note>
|
||||
<para>This does not affect the <makevar>MASTER_SITES</makevar> you
|
||||
define in your Makefile.</para>
|
||||
define in your <filename>Makefile</filename>.</para>
|
||||
</note>
|
||||
</sect3>
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<!--
|
||||
The FreeBSD Documentation Project
|
||||
|
||||
$FreeBSD: doc/en_US.ISO_8859-1/books/handbook/ports/chapter.sgml,v 1.62 1999/11/24 17:38:11 obrien Exp $
|
||||
$FreeBSD$
|
||||
-->
|
||||
|
||||
<chapter id="ports">
|
||||
|
@ -85,7 +85,8 @@
|
|||
<title>How Does the Ports Collection Work?</title>
|
||||
|
||||
<para>Programs are typically distributed on the Internet as a <link
|
||||
linkend="ports-tarball">tarball</link> consisting of a Makefile and
|
||||
linkend="ports-tarball">tarball</link> consisting of a
|
||||
<filename>Makefile</filename> and
|
||||
the source code for the program and usually some instructions (which are
|
||||
unfortunately not always as instructive as they could be), with perhaps
|
||||
a configuration script.</para>
|
||||
|
@ -352,7 +353,8 @@ password. Remember to use binary (also known as image) mode!]
|
|||
<sect2 id="ports-makefile">
|
||||
<title><filename>Makefile</filename></title>
|
||||
|
||||
<para>The most important component of a skeleton is the Makefile. This
|
||||
<para>The most important component of a skeleton is the
|
||||
<filename>Makefile</filename>. This
|
||||
contains various statements that specify how the port should be
|
||||
compiled and installed. Here is the Makefile for
|
||||
ElectricFence:</para>
|
||||
|
@ -837,9 +839,9 @@ do-install:
|
|||
<para>or by editing <filename>/etc/make.conf</filename>, but
|
||||
unfortunately not all ports respect this. The surest way is to do
|
||||
<command>make configure</command>, then go into the source directory
|
||||
and inspect the Makefiles by hand, but this can get tedious if the
|
||||
source has lots of sub-directories, each with their own
|
||||
Makefiles.</para>
|
||||
and inspect the <filename>Makefiles</filename> by hand, but this can
|
||||
get tedious if the source has lots of sub-directories, each with their
|
||||
own <filename>Makefile</filename>s.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -1389,8 +1391,8 @@ lib/X11/oneko/mouse.xpm
|
|||
<makevar>DISTDIR</makevar>. If <maketarget>fetch</maketarget>
|
||||
cannot find the required files in <makevar>DISTDIR</makevar> it
|
||||
will look up the URL <makevar>MASTER_SITES</makevar>, which is
|
||||
set in the Makefile, as well as our main ftp site at <ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/">ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</ulink>,
|
||||
set in the <filename>Makefile</filename>, as well as our main ftp
|
||||
site at <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/">ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</ulink>,
|
||||
where we put sanctioned distfiles as backup. It will then
|
||||
attempt to fetch the named distribution file with
|
||||
<makevar>FETCH</makevar>, assuming that the requesting site has
|
||||
|
@ -1460,7 +1462,7 @@ lib/X11/oneko/mouse.xpm
|
|||
actions are done.</para>
|
||||
|
||||
<para>For example, if you have a <maketarget>post-extract</maketarget>
|
||||
target defined in your Makefile, and a file
|
||||
target defined in your <filename>Makefile</filename>, and a file
|
||||
<filename>pre-build</filename> in the <filename>scripts</filename>
|
||||
subdirectory, the <maketarget>post-extract</maketarget> target will
|
||||
be called after the regular extraction actions, and the
|
||||
|
@ -1601,7 +1603,8 @@ lib/X11/oneko/mouse.xpm
|
|||
<title>Handling user input</title>
|
||||
|
||||
<para>If your port requires user input to build, configure or install,
|
||||
then set <makevar>IS_INTERACTIVE</makevar> in your Makefile. This
|
||||
then set <makevar>IS_INTERACTIVE</makevar> in your
|
||||
<filename>Makefile</filename>. This
|
||||
will allow “overnight builds” to skip your port if the
|
||||
user sets the variable <envar>BATCH</envar> in his environment (and
|
||||
if the user sets the variable <envar>INTERACTIVE</envar>, then
|
||||
|
@ -1617,9 +1620,10 @@ lib/X11/oneko/mouse.xpm
|
|||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Configuring the Makefile</title>
|
||||
<title>Configuring the <filename>Makefile</filename></title>
|
||||
|
||||
<para>Configuring the Makefile is pretty simple, and again we suggest
|
||||
<para>Configuring the <filename>Makefile</filename> is pretty simple,
|
||||
and again we suggest
|
||||
that you look at existing examples before starting. Also, there is a
|
||||
<link linkend="porting-samplem">sample Makefile</link> in this
|
||||
handbook, so take a look and please follow the ordering of variables
|
||||
|
@ -1627,7 +1631,7 @@ lib/X11/oneko/mouse.xpm
|
|||
read.</para>
|
||||
|
||||
<para>Now, consider the following problems in sequence as you design
|
||||
your new Makefile:</para>
|
||||
your new <filename>Makefile</filename>:</para>
|
||||
|
||||
<sect3>
|
||||
<title>The original source</title>
|
||||
|
@ -2214,7 +2218,8 @@ PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout</p
|
|||
<sect3>
|
||||
<title><makevar>LIB_DEPENDS</makevar></title>
|
||||
|
||||
<para>All port Makefiles are edited to remove minor numbers from
|
||||
<para>All port <filename>Makefile</filename>s are edited to remove minor
|
||||
numbers from
|
||||
<makevar>LIB_DEPENDS</makevar>, and also to have the regexp support
|
||||
removed. (E.g., <literal>foo\\.1\\.\\(33|40\\)</literal> becomes
|
||||
<literal>foo.2</literal>.) They will be matched using <command>grep
|
||||
|
@ -2245,8 +2250,8 @@ PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout</p
|
|||
<sect3>
|
||||
<title><literal>ldconfig</literal></title>
|
||||
|
||||
<para>The <literal>ldconfig</literal> line in Makefiles should
|
||||
read:</para>
|
||||
<para>The <literal>ldconfig</literal> line in
|
||||
<filename>Makefile</filename>s should read:</para>
|
||||
|
||||
<programlisting>
|
||||
${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....</programlisting>
|
||||
|
@ -2448,8 +2453,8 @@ ${PREFIX}/man/ja/man4/baz.4.gz</programlisting>
|
|||
<title><makevar>REQUIRES_MOTIF</makevar></title>
|
||||
|
||||
<para>If your port requires Motif, define this variable in the
|
||||
Makefile. This will prevent people who do not own a copy of Motif
|
||||
from even attempting to build it.</para>
|
||||
<filename>Makefile</filename>. This will prevent people who do not own
|
||||
a copy of Motif from even attempting to build it.</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
|
@ -2965,8 +2970,9 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
|
|||
please contact the &a.ports;.</para>
|
||||
</note>
|
||||
|
||||
<para>There are two variables you can set in the Makefile to handle the
|
||||
situations that arise frequently:</para>
|
||||
<para>There are two variables you can set in the
|
||||
<filename>Makefile</filename> to handle the situations that arise
|
||||
frequently:</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
|
@ -3085,7 +3091,7 @@ post-install:
|
|||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><makevar>INSTALL_PROGRAM</makevar> is a command to install
|
||||
binary executables.</para>
|
||||
binary executables (strips them in the process).</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -3757,7 +3763,7 @@ post-install:
|
|||
|
||||
<note>
|
||||
<para>This does not affect the <makevar>MASTER_SITES</makevar> you
|
||||
define in your Makefile.</para>
|
||||
define in your <filename>Makefile</filename>.</para>
|
||||
</note>
|
||||
</sect3>
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<!--
|
||||
The FreeBSD Documentation Project
|
||||
|
||||
$FreeBSD: doc/en_US.ISO_8859-1/books/handbook/ports/chapter.sgml,v 1.62 1999/11/24 17:38:11 obrien Exp $
|
||||
$FreeBSD$
|
||||
-->
|
||||
|
||||
<chapter id="ports">
|
||||
|
@ -85,7 +85,8 @@
|
|||
<title>How Does the Ports Collection Work?</title>
|
||||
|
||||
<para>Programs are typically distributed on the Internet as a <link
|
||||
linkend="ports-tarball">tarball</link> consisting of a Makefile and
|
||||
linkend="ports-tarball">tarball</link> consisting of a
|
||||
<filename>Makefile</filename> and
|
||||
the source code for the program and usually some instructions (which are
|
||||
unfortunately not always as instructive as they could be), with perhaps
|
||||
a configuration script.</para>
|
||||
|
@ -352,7 +353,8 @@ password. Remember to use binary (also known as image) mode!]
|
|||
<sect2 id="ports-makefile">
|
||||
<title><filename>Makefile</filename></title>
|
||||
|
||||
<para>The most important component of a skeleton is the Makefile. This
|
||||
<para>The most important component of a skeleton is the
|
||||
<filename>Makefile</filename>. This
|
||||
contains various statements that specify how the port should be
|
||||
compiled and installed. Here is the Makefile for
|
||||
ElectricFence:</para>
|
||||
|
@ -837,9 +839,9 @@ do-install:
|
|||
<para>or by editing <filename>/etc/make.conf</filename>, but
|
||||
unfortunately not all ports respect this. The surest way is to do
|
||||
<command>make configure</command>, then go into the source directory
|
||||
and inspect the Makefiles by hand, but this can get tedious if the
|
||||
source has lots of sub-directories, each with their own
|
||||
Makefiles.</para>
|
||||
and inspect the <filename>Makefiles</filename> by hand, but this can
|
||||
get tedious if the source has lots of sub-directories, each with their
|
||||
own <filename>Makefile</filename>s.</para>
|
||||
</answer>
|
||||
</qandaentry>
|
||||
|
||||
|
@ -1389,8 +1391,8 @@ lib/X11/oneko/mouse.xpm
|
|||
<makevar>DISTDIR</makevar>. If <maketarget>fetch</maketarget>
|
||||
cannot find the required files in <makevar>DISTDIR</makevar> it
|
||||
will look up the URL <makevar>MASTER_SITES</makevar>, which is
|
||||
set in the Makefile, as well as our main ftp site at <ulink
|
||||
url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/">ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</ulink>,
|
||||
set in the <filename>Makefile</filename>, as well as our main ftp
|
||||
site at <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/">ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</ulink>,
|
||||
where we put sanctioned distfiles as backup. It will then
|
||||
attempt to fetch the named distribution file with
|
||||
<makevar>FETCH</makevar>, assuming that the requesting site has
|
||||
|
@ -1460,7 +1462,7 @@ lib/X11/oneko/mouse.xpm
|
|||
actions are done.</para>
|
||||
|
||||
<para>For example, if you have a <maketarget>post-extract</maketarget>
|
||||
target defined in your Makefile, and a file
|
||||
target defined in your <filename>Makefile</filename>, and a file
|
||||
<filename>pre-build</filename> in the <filename>scripts</filename>
|
||||
subdirectory, the <maketarget>post-extract</maketarget> target will
|
||||
be called after the regular extraction actions, and the
|
||||
|
@ -1601,7 +1603,8 @@ lib/X11/oneko/mouse.xpm
|
|||
<title>Handling user input</title>
|
||||
|
||||
<para>If your port requires user input to build, configure or install,
|
||||
then set <makevar>IS_INTERACTIVE</makevar> in your Makefile. This
|
||||
then set <makevar>IS_INTERACTIVE</makevar> in your
|
||||
<filename>Makefile</filename>. This
|
||||
will allow “overnight builds” to skip your port if the
|
||||
user sets the variable <envar>BATCH</envar> in his environment (and
|
||||
if the user sets the variable <envar>INTERACTIVE</envar>, then
|
||||
|
@ -1617,9 +1620,10 @@ lib/X11/oneko/mouse.xpm
|
|||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Configuring the Makefile</title>
|
||||
<title>Configuring the <filename>Makefile</filename></title>
|
||||
|
||||
<para>Configuring the Makefile is pretty simple, and again we suggest
|
||||
<para>Configuring the <filename>Makefile</filename> is pretty simple,
|
||||
and again we suggest
|
||||
that you look at existing examples before starting. Also, there is a
|
||||
<link linkend="porting-samplem">sample Makefile</link> in this
|
||||
handbook, so take a look and please follow the ordering of variables
|
||||
|
@ -1627,7 +1631,7 @@ lib/X11/oneko/mouse.xpm
|
|||
read.</para>
|
||||
|
||||
<para>Now, consider the following problems in sequence as you design
|
||||
your new Makefile:</para>
|
||||
your new <filename>Makefile</filename>:</para>
|
||||
|
||||
<sect3>
|
||||
<title>The original source</title>
|
||||
|
@ -2214,7 +2218,8 @@ PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout</p
|
|||
<sect3>
|
||||
<title><makevar>LIB_DEPENDS</makevar></title>
|
||||
|
||||
<para>All port Makefiles are edited to remove minor numbers from
|
||||
<para>All port <filename>Makefile</filename>s are edited to remove minor
|
||||
numbers from
|
||||
<makevar>LIB_DEPENDS</makevar>, and also to have the regexp support
|
||||
removed. (E.g., <literal>foo\\.1\\.\\(33|40\\)</literal> becomes
|
||||
<literal>foo.2</literal>.) They will be matched using <command>grep
|
||||
|
@ -2245,8 +2250,8 @@ PORTOBJFORMAT!= test -x /usr/bin/objformat && /usr/bin/objformat || echo aout</p
|
|||
<sect3>
|
||||
<title><literal>ldconfig</literal></title>
|
||||
|
||||
<para>The <literal>ldconfig</literal> line in Makefiles should
|
||||
read:</para>
|
||||
<para>The <literal>ldconfig</literal> line in
|
||||
<filename>Makefile</filename>s should read:</para>
|
||||
|
||||
<programlisting>
|
||||
${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ....</programlisting>
|
||||
|
@ -2448,8 +2453,8 @@ ${PREFIX}/man/ja/man4/baz.4.gz</programlisting>
|
|||
<title><makevar>REQUIRES_MOTIF</makevar></title>
|
||||
|
||||
<para>If your port requires Motif, define this variable in the
|
||||
Makefile. This will prevent people who do not own a copy of Motif
|
||||
from even attempting to build it.</para>
|
||||
<filename>Makefile</filename>. This will prevent people who do not own
|
||||
a copy of Motif from even attempting to build it.</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
|
@ -2965,8 +2970,9 @@ PLIST_SUB= OCTAVE_VERSION=${OCTAVE_VERSION}</programlisting>
|
|||
please contact the &a.ports;.</para>
|
||||
</note>
|
||||
|
||||
<para>There are two variables you can set in the Makefile to handle the
|
||||
situations that arise frequently:</para>
|
||||
<para>There are two variables you can set in the
|
||||
<filename>Makefile</filename> to handle the situations that arise
|
||||
frequently:</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
|
@ -3085,7 +3091,7 @@ post-install:
|
|||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><makevar>INSTALL_PROGRAM</makevar> is a command to install
|
||||
binary executables.</para>
|
||||
binary executables (strips them in the process).</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
|
@ -3757,7 +3763,7 @@ post-install:
|
|||
|
||||
<note>
|
||||
<para>This does not affect the <makevar>MASTER_SITES</makevar> you
|
||||
define in your Makefile.</para>
|
||||
define in your <filename>Makefile</filename>.</para>
|
||||
</note>
|
||||
</sect3>
|
||||
|
||||
|
|
Loading…
Reference in a new issue