tools build: Add new build support
authorJiri Olsa <jolsa@kernel.org>
Mon, 29 Dec 2014 12:51:45 +0000 (13:51 +0100)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 11 Feb 2015 21:30:03 +0000 (18:30 -0300)
commitc819e2cf2eb6f65d3208d195d7a0edef6108d533
treea48b290466be4cb3851299ee0728a733982f06ff
parent39f5704399042fff5f0d5f6af32bbbc3e787a897
tools build: Add new build support

Adding new build framework into 'tools/build' to be used by tools.

There's no change for actual building at this point, it comes in the
next patches.

The idea and more details are explained in the
'tools/build/Documentation/Build.txt' file.

I adopted everything from the kernel build system, with some changes to
allow for multiple binaries build definitions.

While the kernel's build output is single image (forget modules) we need
to be able to build several binaries/libraries.

The basic idea is that sser provides 'Build' files with objects
definitions like:

  perf-y += a.o
  perf-y += b.o
  libperf-y += c.o
  libperf-y += d.o

and the build framework outputs files:

  perf-in.o    # a.o, b.o compiled in
  libperf-in.o # c.o, d.o compiled in

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-fbj22h4av0otlxupwcmrxgpa@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
16 files changed:
tools/build/Build.include [new file with mode: 0644]
tools/build/Documentation/Build.txt [new file with mode: 0644]
tools/build/Makefile.build [new file with mode: 0644]
tools/build/tests/ex/Build [new file with mode: 0644]
tools/build/tests/ex/Makefile [new file with mode: 0644]
tools/build/tests/ex/a.c [new file with mode: 0644]
tools/build/tests/ex/arch/Build [new file with mode: 0644]
tools/build/tests/ex/arch/e.c [new file with mode: 0644]
tools/build/tests/ex/arch/f.c [new file with mode: 0644]
tools/build/tests/ex/b.c [new file with mode: 0644]
tools/build/tests/ex/c.c [new file with mode: 0644]
tools/build/tests/ex/d.c [new file with mode: 0644]
tools/build/tests/ex/empty/Build [new file with mode: 0644]
tools/build/tests/ex/ex.c [new file with mode: 0644]
tools/build/tests/run.sh [new file with mode: 0755]
tools/perf/MANIFEST