Review of pages existing so far
[anjuta.git] / manuals / anjuta-manual / C / makefile-project-backend.page
blobb6e55e46b36f72d7b77ed13ba98762c338a84461
1 <page xmlns="http://projectmallard.org/1.0/"
2       type="topic"
3       id="makefile-project-backend">
5   <info>
6     <link type="guide" xref="project-manager#backend"/>
7     <desc>
8       Makefile project backend.
9     </desc>
10     <credit type="author">
11       <name>Sébastien Granjoux</name>
12       <email>seb.sfo@free.fr</email>
13     </credit>
14   </info>
16   <title>Makefile project backend plugin</title>
18   <p>
19     A makefile is probably the most common way to build software on all
20     kinds of platforms. A makefile contains a list or rules describing which
21     commands have to be run in order to generate a target from a list of
22     dependencies. When building a program, the target is an object file
23     and the dependencies are the source files. The target of one rule
24     can be a dependency of another one, allowing several rules to be chained
25     in order to make a final target.
26   </p>
28   <p>
29     It is a low-level, general tool, making it difficult to find all
30     source files and targets of a project.
31     So <app>Anjuta</app> has limited support for makefiles, reading only one
32     makefile in the top project directory and extracting source files
33     and targets.
34   </p>
36   <note style="bug">
37     <p>
38       If the project backend is not able to find all the source files, you can
39       try to use the directory backend instead. It does not recognize any
40       targets but should get all source files.
41     </p>
42   </note>
44   <p>
45     Changing properties, or adding or removing targets and source files are
46     disabled with this backend, as automatically editing the makefile is not implemented.
47     It has to be changed by hand using the text editor.
48     When the makefile is saved, it is automatically reloaded though.
49   </p>
51 </page>