Skip to content

Commit a9c9a6f

Browse files
committed
doc: add bob-init manpage
1 parent a046c8c commit a9c9a6f

File tree

5 files changed

+58
-0
lines changed

5 files changed

+58
-0
lines changed

doc/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,7 @@ def __getattr__(cls, name):
260260
('manpages/bob-clean', 'bob-clean', 'Delete unused src/build/dist paths of release builds', ['Jan Klötzke'], 1),
261261
('manpages/bob-dev', 'bob-dev', 'Bob develop mode build', ['Jan Klötzke'], 1),
262262
('manpages/bob-graph', 'bob-graph', 'Generate dependency graph', ['Ralf Hubert'], 1),
263+
('manpages/bob-init', 'bob-init', 'Initialize out-of-source build tree', ['Jan Klötzke'], 1),
263264
('manpages/bob-jenkins', 'bob-jenkins', 'Configure Jenkins server', ['Jan Klötzke'], 1),
264265
('manpages/bob-ls', 'bob-ls', 'List package hierarchy', ['Jan Klötzke'], 1),
265266
('manpages/bobpaths', 'bobpaths', 'Specifying paths to Bob packages', ['Jan Klötzke'], 7),

doc/manpages/bob-build-dev.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
Build tree location
2+
-------------------
3+
4+
The build can be done directly in the project root directory or in a separate
5+
directory. To build outside of the project directory the build-tree must first
6+
be initialized with :ref:`bob init <manpage-bob-init>`. Any number of build
7+
trees may refer to the same project. Inside the external build-tree there may
8+
be a dedicated ``default.yaml``, overriding settings from the project.
9+
110
Options
211
-------
312

@@ -255,3 +264,4 @@ See also
255264
--------
256265

257266
:ref:`bobpaths(7) <manpage-bobpaths>` :ref:`bob-status(1) <manpage-bob-status>`
267+
:ref:`bob-init(1) <manpage-bob-init>`

doc/manpages/bob-init.rst

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
.. _manpage-bob-init:
2+
3+
bob-init
4+
========
5+
6+
.. only:: not man
7+
8+
Name
9+
----
10+
11+
bob-init - Initialize out-of-source build tree
12+
13+
Synopsis
14+
--------
15+
16+
::
17+
18+
bob init [-h] PROJECT [BUILD]
19+
20+
21+
Description
22+
-----------
23+
24+
Setup a build directory that builds the project located at ``PROJECT``. By
25+
default the current directory is initialized. Optionally the build directory
26+
can be specified as 2nd parameter ``BUILD``. The directories to the build
27+
directory will be created if they do not exist yet.
28+
29+
See also
30+
--------
31+
32+
:ref:`bob-build(1) <manpage-build>` :ref:`bob-dev(1) <manpage-dev>`

doc/manpages/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Contents:
1111
bob-clean
1212
bob-dev
1313
bob-graph
14+
bob-init
1415
bob-jenkins
1516
bob-ls
1617
bobpaths

doc/tutorial/compile.rst

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,20 @@ and test the whole QEMU image. The choice is yours.
169169
before moving on. Otherwise you risk that your changes are wiped out if Bob
170170
determines that a clean build is needed (e.g. due to recipe changes).
171171

172+
Out of tree builds
173+
==================
174+
175+
The :ref:`manpage-dev` and :ref:`manpage-build` commands do not need to be
176+
executed in the project directory directly. It is also possible to initialize
177+
an external build directory with :ref:`manpage-bob-init`::
178+
179+
$ bob init . /path/to/build/directory
180+
$ cd /path/to/build/directory
181+
$ bob dev vexpress
182+
183+
Each build directory can have its own :ref:`configuration-config-usr` that
184+
overrides the defaults of the project.
185+
172186
Query SCM status
173187
================
174188

0 commit comments

Comments
 (0)