diff options
-rw-r--r-- | tools/perf/Makefile | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/tools/perf/Makefile b/tools/perf/Makefile index d7198c54bb69..31da6bed46ca 100644 --- a/tools/perf/Makefile +++ b/tools/perf/Makefile | |||
@@ -2,6 +2,7 @@ | |||
2 | all:: | 2 | all:: |
3 | 3 | ||
4 | # Define V=1 to have a more verbose compile. | 4 | # Define V=1 to have a more verbose compile. |
5 | # Define V=2 to have an even more verbose compile. | ||
5 | # | 6 | # |
6 | # Define SNPRINTF_RETURNS_BOGUS if your are on a system which snprintf() | 7 | # Define SNPRINTF_RETURNS_BOGUS if your are on a system which snprintf() |
7 | # or vsnprintf() return -1 instead of number of characters which would | 8 | # or vsnprintf() return -1 instead of number of characters which would |
@@ -263,7 +264,7 @@ PTHREAD_LIBS = -lpthread | |||
263 | # explicitly what architecture to check for. Fix this up for yours.. | 264 | # explicitly what architecture to check for. Fix this up for yours.. |
264 | SPARSE_FLAGS = -D__BIG_ENDIAN__ -D__powerpc__ | 265 | SPARSE_FLAGS = -D__BIG_ENDIAN__ -D__powerpc__ |
265 | 266 | ||
266 | ifeq ($(shell sh -c "echo 'int foo(void) {char X[2]; return 3;}' | $(CC) -x c -c -Werror -fstack-protector-all - -o /dev/null >/dev/null 2>&1 && echo y"), y) | 267 | ifeq ($(shell sh -c "echo 'int foo(void) {char X[2]; return 3;}' | $(CC) -x c -c -Werror -fstack-protector-all - -o /dev/null "$(QUIET_STDERR)" && echo y"), y) |
267 | CFLAGS := $(CFLAGS) -fstack-protector-all | 268 | CFLAGS := $(CFLAGS) -fstack-protector-all |
268 | endif | 269 | endif |
269 | 270 | ||
@@ -448,6 +449,11 @@ BUILTIN_OBJS += builtin-kmem.o | |||
448 | 449 | ||
449 | PERFLIBS = $(LIB_FILE) | 450 | PERFLIBS = $(LIB_FILE) |
450 | 451 | ||
452 | ifeq ($(V), 2) | ||
453 | QUIET_STDERR = ">/dev/null" | ||
454 | else | ||
455 | QUIET_STDERR = ">/dev/null 2>&1" | ||
456 | endif | ||
451 | # | 457 | # |
452 | # Platform specific tweaks | 458 | # Platform specific tweaks |
453 | # | 459 | # |
@@ -475,19 +481,19 @@ ifeq ($(uname_S),Darwin) | |||
475 | PTHREAD_LIBS = | 481 | PTHREAD_LIBS = |
476 | endif | 482 | endif |
477 | 483 | ||
478 | ifeq ($(shell sh -c "(echo '\#include <libelf.h>'; echo 'int main(void) { Elf * elf = elf_begin(0, ELF_C_READ, 0); return (long)elf; }') | $(CC) -x c - $(ALL_CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -o /dev/null $(ALL_LDFLAGS) $(EXTLIBS) > /dev/null 2>&1 && echo y"), y) | 484 | ifeq ($(shell sh -c "(echo '\#include <libelf.h>'; echo 'int main(void) { Elf * elf = elf_begin(0, ELF_C_READ, 0); return (long)elf; }') | $(CC) -x c - $(ALL_CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -o /dev/null $(ALL_LDFLAGS) $(EXTLIBS) "$(QUIET_STDERR)" && echo y"), y) |
479 | ifneq ($(shell sh -c "(echo '\#include <gnu/libc-version.h>'; echo 'int main(void) { const char * version = gnu_get_libc_version(); return (long)version; }') | $(CC) -x c - $(ALL_CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -o /dev/null $(ALL_LDFLAGS) $(EXTLIBS) > /dev/null 2>&1 && echo y"), y) | 485 | ifneq ($(shell sh -c "(echo '\#include <gnu/libc-version.h>'; echo 'int main(void) { const char * version = gnu_get_libc_version(); return (long)version; }') | $(CC) -x c - $(ALL_CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -o /dev/null $(ALL_LDFLAGS) $(EXTLIBS) "$(QUIET_STDERR)" && echo y"), y) |
480 | msg := $(error No gnu/libc-version.h found, please install glibc-dev[el]); | 486 | msg := $(error No gnu/libc-version.h found, please install glibc-dev[el]); |
481 | endif | 487 | endif |
482 | 488 | ||
483 | ifneq ($(shell sh -c "(echo '\#include <libelf.h>'; echo 'int main(void) { Elf * elf = elf_begin(0, ELF_C_READ_MMAP, 0); return (long)elf; }') | $(CC) -x c - $(ALL_CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -o /dev/null $(ALL_LDFLAGS) $(EXTLIBS) > /dev/null 2>&1 && echo y"), y) | 489 | ifneq ($(shell sh -c "(echo '\#include <libelf.h>'; echo 'int main(void) { Elf * elf = elf_begin(0, ELF_C_READ_MMAP, 0); return (long)elf; }') | $(CC) -x c - $(ALL_CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -o /dev/null $(ALL_LDFLAGS) $(EXTLIBS) "$(QUIET_STDERR)" && echo y"), y) |
484 | BASIC_CFLAGS += -DLIBELF_NO_MMAP | 490 | BASIC_CFLAGS += -DLIBELF_NO_MMAP |
485 | endif | 491 | endif |
486 | else | 492 | else |
487 | msg := $(error No libelf.h/libelf found, please install libelf-dev/elfutils-libelf-devel and glibc-dev[el]); | 493 | msg := $(error No libelf.h/libelf found, please install libelf-dev/elfutils-libelf-devel and glibc-dev[el]); |
488 | endif | 494 | endif |
489 | 495 | ||
490 | ifneq ($(shell sh -c "(echo '\#include <libdwarf/dwarf.h>'; echo '\#include <libdwarf/libdwarf.h>'; echo 'int main(void) { Dwarf_Debug dbg; Dwarf_Error err; Dwarf_Ranges *rng; dwarf_init(0, DW_DLC_READ, 0, 0, &dbg, &err); dwarf_get_ranges(dbg, 0, &rng, 0, 0, &err); return (long)dbg; }') | $(CC) -x c - $(ALL_CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -ldwarf -lelf -o /dev/null $(ALL_LDFLAGS) $(EXTLIBS) > /dev/null 2>&1 && echo y"), y) | 496 | ifneq ($(shell sh -c "(echo '\#include <libdwarf/dwarf.h>'; echo '\#include <libdwarf/libdwarf.h>'; echo 'int main(void) { Dwarf_Debug dbg; Dwarf_Error err; Dwarf_Ranges *rng; dwarf_init(0, DW_DLC_READ, 0, 0, &dbg, &err); dwarf_get_ranges(dbg, 0, &rng, 0, 0, &err); return (long)dbg; }') | $(CC) -x c - $(ALL_CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -ldwarf -lelf -o /dev/null $(ALL_LDFLAGS) $(EXTLIBS) "$(QUIET_STDERR)" && echo y"), y) |
491 | msg := $(warning No libdwarf.h found or old libdwarf.h found, disables dwarf support. Please install libdwarf-dev/libdwarf-devel >= 20081231); | 497 | msg := $(warning No libdwarf.h found or old libdwarf.h found, disables dwarf support. Please install libdwarf-dev/libdwarf-devel >= 20081231); |
492 | BASIC_CFLAGS += -DNO_LIBDWARF | 498 | BASIC_CFLAGS += -DNO_LIBDWARF |
493 | else | 499 | else |
@@ -499,20 +505,20 @@ endif | |||
499 | ifdef NO_DEMANGLE | 505 | ifdef NO_DEMANGLE |
500 | BASIC_CFLAGS += -DNO_DEMANGLE | 506 | BASIC_CFLAGS += -DNO_DEMANGLE |
501 | else | 507 | else |
502 | has_bfd := $(shell sh -c "(echo '\#include <bfd.h>'; echo 'int main(void) { bfd_demangle(0, 0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o /dev/null $(ALL_LDFLAGS) $(EXTLIBS) -lbfd > /dev/null 2>&1 && echo y") | 508 | has_bfd := $(shell sh -c "(echo '\#include <bfd.h>'; echo 'int main(void) { bfd_demangle(0, 0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o /dev/null $(ALL_LDFLAGS) $(EXTLIBS) -lbfd "$(QUIET_STDERR)" && echo y") |
503 | 509 | ||
504 | ifeq ($(has_bfd),y) | 510 | ifeq ($(has_bfd),y) |
505 | EXTLIBS += -lbfd | 511 | EXTLIBS += -lbfd |
506 | else | 512 | else |
507 | has_bfd_iberty := $(shell sh -c "(echo '\#include <bfd.h>'; echo 'int main(void) { bfd_demangle(0, 0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o /dev/null $(ALL_LDFLAGS) $(EXTLIBS) -lbfd -liberty > /dev/null 2>&1 && echo y") | 513 | has_bfd_iberty := $(shell sh -c "(echo '\#include <bfd.h>'; echo 'int main(void) { bfd_demangle(0, 0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o /dev/null $(ALL_LDFLAGS) $(EXTLIBS) -lbfd -liberty "$(QUIET_STDERR)" && echo y") |
508 | ifeq ($(has_bfd_iberty),y) | 514 | ifeq ($(has_bfd_iberty),y) |
509 | EXTLIBS += -lbfd -liberty | 515 | EXTLIBS += -lbfd -liberty |
510 | else | 516 | else |
511 | has_bfd_iberty_z := $(shell sh -c "(echo '\#include <bfd.h>'; echo 'int main(void) { bfd_demangle(0, 0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o /dev/null $(ALL_LDFLAGS) $(EXTLIBS) -lbfd -liberty -lz > /dev/null 2>&1 && echo y") | 517 | has_bfd_iberty_z := $(shell sh -c "(echo '\#include <bfd.h>'; echo 'int main(void) { bfd_demangle(0, 0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o /dev/null $(ALL_LDFLAGS) $(EXTLIBS) -lbfd -liberty -lz "$(QUIET_STDERR)" && echo y") |
512 | ifeq ($(has_bfd_iberty_z),y) | 518 | ifeq ($(has_bfd_iberty_z),y) |
513 | EXTLIBS += -lbfd -liberty -lz | 519 | EXTLIBS += -lbfd -liberty -lz |
514 | else | 520 | else |
515 | has_cplus_demangle := $(shell sh -c "(echo 'extern char *cplus_demangle(const char *, int);'; echo 'int main(void) { cplus_demangle(0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o /dev/null $(ALL_LDFLAGS) $(EXTLIBS) -liberty > /dev/null 2>&1 && echo y") | 521 | has_cplus_demangle := $(shell sh -c "(echo 'extern char *cplus_demangle(const char *, int);'; echo 'int main(void) { cplus_demangle(0, 0); return 0; }') | $(CC) -x c - $(ALL_CFLAGS) -o /dev/null $(ALL_LDFLAGS) $(EXTLIBS) -liberty "$(QUIET_STDERR)" && echo y") |
516 | ifeq ($(has_cplus_demangle),y) | 522 | ifeq ($(has_cplus_demangle),y) |
517 | EXTLIBS += -liberty | 523 | EXTLIBS += -liberty |
518 | BASIC_CFLAGS += -DHAVE_CPLUS_DEMANGLE | 524 | BASIC_CFLAGS += -DHAVE_CPLUS_DEMANGLE |