- 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.
This commit is contained in:
48
INSTALL
48
INSTALL
@@ -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.
|
||||
|
||||
|
Reference in New Issue
Block a user