do I need to specify explicity what to install for make install
to work?
Anton Shterenlikht
mexas at bristol.ac.uk
Wed Sep 26 14:13:01 UTC 2012
From m.seaman at infracaninophile.co.uk Wed Sep 26 14:21:51 2012
On 26/09/2012 13:06, Anton Shterenlikht wrote:
> I was updating my port until I got to
>
> make: don't know how to make install. Stop
> *** [do-install] Error code 2
>
> and I realised that I don't really understand
> the sequence of commands involved in "make install".
> I've looked through the porter's handbook,
> but still not clear.
>
> I see lots of post-install targets in
> Makefiles, but never just "install".
> I presume it should be pulled into by
> .include <bsd.port.mk>
>
> Still, if I have a set of source files,
> generated object files, and just one
> executable I want to install, I probably
> have to specify somewhere in the Makefile
> the name of this executable, right?
>
> Or are PLIST_FILES and PLIST_DIRS used
> to let make know what to install?
The ports 'make install' generally does one of two things: either it
runs appropriate make install commands from $WRKDIR -- ie. what the
ported software provides itself -- or it has a list of files,
directories etc. from within $WRKDIR which it copies into place itself,
which is usually only done if the ported software doesn't provide its
own installation routines. As I recall, if you don't provide an
explicit install target yourself, the default is to run 'make install'
from $WRKDIR.
PLIST_FILES, PLIST_DOCS or the pkg-plist file don't tell the ports what
to install. Instead, they document what the installation process should
be installing, and so what files to include in a pkg tarball and what to
delete at pkg deinstallation time. Hence the effort required to make
sure your plist is accurate.
Ok, I think I get it.
All I need is the install target
in $WRKDIR/Makefile.
If I make this target empty, then
I can add the real install commands
under post-install in the port's
Makefile.
However, it seems if there is no
install target in $WRKDIR/Makefile,
then I must add install target to
port's Makefile.
Anton
Cheers,
Matthew
More information about the freebsd-ports
mailing list