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>