Commit 5e84b8b7 authored by Samuel Martin's avatar Samuel Martin Committed by Peter Korsgaard
Browse files

manual: rework the whole documentation stub



The new skeleton of the manual as it has been thought:
1.  About Buildroot:
     Presentation of Buildroot
2.  Starting up:
     Everything to quickly and easily start working with Buildroot
3.  Working with Buildroot
     Basics to make your work fitting your needs
4.  Troubleshooting
5.  Going further in Buildroot's innards
     Explaination of how buildroot is organised, how it works, etc
6.  Developer Guidelines
7.  Getting involved
8.  Contibuting to Buildroot
9.  Legal notice
10. Appendix

It is easy to distinguish two parts in this plan:
- Sections 1 to 4 mainly address people starting with Buildroot
- Sections 5 to 10 are more focused on how to develop Buildroot itself

Most of the existing sections have just been moved in the hierarchy,
few were split and dispatch in, what i think was the relevant section,
and numerous others have been created.

Signed-off-by: default avatarSamuel Martin <s.martin49@gmail.com>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent 17feaf00
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
// -*- mode:doc; -*-

Infrastructure for autotools-based packages
-------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[[autotools-package-tutorial]]

+autotools-package+ tutorial
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

First, let's see how to write a +.mk+ file for an autotools-based
package, with an example :
@@ -64,7 +66,7 @@ package to be built.
[[autotools-package-reference]]

+autotools-package+ reference
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The main macro of the autotools package infrastructure is
+autotools-package+. It is similar to the +generic-package+ macro. The ability to
+5 −3
Original line number Diff line number Diff line
// -*- mode:doc; -*-

Infrastructure for CMake-based packages
---------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[[cmake-package-tutorial]]

+cmake-package+ tutorial
~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^

First, let's see how to write a +.mk+ file for a CMake-based package,
with an example :
@@ -63,7 +65,7 @@ package to be built.
[[cmake-package-reference]]

+cmake-package+ reference
~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^

The main macro of the CMake package infrastructure is
+cmake-package+. It is similar to the +generic-package+ macro. The ability to
+3 −1
Original line number Diff line number Diff line
// -*- mode:doc; -*-

Conclusion
----------
~~~~~~~~~~

As you can see, adding a software package to Buildroot is simply a
matter of writing a Makefile using an  existing example and modifying it
+5 −3
Original line number Diff line number Diff line
// -*- mode:doc; -*-

Package directory
-----------------
~~~~~~~~~~~~~~~~~

First of all, create a directory under the +package+ directory for
your software, for example +libfoo+.
@@ -10,7 +12,7 @@ one of these categories, then create your package directory in these.


+Config.in+ file
~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^

Then, create a file named +Config.in+. This file will contain the
option descriptions related to our +libfoo+ software that will be used
@@ -146,7 +148,7 @@ so, the dependency also needs to be expressed in the +.mk+ file of the
package.

The +.mk+ file
~~~~~~~~~~~~~~
^^^^^^^^^^^^^^

Finally, here's the hardest part. Create a file named +libfoo.mk+. It
describes how the package should be downloaded, configured, built,
+5 −3
Original line number Diff line number Diff line
// -*- mode:doc; -*-

Infrastructure for packages with specific build systems
-------------------------------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

By 'packages with specific build systems' we mean all the packages
whose build system is not one of the standard ones, such as
@@ -9,7 +11,7 @@ system is based on hand-written Makefiles or shell scripts.
[[generic-package-tutorial]]

+generic-package+ Tutorial
~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^

------------------------------
01: #############################################################
@@ -90,7 +92,7 @@ Makefile code necessary to make your package working.
[[generic-package-reference]]

+generic-package+ Reference
~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^^^^^

There are two variants of the generic target. The +generic-package+ macro is
used for packages to be cross-compiled for the target.  The
Loading