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