bmake hint

Petrus petrus at bmail.com.au
Tue Mar 8 19:28:13 PST 2005


AUTHOR: Petrus - petrus at bmail.com.au
DATE: 2005-03-09
LICENSE: GNU Free Documentation License.
SYNOPSIS: bmake - NetBSD's make.
DESCRIPTION: Has some great extra features and is also used in pkgsrc,
NetBSD's package management system. Good for sysadmins, developers, or
anyone who wants a better and actively developed Make.
CHANGELOG: 2005-03-09
* First version.

HINT:

The first thing to do is download
http://www.crufty.net/ftp/pub/sjg/bmake.tar.gz which is the source
tarball for bmake itself, and
http://www.crufty.net/ftp/pub/sjg/mk.tar.gz which contains the makefiles
that bmake needs.
(They contain various system rules and so forth.)

You'll need to become root in order to do this, since files need to be
installed to /usr/share and a few other places.
When you've downloaded bmake, unpack it and cd into the bmake directory.
Bmake needs a seperate OS-specific build directory, so we'll make one of
those as well.

tar zxvf bmake.tar.gz
cp mk.tar.gz bmake
cd bmake
mkdir -p ../Linux
mv mk.tar.gz ../Linux
cd ../Linux
tar zxvf mk.tar.gz
../bmake/configure --prefix=/usr

Now we need to tell bmake to look for the makefiles under the current
directory. Sed will do this for us.

sed -e s'_MKSRC=${srcdir}_MKSRC=mk_'g makefile.boot \
> makefile1.boot && \
mv -f makefile1.boot makefile.boot

Now let's compile it:-

make -f makefile.boot bootstrap
make -f makefile.boot install

One last thing we need to do is make sure the Linux.sys.mk file is in
place as bmake's
sys.mk, as bmake needs this in order to function.

cd mk
cp Linux.sys.mk /usr/share/sys.mk

You can test this by reinstalling bmake using bmake itself, in order to
be sure that sys.mk is in place and everything works.

bmake install

It should now be working.





More information about the hints mailing list