doc/tutorial.rst
author Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
Sat, 26 Mar 2011 12:40:34 +0100
changeset 6 4e53c776f061
permissions -rw-r--r--
quick intro to using bake
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     1
How do you get started with bake ?
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     2
==================================
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     3
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     4
A typical user session to build everything:::
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     5
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     6
  wget http://www.nsnam.org/bakeconf.xml
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     7
  bake configure -a
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     8
  bake download
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     9
  bake build
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    10
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    11
The result:
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    12
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    13
* bakefile.xml: contains output of configuration step
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    14
* 'source' directory: contains downloaded code:
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    15
** one file per tarball downloaded
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    16
** one directory per module
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    17
** one directory/objdir per module which contains all object files built
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    18
* 'build' directory: contains the libraries, headers, and binaries installed by each module
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    19
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    20
A more advanced user:::
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    21
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    22
  wget http://www.nsnam.org/bakeconf.xml
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    23
  mkdir opt
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    24
  cd opt
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    25
  bake configure -c ../bakeconf.xml -a --sourcedir=../source --builddir=. --objdir=opt --set=CFLAGS=-O3
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    26
  bake download
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    27
  bake build
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    28
  # now, build debug version
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    29
  cd ..
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    30
  mkdir dbg
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    31
  cd dbg
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    32
  bake configure -c ../bakeconf.xml -a --sourcedir=../source --builddir=. --objdir=dbg --set=CFLAGS=-O0
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    33
  bake build
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    34
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    35
The result:
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    36
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    37
* opt/bakefile.xml contains optimized build configuration
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    38
* dbg/bakefile.xml contains debug build configuration
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    39
* source contains all source code:
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    40
** source/module/opt contains optimized object files
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    41
** source/module/dbg contains debug object files
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    42
* opt/ contains headers, libraries, binaries for optimized build
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    43
* dbg/ contains headers, libraries, binaries for debug build
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    44
4e53c776f061 quick intro to using bake
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    45