diff options
author | Bernhard Reutner-Fischer | 2005-10-05 07:40:46 +0000 |
---|---|---|
committer | Bernhard Reutner-Fischer | 2005-10-05 07:40:46 +0000 |
commit | 5c071bcf2f6bc923b5d6779b3563d08b80a8949d (patch) | |
tree | 2f116d1bedfb7bddc5d9be9c9d1829944703f388 /INSTALL | |
parent | dc2510327b43ab5ce18c1752304015fad4663bad (diff) | |
download | busybox-5c071bcf2f6bc923b5d6779b3563d08b80a8949d.zip busybox-5c071bcf2f6bc923b5d6779b3563d08b80a8949d.tar.gz |
- 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-- | INSTALL | 48 |
1 files changed, 42 insertions, 6 deletions
@@ -1,14 +1,50 @@ +Building: +========= + +You will usually build in the source-tree. + +Alternatively you can build out-of-tree to have the object files separated +from the source. This allows for building several different configurations +from the same set of sources. + +A) Building in the source-tree: +------------------------------- + 1) Run 'make config' or 'make menuconfig' and select the functionality that you wish to enable. 2) Run 'make' -3) Go get a drink of water, drink a soda, visit the bathroom, - or whatever while it compiles. It doesn't take very - long to compile, so you don't really need to waste too - much time waiting... - -4) Run 'make install' or 'make PREFIX=/target install' to +3) Run 'make install' or 'make PREFIX=/target install' to install busybox and all the needed links. Some people will prefer to install using hardlinks and will instead want to run 'make install-hardlinks'.... + +B) Building out-of-tree: +------------------------ + +1) make the directory to hold the object files and chdir to it: + 'mkdir /tmp/bb ; cd /tmp/bb' + Then prepare the config giving the full path to the source in top_srcdir: + make top_srcdir=/path/busybox -f /path/busybox/Makefile O=/tmp/b allyesconfig + + Note that O=$(pwd) is the default if no O= was specified. + + You now have a buildable tree in $O and can run 'make' without the need + to specify any paths. + + Proceed with step #A2 above. + + +Installation: +============= + +After the build is complete, a busybox.links file is generated. This is +used by 'make install' to create symlinks to the BusyBox binary for all +compiled in functions. By default, 'make install' will place the symlink +forest into `pwd`/_install unless you have defined the PREFIX environment +variable (i.e., 'make PREFIX=/tmp/foo install') + +If you wish to install hard links, rather than symlinks, you can use +'make PREFIX=/tmp/foo install-hardlinks' instead. + |