lfs-uefi: fix efivar-37 FTBFS
[linux_from_scratch_hints.git] / bmake.txt
blob6c3a00cef501e7bf8b59640f5ff1d3a4911e3808
1 AUTHOR: Petrus - petrus@bmail.com.au
2 DATE: 2005-03-09
3 LICENSE: GNU Free Documentation License.
4 SYNOPSIS: bmake - NetBSD's make.
5 DESCRIPTION: Has some great extra features and is also used in pkgsrc,
6 NetBSD's package
7 management system. Good for sysadmins, developers, or anyone who wants a
8 better and
9 actively developed Make.
10 PREREQUISITES: None
11 CHANGELOG: 2005-03-09
12 * First version.
13 2005-03-19
14 * Second version.
15 * Fixed newbish dir shuffling
16 * Deleted redundant sed command
17 * jbit figured out a way to cause the bootstrap test to pass
19 HINT:
21 The first thing to do is download
22 http://www.crufty.net/ftp/pub/sjg/bmake.tar.gz which is the source
23 tarball for bmake itself, and 
24 http://www.crufty.net/ftp/pub/sjg/mk.tar.gz which contains the makefiles
25 that bmake needs. (They contain various system rules and so forth.)
27 You'll need to become root in order to do this, since files need to be
28 installed to /usr/share and a few other places.
29 When you've downloaded bmake, unpack it and cd into the bmake directory.
30 Bmake needs a seperate OS-specific build directory, so we'll make one of
31 those as well. 
33 tar zxvf bmake.tar.gz
34 mkdir -p bmake/Linux
35 cp mk.tar.gz bmake/Linux
36 cd bmake/Linux
37 tar zxvf mk.tar.gz
38 ../bmake/configure --prefix=/usr
40 Now let's compile it:-
42 PATH=$PWD:$PATH make -f makefile.boot bootstrap MKSRC=mk
43 make -f makefile.boot install
45 We need the first line because bmake does a test at the end of
46 bootstrapping, for which it
47 needs to be in the PATH in order to pass.
48 One last thing we need to do is make sure the Linux.sys.mk file is in
49 place as bmake's
50 sys.mk, as bmake needs this in order to function.
52 cd mk
53 cp Linux.sys.mk /usr/share/sys.mk
55 You can test this by reinstalling bmake using bmake itself, in order to
56 be sure that sys.mk is in place and everything works.
58 bmake install
60 It should now be working.