aboutsummaryrefslogtreecommitdiff
path: root/INSTALL
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2005-10-05 07:40:46 +0000
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2005-10-05 07:40:46 +0000
commit5c071bcf2f6bc923b5d6779b3563d08b80a8949d (patch)
tree2f116d1bedfb7bddc5d9be9c9d1829944703f388 /INSTALL
parentdc2510327b43ab5ce18c1752304015fad4663bad (diff)
downloadbusybox-w32-5c071bcf2f6bc923b5d6779b3563d08b80a8949d.tar.gz
busybox-w32-5c071bcf2f6bc923b5d6779b3563d08b80a8949d.tar.bz2
busybox-w32-5c071bcf2f6bc923b5d6779b3563d08b80a8949d.zip
- fix building out-of-tree;
to test, checkout the source (let's assume /scratch/src/busybox), then mkdir /tmp/bb ; cd /tmp/bb make top_srcdir=/scratch/src/busybox O="$(pwd)" -f /scratch/src/busybox/Makefile allyesconfig check - default to O=$(pwd) if no O was specified. Now you can just specify the top_srcdir (without O=/somewhere) to create the obj-tree in pwd. - make "make configtarget buildtarget" work. Previously this didn't work due to how HAVE_DOT_CONFIG was evaluated. Two separate steps were needed before, e.g. make config ; make busybox. - remove some unneeded variables from Rules.mak (BB_SRC_DIR from Mr. ldoolitt@recycle.lbl) which suggest that the stuff fixed above didn't work before. - move selinux libraries to where they belong (from Makefile to Rules.mak) - update the docs to mention svn instead of cvs and provide an example for building out-of-tree in INSTALL.
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL48
1 files changed, 42 insertions, 6 deletions
diff --git a/INSTALL b/INSTALL
index 921477209..00ba6633a 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,14 +1,50 @@
1Building:
2=========
3
4You will usually build in the source-tree.
5
6Alternatively you can build out-of-tree to have the object files separated
7from the source. This allows for building several different configurations
8from the same set of sources.
9
10A) Building in the source-tree:
11-------------------------------
12
11) Run 'make config' or 'make menuconfig' and select the 131) Run 'make config' or 'make menuconfig' and select the
2 functionality that you wish to enable. 14 functionality that you wish to enable.
3 15
42) Run 'make' 162) Run 'make'
5 17
63) Go get a drink of water, drink a soda, visit the bathroom, 183) Run 'make install' or 'make PREFIX=/target install' to
7 or whatever while it compiles. It doesn't take very
8 long to compile, so you don't really need to waste too
9 much time waiting...
10
114) Run 'make install' or 'make PREFIX=/target install' to
12 install busybox and all the needed links. Some people 19 install busybox and all the needed links. Some people
13 will prefer to install using hardlinks and will instead 20 will prefer to install using hardlinks and will instead
14 want to run 'make install-hardlinks'.... 21 want to run 'make install-hardlinks'....
22
23B) Building out-of-tree:
24------------------------
25
261) make the directory to hold the object files and chdir to it:
27 'mkdir /tmp/bb ; cd /tmp/bb'
28 Then prepare the config giving the full path to the source in top_srcdir:
29 make top_srcdir=/path/busybox -f /path/busybox/Makefile O=/tmp/b allyesconfig
30
31 Note that O=$(pwd) is the default if no O= was specified.
32
33 You now have a buildable tree in $O and can run 'make' without the need
34 to specify any paths.
35
36 Proceed with step #A2 above.
37
38
39Installation:
40=============
41
42After the build is complete, a busybox.links file is generated. This is
43used by 'make install' to create symlinks to the BusyBox binary for all
44compiled in functions. By default, 'make install' will place the symlink
45forest into `pwd`/_install unless you have defined the PREFIX environment
46variable (i.e., 'make PREFIX=/tmp/foo install')
47
48If you wish to install hard links, rather than symlinks, you can use
49'make PREFIX=/tmp/foo install-hardlinks' instead.
50