Re: [PATCHv2 00/36] perf tools: New build framework

From: Jiri Olsa
Date: Thu Jan 15 2015 - 11:32:41 EST


On Thu, Jan 15, 2015 at 09:08:00AM -0700, David Ahern wrote:
> On 1/15/15 5:54 AM, Jiri Olsa wrote:
> >Since it's actually small portion of kbuild that perf needs,
> >I realized it's actually better to steal it than 'reconfigure'
> >kbuild to be usable for perf.
> >
> >Also this patchset is kind of incremental version of the latest:
> > perf tools: Add kbuild support into Makefile.kbuild
> >so it should be easier to review.
> >
> >NOTE I couldn't find any copyright/credit messages in the kbuild
> >system, but would be happy to include it if someone suggests one.
> >
> >The stolen parts are in files:
> > Makefile.kbuild
> > Build.include
> >
> >The idea and more details are explained in the 'Documentation/Build'
> >file. The basic idea is the same as in kbuild system, with some minor
> >changes to allow for multiple binaries build definitions.
> >
> >User provides 'Build' files with objects definitions like:
> > perf-y += perf.o
> > perf-y += builtin-bench.o
> > ...
> >
> > libperf-y += util/
> > ...
> >
>
> It is not obvious to me how this works. Users provide a .config file for
> building perf? Or do users provide Build files like you state above? If it
> is a .config file then what if a .config file is not present is it auto
> generated using the current autoprobing?

so far users provide 'Build' files, which defines list of objects
to be built for specific outputs, like following Build file:

---
perf-y += perf.o
perf-y += builtin-bench.o

libperf-y += util/
---

means that build framework's output will be 2 files:

- 'perf-in.o' that contains (links) perf.o and builtin-bench.o objects
- 'libperf-in.o' that contains (links) whatever is defined under 'util/'


also user can provide '.config-detected' file that will get included
into the Makefile.build to get the environment changed and refer to it
in the 'Build' files

I'll update docs with more details..

jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/