Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Sep 2012 15:12:39 +0100 (BST)
From:      Anton Shterenlikht <mexas@bristol.ac.uk>
To:        m.seaman@infracaninophile.co.uk, mexas@bristol.ac.uk
Cc:        freebsd-ports@freebsd.org
Subject:   Re: do I need to specify explicity what to install for make install to work?
Message-ID:  <201209261412.q8QECdG1077988@mech-cluster241.men.bris.ac.uk>
In-Reply-To: <5062F35C.6050607@infracaninophile.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
	From m.seaman@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





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201209261412.q8QECdG1077988>