blob: cd9fa41314238f8e188dde2aa78c8848b5216343 [file] [log] [blame]
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) 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:
------------------------
Note that top_srcdir, O and top_builddir have to be given as absolute paths.
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.