diff options
author | Jiri Olsa <jolsa@kernel.org> | 2015-01-14 13:05:27 -0500 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2015-02-12 15:53:00 -0500 |
commit | f819f703a42eed63443cef796b1852e6baf985bd (patch) | |
tree | 582241a75a15ec76eb2240a242422a79491bc1ff /tools/perf | |
parent | db8486626246f86d8f6f77ff0020c68a6dda2e23 (diff) |
perf build: Add build documentation
Adding file describing the basics of perf build process.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Tested-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Tested-by: Will Deacon <will.deacon@arm.com>
Cc: Alexis Berlemont <alexis.berlemont@gmail.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-ibgf7vxyduwohlqqfayl11xb@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf')
-rw-r--r-- | tools/perf/Documentation/Build.txt | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tools/perf/Documentation/Build.txt b/tools/perf/Documentation/Build.txt new file mode 100644 index 000000000000..f6fc6507ba55 --- /dev/null +++ b/tools/perf/Documentation/Build.txt | |||
@@ -0,0 +1,49 @@ | |||
1 | |||
2 | 1) perf build | ||
3 | ============= | ||
4 | The perf build process consists of several separated building blocks, | ||
5 | which are linked together to form the perf binary: | ||
6 | - libperf library (static) | ||
7 | - perf builtin commands | ||
8 | - traceevent library (static) | ||
9 | - GTK ui library | ||
10 | |||
11 | Several makefiles govern the perf build: | ||
12 | |||
13 | - Makefile | ||
14 | top level Makefile working as a wrapper that calls the main | ||
15 | Makefile.perf with a -j option to do parallel builds. | ||
16 | |||
17 | - Makefile.perf | ||
18 | main makefile that triggers build of all perf objects including | ||
19 | installation and documentation processing. | ||
20 | |||
21 | - tools/build/Makefile.build | ||
22 | main makefile of the build framework | ||
23 | |||
24 | - tools/build/Build.include | ||
25 | build framework generic definitions | ||
26 | |||
27 | - Build makefiles | ||
28 | makefiles that defines build objects | ||
29 | |||
30 | Please refer to tools/build/Documentation/Build.txt for more | ||
31 | information about build framework. | ||
32 | |||
33 | |||
34 | 2) perf build | ||
35 | ============= | ||
36 | The Makefile.perf triggers the build framework for build objects: | ||
37 | perf, libperf, gtk | ||
38 | |||
39 | resulting in following objects: | ||
40 | $ ls *-in.o | ||
41 | gtk-in.o libperf-in.o perf-in.o | ||
42 | |||
43 | Those objects are then used in final linking: | ||
44 | libperf-gtk.so <- gtk-in.o libperf-in.o | ||
45 | perf <- perf-in.o libperf-in.o | ||
46 | |||
47 | |||
48 | NOTE this description is omitting other libraries involved, only | ||
49 | focusing on build framework outcomes | ||