aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/Makefile')
-rw-r--r--tools/perf/Makefile340
1 files changed, 182 insertions, 158 deletions
diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index bc0f670a8338..3cb3449a9645 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -1,3 +1,7 @@
1ifeq ("$(origin O)", "command line")
2 OUTPUT := $(O)/
3endif
4
1# The default target of this Makefile is... 5# The default target of this Makefile is...
2all:: 6all::
3 7
@@ -150,10 +154,17 @@ all::
150# Define LDFLAGS=-static to build a static binary. 154# Define LDFLAGS=-static to build a static binary.
151# 155#
152# Define EXTRA_CFLAGS=-m64 or EXTRA_CFLAGS=-m32 as appropriate for cross-builds. 156# Define EXTRA_CFLAGS=-m64 or EXTRA_CFLAGS=-m32 as appropriate for cross-builds.
157#
158# Define NO_DWARF if you do not want debug-info analysis feature at all.
153 159
154PERF-VERSION-FILE: .FORCE-PERF-VERSION-FILE 160$(shell sh -c 'mkdir -p $(OUTPUT)scripts/python/Perf-Trace-Util/' 2> /dev/null)
155 @$(SHELL_PATH) util/PERF-VERSION-GEN 161$(shell sh -c 'mkdir -p $(OUTPUT)scripts/perl/Perf-Trace-Util/' 2> /dev/null)
156-include PERF-VERSION-FILE 162$(shell sh -c 'mkdir -p $(OUTPUT)util/scripting-engines/' 2> /dev/null)
163$(shell sh -c 'mkdir $(OUTPUT)bench' 2> /dev/null)
164
165$(OUTPUT)PERF-VERSION-FILE: .FORCE-PERF-VERSION-FILE
166 @$(SHELL_PATH) util/PERF-VERSION-GEN $(OUTPUT)
167-include $(OUTPUT)PERF-VERSION-FILE
157 168
158uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') 169uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
159uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not') 170uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
@@ -308,7 +319,7 @@ PROGRAMS += $(EXTRA_PROGRAMS)
308# 319#
309# Single 'perf' binary right now: 320# Single 'perf' binary right now:
310# 321#
311PROGRAMS += perf 322PROGRAMS += $(OUTPUT)perf
312 323
313# List built-in command $C whose implementation cmd_$C() is not in 324# List built-in command $C whose implementation cmd_$C() is not in
314# builtin-$C.o but is linked in as part of some other command. 325# builtin-$C.o but is linked in as part of some other command.
@@ -318,7 +329,7 @@ PROGRAMS += perf
318ALL_PROGRAMS = $(PROGRAMS) $(SCRIPTS) 329ALL_PROGRAMS = $(PROGRAMS) $(SCRIPTS)
319 330
320# what 'all' will build but not install in perfexecdir 331# what 'all' will build but not install in perfexecdir
321OTHER_PROGRAMS = perf$X 332OTHER_PROGRAMS = $(OUTPUT)perf$X
322 333
323# Set paths to tools early so that they can be used for version tests. 334# Set paths to tools early so that they can be used for version tests.
324ifndef SHELL_PATH 335ifndef SHELL_PATH
@@ -330,7 +341,7 @@ endif
330 341
331export PERL_PATH 342export PERL_PATH
332 343
333LIB_FILE=libperf.a 344LIB_FILE=$(OUTPUT)libperf.a
334 345
335LIB_H += ../../include/linux/perf_event.h 346LIB_H += ../../include/linux/perf_event.h
336LIB_H += ../../include/linux/rbtree.h 347LIB_H += ../../include/linux/rbtree.h
@@ -375,7 +386,6 @@ LIB_H += util/header.h
375LIB_H += util/help.h 386LIB_H += util/help.h
376LIB_H += util/session.h 387LIB_H += util/session.h
377LIB_H += util/strbuf.h 388LIB_H += util/strbuf.h
378LIB_H += util/string.h
379LIB_H += util/strlist.h 389LIB_H += util/strlist.h
380LIB_H += util/svghelper.h 390LIB_H += util/svghelper.h
381LIB_H += util/run-command.h 391LIB_H += util/run-command.h
@@ -391,77 +401,78 @@ LIB_H += util/probe-finder.h
391LIB_H += util/probe-event.h 401LIB_H += util/probe-event.h
392LIB_H += util/cpumap.h 402LIB_H += util/cpumap.h
393 403
394LIB_OBJS += util/abspath.o 404LIB_OBJS += $(OUTPUT)util/abspath.o
395LIB_OBJS += util/alias.o 405LIB_OBJS += $(OUTPUT)util/alias.o
396LIB_OBJS += util/build-id.o 406LIB_OBJS += $(OUTPUT)util/build-id.o
397LIB_OBJS += util/config.o 407LIB_OBJS += $(OUTPUT)util/config.o
398LIB_OBJS += util/ctype.o 408LIB_OBJS += $(OUTPUT)util/ctype.o
399LIB_OBJS += util/debugfs.o 409LIB_OBJS += $(OUTPUT)util/debugfs.o
400LIB_OBJS += util/environment.o 410LIB_OBJS += $(OUTPUT)util/environment.o
401LIB_OBJS += util/event.o 411LIB_OBJS += $(OUTPUT)util/event.o
402LIB_OBJS += util/exec_cmd.o 412LIB_OBJS += $(OUTPUT)util/exec_cmd.o
403LIB_OBJS += util/help.o 413LIB_OBJS += $(OUTPUT)util/help.o
404LIB_OBJS += util/levenshtein.o 414LIB_OBJS += $(OUTPUT)util/levenshtein.o
405LIB_OBJS += util/parse-options.o 415LIB_OBJS += $(OUTPUT)util/parse-options.o
406LIB_OBJS += util/parse-events.o 416LIB_OBJS += $(OUTPUT)util/parse-events.o
407LIB_OBJS += util/path.o 417LIB_OBJS += $(OUTPUT)util/path.o
408LIB_OBJS += util/rbtree.o 418LIB_OBJS += $(OUTPUT)util/rbtree.o
409LIB_OBJS += util/bitmap.o 419LIB_OBJS += $(OUTPUT)util/bitmap.o
410LIB_OBJS += util/hweight.o 420LIB_OBJS += $(OUTPUT)util/hweight.o
411LIB_OBJS += util/find_next_bit.o 421LIB_OBJS += $(OUTPUT)util/find_next_bit.o
412LIB_OBJS += util/run-command.o 422LIB_OBJS += $(OUTPUT)util/run-command.o
413LIB_OBJS += util/quote.o 423LIB_OBJS += $(OUTPUT)util/quote.o
414LIB_OBJS += util/strbuf.o 424LIB_OBJS += $(OUTPUT)util/strbuf.o
415LIB_OBJS += util/string.o 425LIB_OBJS += $(OUTPUT)util/string.o
416LIB_OBJS += util/strlist.o 426LIB_OBJS += $(OUTPUT)util/strlist.o
417LIB_OBJS += util/usage.o 427LIB_OBJS += $(OUTPUT)util/usage.o
418LIB_OBJS += util/wrapper.o 428LIB_OBJS += $(OUTPUT)util/wrapper.o
419LIB_OBJS += util/sigchain.o 429LIB_OBJS += $(OUTPUT)util/sigchain.o
420LIB_OBJS += util/symbol.o 430LIB_OBJS += $(OUTPUT)util/symbol.o
421LIB_OBJS += util/color.o 431LIB_OBJS += $(OUTPUT)util/color.o
422LIB_OBJS += util/pager.o 432LIB_OBJS += $(OUTPUT)util/pager.o
423LIB_OBJS += util/header.o 433LIB_OBJS += $(OUTPUT)util/header.o
424LIB_OBJS += util/callchain.o 434LIB_OBJS += $(OUTPUT)util/callchain.o
425LIB_OBJS += util/values.o 435LIB_OBJS += $(OUTPUT)util/values.o
426LIB_OBJS += util/debug.o 436LIB_OBJS += $(OUTPUT)util/debug.o
427LIB_OBJS += util/map.o 437LIB_OBJS += $(OUTPUT)util/map.o
428LIB_OBJS += util/session.o 438LIB_OBJS += $(OUTPUT)util/session.o
429LIB_OBJS += util/thread.o 439LIB_OBJS += $(OUTPUT)util/thread.o
430LIB_OBJS += util/trace-event-parse.o 440LIB_OBJS += $(OUTPUT)util/trace-event-parse.o
431LIB_OBJS += util/trace-event-read.o 441LIB_OBJS += $(OUTPUT)util/trace-event-read.o
432LIB_OBJS += util/trace-event-info.o 442LIB_OBJS += $(OUTPUT)util/trace-event-info.o
433LIB_OBJS += util/trace-event-scripting.o 443LIB_OBJS += $(OUTPUT)util/trace-event-scripting.o
434LIB_OBJS += util/svghelper.o 444LIB_OBJS += $(OUTPUT)util/svghelper.o
435LIB_OBJS += util/sort.o 445LIB_OBJS += $(OUTPUT)util/sort.o
436LIB_OBJS += util/hist.o 446LIB_OBJS += $(OUTPUT)util/hist.o
437LIB_OBJS += util/probe-event.o 447LIB_OBJS += $(OUTPUT)util/probe-event.o
438LIB_OBJS += util/util.o 448LIB_OBJS += $(OUTPUT)util/util.o
439LIB_OBJS += util/cpumap.o 449LIB_OBJS += $(OUTPUT)util/cpumap.o
440 450
441BUILTIN_OBJS += builtin-annotate.o 451BUILTIN_OBJS += $(OUTPUT)builtin-annotate.o
442 452
443BUILTIN_OBJS += builtin-bench.o 453BUILTIN_OBJS += $(OUTPUT)builtin-bench.o
444 454
445# Benchmark modules 455# Benchmark modules
446BUILTIN_OBJS += bench/sched-messaging.o 456BUILTIN_OBJS += $(OUTPUT)bench/sched-messaging.o
447BUILTIN_OBJS += bench/sched-pipe.o 457BUILTIN_OBJS += $(OUTPUT)bench/sched-pipe.o
448BUILTIN_OBJS += bench/mem-memcpy.o 458BUILTIN_OBJS += $(OUTPUT)bench/mem-memcpy.o
449 459
450BUILTIN_OBJS += builtin-diff.o 460BUILTIN_OBJS += $(OUTPUT)builtin-diff.o
451BUILTIN_OBJS += builtin-help.o 461BUILTIN_OBJS += $(OUTPUT)builtin-help.o
452BUILTIN_OBJS += builtin-sched.o 462BUILTIN_OBJS += $(OUTPUT)builtin-sched.o
453BUILTIN_OBJS += builtin-buildid-list.o 463BUILTIN_OBJS += $(OUTPUT)builtin-buildid-list.o
454BUILTIN_OBJS += builtin-buildid-cache.o 464BUILTIN_OBJS += $(OUTPUT)builtin-buildid-cache.o
455BUILTIN_OBJS += builtin-list.o 465BUILTIN_OBJS += $(OUTPUT)builtin-list.o
456BUILTIN_OBJS += builtin-record.o 466BUILTIN_OBJS += $(OUTPUT)builtin-record.o
457BUILTIN_OBJS += builtin-report.o 467BUILTIN_OBJS += $(OUTPUT)builtin-report.o
458BUILTIN_OBJS += builtin-stat.o 468BUILTIN_OBJS += $(OUTPUT)builtin-stat.o
459BUILTIN_OBJS += builtin-timechart.o 469BUILTIN_OBJS += $(OUTPUT)builtin-timechart.o
460BUILTIN_OBJS += builtin-top.o 470BUILTIN_OBJS += $(OUTPUT)builtin-top.o
461BUILTIN_OBJS += builtin-trace.o 471BUILTIN_OBJS += $(OUTPUT)builtin-trace.o
462BUILTIN_OBJS += builtin-probe.o 472BUILTIN_OBJS += $(OUTPUT)builtin-probe.o
463BUILTIN_OBJS += builtin-kmem.o 473BUILTIN_OBJS += $(OUTPUT)builtin-kmem.o
464BUILTIN_OBJS += builtin-lock.o 474BUILTIN_OBJS += $(OUTPUT)builtin-lock.o
475BUILTIN_OBJS += $(OUTPUT)builtin-kvm.o
465 476
466PERFLIBS = $(LIB_FILE) 477PERFLIBS = $(LIB_FILE)
467 478
@@ -492,6 +503,10 @@ ifeq ($(uname_S),Darwin)
492 PTHREAD_LIBS = 503 PTHREAD_LIBS =
493endif 504endif
494 505
506ifneq ($(OUTPUT),)
507 BASIC_CFLAGS += -I$(OUTPUT)
508endif
509
495ifeq ($(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) -o $(BITBUCKET) $(ALL_LDFLAGS) $(EXTLIBS) "$(QUIET_STDERR)" && echo y"), y) 510ifeq ($(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) -o $(BITBUCKET) $(ALL_LDFLAGS) $(EXTLIBS) "$(QUIET_STDERR)" && echo y"), y)
496ifneq ($(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) -o $(BITBUCKET) $(ALL_LDFLAGS) $(EXTLIBS) "$(QUIET_STDERR)" && echo y"), y) 511ifneq ($(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) -o $(BITBUCKET) $(ALL_LDFLAGS) $(EXTLIBS) "$(QUIET_STDERR)" && echo y"), y)
497 msg := $(error No gnu/libc-version.h found, please install glibc-dev[el]/glibc-static); 512 msg := $(error No gnu/libc-version.h found, please install glibc-dev[el]/glibc-static);
@@ -506,11 +521,20 @@ endif
506 521
507ifneq ($(shell sh -c "(echo '\#include <dwarf.h>'; echo '\#include <libdw.h>'; echo 'int main(void) { Dwarf *dbg; dbg = dwarf_begin(0, DWARF_C_READ); return (long)dbg; }') | $(CC) -x c - $(ALL_CFLAGS) -I/usr/include/elfutils -ldw -lelf -o $(BITBUCKET) $(ALL_LDFLAGS) $(EXTLIBS) "$(QUIET_STDERR)" && echo y"), y) 522ifneq ($(shell sh -c "(echo '\#include <dwarf.h>'; echo '\#include <libdw.h>'; echo 'int main(void) { Dwarf *dbg; dbg = dwarf_begin(0, DWARF_C_READ); return (long)dbg; }') | $(CC) -x c - $(ALL_CFLAGS) -I/usr/include/elfutils -ldw -lelf -o $(BITBUCKET) $(ALL_LDFLAGS) $(EXTLIBS) "$(QUIET_STDERR)" && echo y"), y)
508 msg := $(warning No libdw.h found or old libdw.h found, disables dwarf support. Please install elfutils-devel/elfutils-dev); 523 msg := $(warning No libdw.h found or old libdw.h found, disables dwarf support. Please install elfutils-devel/elfutils-dev);
509 BASIC_CFLAGS += -DNO_DWARF_SUPPORT
510else 524else
511 BASIC_CFLAGS += -I/usr/include/elfutils 525ifndef NO_DWARF
526 BASIC_CFLAGS += -I/usr/include/elfutils -DDWARF_SUPPORT
512 EXTLIBS += -lelf -ldw 527 EXTLIBS += -lelf -ldw
513 LIB_OBJS += util/probe-finder.o 528 LIB_OBJS += $(OUTPUT)util/probe-finder.o
529endif
530endif
531
532ifneq ($(shell sh -c "(echo '\#include <newt.h>'; echo 'int main(void) { newtInit(); newtCls(); return newtFinished(); }') | $(CC) -x c - $(ALL_CFLAGS) -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -lnewt -o $(BITBUCKET) $(ALL_LDFLAGS) $(EXTLIBS) "$(QUIET_STDERR)" && echo y"), y)
533 msg := $(warning newt not found, disables TUI support. Please install newt-devel or libnewt-dev);
534 BASIC_CFLAGS += -DNO_NEWT_SUPPORT
535else
536 EXTLIBS += -lnewt
537 LIB_OBJS += $(OUTPUT)util/newt.o
514endif 538endif
515 539
516ifndef NO_LIBPERL 540ifndef NO_LIBPERL
@@ -522,8 +546,8 @@ ifneq ($(shell sh -c "(echo '\#include <EXTERN.h>'; echo '\#include <perl.h>'; e
522 BASIC_CFLAGS += -DNO_LIBPERL 546 BASIC_CFLAGS += -DNO_LIBPERL
523else 547else
524 ALL_LDFLAGS += $(PERL_EMBED_LDOPTS) 548 ALL_LDFLAGS += $(PERL_EMBED_LDOPTS)
525 LIB_OBJS += util/scripting-engines/trace-event-perl.o 549 LIB_OBJS += $(OUTPUT)util/scripting-engines/trace-event-perl.o
526 LIB_OBJS += scripts/perl/Perf-Trace-Util/Context.o 550 LIB_OBJS += $(OUTPUT)scripts/perl/Perf-Trace-Util/Context.o
527endif 551endif
528 552
529ifndef NO_LIBPYTHON 553ifndef NO_LIBPYTHON
@@ -531,12 +555,12 @@ PYTHON_EMBED_LDOPTS = `python-config --ldflags 2>/dev/null`
531PYTHON_EMBED_CCOPTS = `python-config --cflags 2>/dev/null` 555PYTHON_EMBED_CCOPTS = `python-config --cflags 2>/dev/null`
532endif 556endif
533 557
534ifneq ($(shell sh -c "(echo '\#include <Python.h>'; echo 'int main(void) { Py_Initialize(); return 0; }') | $(CC) -x c - $(PYTHON_EMBED_CCOPTS) -o /dev/null $(PYTHON_EMBED_LDOPTS) > /dev/null 2>&1 && echo y"), y) 558ifneq ($(shell sh -c "(echo '\#include <Python.h>'; echo 'int main(void) { Py_Initialize(); return 0; }') | $(CC) -x c - $(PYTHON_EMBED_CCOPTS) -o $(BITBUCKET) $(PYTHON_EMBED_LDOPTS) > /dev/null 2>&1 && echo y"), y)
535 BASIC_CFLAGS += -DNO_LIBPYTHON 559 BASIC_CFLAGS += -DNO_LIBPYTHON
536else 560else
537 ALL_LDFLAGS += $(PYTHON_EMBED_LDOPTS) 561 ALL_LDFLAGS += $(PYTHON_EMBED_LDOPTS)
538 LIB_OBJS += util/scripting-engines/trace-event-python.o 562 LIB_OBJS += $(OUTPUT)util/scripting-engines/trace-event-python.o
539 LIB_OBJS += scripts/python/Perf-Trace-Util/Context.o 563 LIB_OBJS += $(OUTPUT)scripts/python/Perf-Trace-Util/Context.o
540endif 564endif
541 565
542ifdef NO_DEMANGLE 566ifdef NO_DEMANGLE
@@ -607,53 +631,53 @@ ifdef NO_C99_FORMAT
607endif 631endif
608ifdef SNPRINTF_RETURNS_BOGUS 632ifdef SNPRINTF_RETURNS_BOGUS
609 COMPAT_CFLAGS += -DSNPRINTF_RETURNS_BOGUS 633 COMPAT_CFLAGS += -DSNPRINTF_RETURNS_BOGUS
610 COMPAT_OBJS += compat/snprintf.o 634 COMPAT_OBJS += $(OUTPUT)compat/snprintf.o
611endif 635endif
612ifdef FREAD_READS_DIRECTORIES 636ifdef FREAD_READS_DIRECTORIES
613 COMPAT_CFLAGS += -DFREAD_READS_DIRECTORIES 637 COMPAT_CFLAGS += -DFREAD_READS_DIRECTORIES
614 COMPAT_OBJS += compat/fopen.o 638 COMPAT_OBJS += $(OUTPUT)compat/fopen.o
615endif 639endif
616ifdef NO_SYMLINK_HEAD 640ifdef NO_SYMLINK_HEAD
617 BASIC_CFLAGS += -DNO_SYMLINK_HEAD 641 BASIC_CFLAGS += -DNO_SYMLINK_HEAD
618endif 642endif
619ifdef NO_STRCASESTR 643ifdef NO_STRCASESTR
620 COMPAT_CFLAGS += -DNO_STRCASESTR 644 COMPAT_CFLAGS += -DNO_STRCASESTR
621 COMPAT_OBJS += compat/strcasestr.o 645 COMPAT_OBJS += $(OUTPUT)compat/strcasestr.o
622endif 646endif
623ifdef NO_STRTOUMAX 647ifdef NO_STRTOUMAX
624 COMPAT_CFLAGS += -DNO_STRTOUMAX 648 COMPAT_CFLAGS += -DNO_STRTOUMAX
625 COMPAT_OBJS += compat/strtoumax.o 649 COMPAT_OBJS += $(OUTPUT)compat/strtoumax.o
626endif 650endif
627ifdef NO_STRTOULL 651ifdef NO_STRTOULL
628 COMPAT_CFLAGS += -DNO_STRTOULL 652 COMPAT_CFLAGS += -DNO_STRTOULL
629endif 653endif
630ifdef NO_SETENV 654ifdef NO_SETENV
631 COMPAT_CFLAGS += -DNO_SETENV 655 COMPAT_CFLAGS += -DNO_SETENV
632 COMPAT_OBJS += compat/setenv.o 656 COMPAT_OBJS += $(OUTPUT)compat/setenv.o
633endif 657endif
634ifdef NO_MKDTEMP 658ifdef NO_MKDTEMP
635 COMPAT_CFLAGS += -DNO_MKDTEMP 659 COMPAT_CFLAGS += -DNO_MKDTEMP
636 COMPAT_OBJS += compat/mkdtemp.o 660 COMPAT_OBJS += $(OUTPUT)compat/mkdtemp.o
637endif 661endif
638ifdef NO_UNSETENV 662ifdef NO_UNSETENV
639 COMPAT_CFLAGS += -DNO_UNSETENV 663 COMPAT_CFLAGS += -DNO_UNSETENV
640 COMPAT_OBJS += compat/unsetenv.o 664 COMPAT_OBJS += $(OUTPUT)compat/unsetenv.o
641endif 665endif
642ifdef NO_SYS_SELECT_H 666ifdef NO_SYS_SELECT_H
643 BASIC_CFLAGS += -DNO_SYS_SELECT_H 667 BASIC_CFLAGS += -DNO_SYS_SELECT_H
644endif 668endif
645ifdef NO_MMAP 669ifdef NO_MMAP
646 COMPAT_CFLAGS += -DNO_MMAP 670 COMPAT_CFLAGS += -DNO_MMAP
647 COMPAT_OBJS += compat/mmap.o 671 COMPAT_OBJS += $(OUTPUT)compat/mmap.o
648else 672else
649 ifdef USE_WIN32_MMAP 673 ifdef USE_WIN32_MMAP
650 COMPAT_CFLAGS += -DUSE_WIN32_MMAP 674 COMPAT_CFLAGS += -DUSE_WIN32_MMAP
651 COMPAT_OBJS += compat/win32mmap.o 675 COMPAT_OBJS += $(OUTPUT)compat/win32mmap.o
652 endif 676 endif
653endif 677endif
654ifdef NO_PREAD 678ifdef NO_PREAD
655 COMPAT_CFLAGS += -DNO_PREAD 679 COMPAT_CFLAGS += -DNO_PREAD
656 COMPAT_OBJS += compat/pread.o 680 COMPAT_OBJS += $(OUTPUT)compat/pread.o
657endif 681endif
658ifdef NO_FAST_WORKING_DIRECTORY 682ifdef NO_FAST_WORKING_DIRECTORY
659 BASIC_CFLAGS += -DNO_FAST_WORKING_DIRECTORY 683 BASIC_CFLAGS += -DNO_FAST_WORKING_DIRECTORY
@@ -675,10 +699,10 @@ else
675endif 699endif
676endif 700endif
677ifdef NO_INET_NTOP 701ifdef NO_INET_NTOP
678 LIB_OBJS += compat/inet_ntop.o 702 LIB_OBJS += $(OUTPUT)compat/inet_ntop.o
679endif 703endif
680ifdef NO_INET_PTON 704ifdef NO_INET_PTON
681 LIB_OBJS += compat/inet_pton.o 705 LIB_OBJS += $(OUTPUT)compat/inet_pton.o
682endif 706endif
683 707
684ifdef NO_ICONV 708ifdef NO_ICONV
@@ -695,15 +719,15 @@ endif
695 719
696ifdef PPC_SHA1 720ifdef PPC_SHA1
697 SHA1_HEADER = "ppc/sha1.h" 721 SHA1_HEADER = "ppc/sha1.h"
698 LIB_OBJS += ppc/sha1.o ppc/sha1ppc.o 722 LIB_OBJS += $(OUTPUT)ppc/sha1.o ppc/sha1ppc.o
699else 723else
700ifdef ARM_SHA1 724ifdef ARM_SHA1
701 SHA1_HEADER = "arm/sha1.h" 725 SHA1_HEADER = "arm/sha1.h"
702 LIB_OBJS += arm/sha1.o arm/sha1_arm.o 726 LIB_OBJS += $(OUTPUT)arm/sha1.o $(OUTPUT)arm/sha1_arm.o
703else 727else
704ifdef MOZILLA_SHA1 728ifdef MOZILLA_SHA1
705 SHA1_HEADER = "mozilla-sha1/sha1.h" 729 SHA1_HEADER = "mozilla-sha1/sha1.h"
706 LIB_OBJS += mozilla-sha1/sha1.o 730 LIB_OBJS += $(OUTPUT)mozilla-sha1/sha1.o
707else 731else
708 SHA1_HEADER = <openssl/sha.h> 732 SHA1_HEADER = <openssl/sha.h>
709 EXTLIBS += $(LIB_4_CRYPTO) 733 EXTLIBS += $(LIB_4_CRYPTO)
@@ -715,15 +739,15 @@ ifdef NO_PERL_MAKEMAKER
715endif 739endif
716ifdef NO_HSTRERROR 740ifdef NO_HSTRERROR
717 COMPAT_CFLAGS += -DNO_HSTRERROR 741 COMPAT_CFLAGS += -DNO_HSTRERROR
718 COMPAT_OBJS += compat/hstrerror.o 742 COMPAT_OBJS += $(OUTPUT)compat/hstrerror.o
719endif 743endif
720ifdef NO_MEMMEM 744ifdef NO_MEMMEM
721 COMPAT_CFLAGS += -DNO_MEMMEM 745 COMPAT_CFLAGS += -DNO_MEMMEM
722 COMPAT_OBJS += compat/memmem.o 746 COMPAT_OBJS += $(OUTPUT)compat/memmem.o
723endif 747endif
724ifdef INTERNAL_QSORT 748ifdef INTERNAL_QSORT
725 COMPAT_CFLAGS += -DINTERNAL_QSORT 749 COMPAT_CFLAGS += -DINTERNAL_QSORT
726 COMPAT_OBJS += compat/qsort.o 750 COMPAT_OBJS += $(OUTPUT)compat/qsort.o
727endif 751endif
728ifdef RUNTIME_PREFIX 752ifdef RUNTIME_PREFIX
729 COMPAT_CFLAGS += -DRUNTIME_PREFIX 753 COMPAT_CFLAGS += -DRUNTIME_PREFIX
@@ -803,7 +827,7 @@ export TAR INSTALL DESTDIR SHELL_PATH
803 827
804SHELL = $(SHELL_PATH) 828SHELL = $(SHELL_PATH)
805 829
806all:: .perf.dev.null shell_compatibility_test $(ALL_PROGRAMS) $(BUILT_INS) $(OTHER_PROGRAMS) PERF-BUILD-OPTIONS 830all:: .perf.dev.null shell_compatibility_test $(ALL_PROGRAMS) $(BUILT_INS) $(OTHER_PROGRAMS) $(OUTPUT)PERF-BUILD-OPTIONS
807ifneq (,$X) 831ifneq (,$X)
808 $(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_PROGRAMS) $(BUILT_INS) perf$X)), test '$p' -ef '$p$X' || $(RM) '$p';) 832 $(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_PROGRAMS) $(BUILT_INS) perf$X)), test '$p' -ef '$p$X' || $(RM) '$p';)
809endif 833endif
@@ -815,39 +839,39 @@ please_set_SHELL_PATH_to_a_more_modern_shell:
815 839
816shell_compatibility_test: please_set_SHELL_PATH_to_a_more_modern_shell 840shell_compatibility_test: please_set_SHELL_PATH_to_a_more_modern_shell
817 841
818strip: $(PROGRAMS) perf$X 842strip: $(PROGRAMS) $(OUTPUT)perf$X
819 $(STRIP) $(STRIP_OPTS) $(PROGRAMS) perf$X 843 $(STRIP) $(STRIP_OPTS) $(PROGRAMS) $(OUTPUT)perf$X
820 844
821perf.o: perf.c common-cmds.h PERF-CFLAGS 845$(OUTPUT)perf.o: perf.c $(OUTPUT)common-cmds.h $(OUTPUT)PERF-CFLAGS
822 $(QUIET_CC)$(CC) -DPERF_VERSION='"$(PERF_VERSION)"' \ 846 $(QUIET_CC)$(CC) -DPERF_VERSION='"$(PERF_VERSION)"' \
823 '-DPERF_HTML_PATH="$(htmldir_SQ)"' \ 847 '-DPERF_HTML_PATH="$(htmldir_SQ)"' \
824 $(ALL_CFLAGS) -c $(filter %.c,$^) 848 $(ALL_CFLAGS) -c $(filter %.c,$^) -o $@
825 849
826perf$X: perf.o $(BUILTIN_OBJS) $(PERFLIBS) 850$(OUTPUT)perf$X: $(OUTPUT)perf.o $(BUILTIN_OBJS) $(PERFLIBS)
827 $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ perf.o \ 851 $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(OUTPUT)perf.o \
828 $(BUILTIN_OBJS) $(ALL_LDFLAGS) $(LIBS) 852 $(BUILTIN_OBJS) $(ALL_LDFLAGS) $(LIBS)
829 853
830builtin-help.o: builtin-help.c common-cmds.h PERF-CFLAGS 854$(OUTPUT)builtin-help.o: builtin-help.c $(OUTPUT)common-cmds.h $(OUTPUT)PERF-CFLAGS
831 $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) \ 855 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) \
832 '-DPERF_HTML_PATH="$(htmldir_SQ)"' \ 856 '-DPERF_HTML_PATH="$(htmldir_SQ)"' \
833 '-DPERF_MAN_PATH="$(mandir_SQ)"' \ 857 '-DPERF_MAN_PATH="$(mandir_SQ)"' \
834 '-DPERF_INFO_PATH="$(infodir_SQ)"' $< 858 '-DPERF_INFO_PATH="$(infodir_SQ)"' $<
835 859
836builtin-timechart.o: builtin-timechart.c common-cmds.h PERF-CFLAGS 860$(OUTPUT)builtin-timechart.o: builtin-timechart.c $(OUTPUT)common-cmds.h $(OUTPUT)PERF-CFLAGS
837 $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) \ 861 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) \
838 '-DPERF_HTML_PATH="$(htmldir_SQ)"' \ 862 '-DPERF_HTML_PATH="$(htmldir_SQ)"' \
839 '-DPERF_MAN_PATH="$(mandir_SQ)"' \ 863 '-DPERF_MAN_PATH="$(mandir_SQ)"' \
840 '-DPERF_INFO_PATH="$(infodir_SQ)"' $< 864 '-DPERF_INFO_PATH="$(infodir_SQ)"' $<
841 865
842$(BUILT_INS): perf$X 866$(BUILT_INS): $(OUTPUT)perf$X
843 $(QUIET_BUILT_IN)$(RM) $@ && \ 867 $(QUIET_BUILT_IN)$(RM) $@ && \
844 ln perf$X $@ 2>/dev/null || \ 868 ln perf$X $@ 2>/dev/null || \
845 ln -s perf$X $@ 2>/dev/null || \ 869 ln -s perf$X $@ 2>/dev/null || \
846 cp perf$X $@ 870 cp perf$X $@
847 871
848common-cmds.h: util/generate-cmdlist.sh command-list.txt 872$(OUTPUT)common-cmds.h: util/generate-cmdlist.sh command-list.txt
849 873
850common-cmds.h: $(wildcard Documentation/perf-*.txt) 874$(OUTPUT)common-cmds.h: $(wildcard Documentation/perf-*.txt)
851 $(QUIET_GEN). util/generate-cmdlist.sh > $@+ && mv $@+ $@ 875 $(QUIET_GEN). util/generate-cmdlist.sh > $@+ && mv $@+ $@
852 876
853$(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh 877$(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh
@@ -859,7 +883,7 @@ $(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh
859 -e 's/@@NO_CURL@@/$(NO_CURL)/g' \ 883 -e 's/@@NO_CURL@@/$(NO_CURL)/g' \
860 $@.sh >$@+ && \ 884 $@.sh >$@+ && \
861 chmod +x $@+ && \ 885 chmod +x $@+ && \
862 mv $@+ $@ 886 mv $@+ $(OUTPUT)$@
863 887
864configure: configure.ac 888configure: configure.ac
865 $(QUIET_GEN)$(RM) $@ $<+ && \ 889 $(QUIET_GEN)$(RM) $@ $<+ && \
@@ -869,60 +893,60 @@ configure: configure.ac
869 $(RM) $<+ 893 $(RM) $<+
870 894
871# These can record PERF_VERSION 895# These can record PERF_VERSION
872perf.o perf.spec \ 896$(OUTPUT)perf.o perf.spec \
873 $(patsubst %.sh,%,$(SCRIPT_SH)) \ 897 $(patsubst %.sh,%,$(SCRIPT_SH)) \
874 $(patsubst %.perl,%,$(SCRIPT_PERL)) \ 898 $(patsubst %.perl,%,$(SCRIPT_PERL)) \
875 : PERF-VERSION-FILE 899 : $(OUTPUT)PERF-VERSION-FILE
876 900
877%.o: %.c PERF-CFLAGS 901$(OUTPUT)%.o: %.c $(OUTPUT)PERF-CFLAGS
878 $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) $< 902 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
879%.s: %.c PERF-CFLAGS 903$(OUTPUT)%.s: %.c $(OUTPUT)PERF-CFLAGS
880 $(QUIET_CC)$(CC) -S $(ALL_CFLAGS) $< 904 $(QUIET_CC)$(CC) -S $(ALL_CFLAGS) $<
881%.o: %.S 905$(OUTPUT)%.o: %.S
882 $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) $< 906 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
883 907
884util/exec_cmd.o: util/exec_cmd.c PERF-CFLAGS 908$(OUTPUT)util/exec_cmd.o: util/exec_cmd.c $(OUTPUT)PERF-CFLAGS
885 $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) \ 909 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) \
886 '-DPERF_EXEC_PATH="$(perfexecdir_SQ)"' \ 910 '-DPERF_EXEC_PATH="$(perfexecdir_SQ)"' \
887 '-DBINDIR="$(bindir_relative_SQ)"' \ 911 '-DBINDIR="$(bindir_relative_SQ)"' \
888 '-DPREFIX="$(prefix_SQ)"' \ 912 '-DPREFIX="$(prefix_SQ)"' \
889 $< 913 $<
890 914
891builtin-init-db.o: builtin-init-db.c PERF-CFLAGS 915$(OUTPUT)builtin-init-db.o: builtin-init-db.c $(OUTPUT)PERF-CFLAGS
892 $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) -DDEFAULT_PERF_TEMPLATE_DIR='"$(template_dir_SQ)"' $< 916 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DDEFAULT_PERF_TEMPLATE_DIR='"$(template_dir_SQ)"' $<
893 917
894util/config.o: util/config.c PERF-CFLAGS 918$(OUTPUT)util/config.o: util/config.c $(OUTPUT)PERF-CFLAGS
895 $(QUIET_CC)$(CC) -o $*.o -c $(ALL_CFLAGS) -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $< 919 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $<
896 920
897util/rbtree.o: ../../lib/rbtree.c PERF-CFLAGS 921$(OUTPUT)util/rbtree.o: ../../lib/rbtree.c $(OUTPUT)PERF-CFLAGS
898 $(QUIET_CC)$(CC) -o util/rbtree.o -c $(ALL_CFLAGS) -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $< 922 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $<
899 923
900# some perf warning policies can't fit to lib/bitmap.c, eg: it warns about variable shadowing 924# some perf warning policies can't fit to lib/bitmap.c, eg: it warns about variable shadowing
901# from <string.h> that comes from kernel headers wrapping. 925# from <string.h> that comes from kernel headers wrapping.
902KBITMAP_FLAGS=`echo $(ALL_CFLAGS) | sed s/-Wshadow// | sed s/-Wswitch-default// | sed s/-Wextra//` 926KBITMAP_FLAGS=`echo $(ALL_CFLAGS) | sed s/-Wshadow// | sed s/-Wswitch-default// | sed s/-Wextra//`
903 927
904util/bitmap.o: ../../lib/bitmap.c PERF-CFLAGS 928$(OUTPUT)util/bitmap.o: ../../lib/bitmap.c $(OUTPUT)PERF-CFLAGS
905 $(QUIET_CC)$(CC) -o util/bitmap.o -c $(KBITMAP_FLAGS) -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $< 929 $(QUIET_CC)$(CC) -o $@ -c $(KBITMAP_FLAGS) -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $<
906 930
907util/hweight.o: ../../lib/hweight.c PERF-CFLAGS 931$(OUTPUT)util/hweight.o: ../../lib/hweight.c $(OUTPUT)PERF-CFLAGS
908 $(QUIET_CC)$(CC) -o util/hweight.o -c $(ALL_CFLAGS) -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $< 932 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $<
909 933
910util/find_next_bit.o: ../../lib/find_next_bit.c PERF-CFLAGS 934$(OUTPUT)util/find_next_bit.o: ../../lib/find_next_bit.c $(OUTPUT)PERF-CFLAGS
911 $(QUIET_CC)$(CC) -o util/find_next_bit.o -c $(ALL_CFLAGS) -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $< 935 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $<
912 936
913util/scripting-engines/trace-event-perl.o: util/scripting-engines/trace-event-perl.c PERF-CFLAGS 937$(OUTPUT)util/scripting-engines/trace-event-perl.o: util/scripting-engines/trace-event-perl.c $(OUTPUT)PERF-CFLAGS
914 $(QUIET_CC)$(CC) -o util/scripting-engines/trace-event-perl.o -c $(ALL_CFLAGS) $(PERL_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-shadow $< 938 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $(PERL_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-shadow $<
915 939
916scripts/perl/Perf-Trace-Util/Context.o: scripts/perl/Perf-Trace-Util/Context.c PERF-CFLAGS 940$(OUTPUT)scripts/perl/Perf-Trace-Util/Context.o: scripts/perl/Perf-Trace-Util/Context.c $(OUTPUT)PERF-CFLAGS
917 $(QUIET_CC)$(CC) -o scripts/perl/Perf-Trace-Util/Context.o -c $(ALL_CFLAGS) $(PERL_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-nested-externs $< 941 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $(PERL_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-nested-externs $<
918 942
919util/scripting-engines/trace-event-python.o: util/scripting-engines/trace-event-python.c PERF-CFLAGS 943$(OUTPUT)util/scripting-engines/trace-event-python.o: util/scripting-engines/trace-event-python.c $(OUTPUT)PERF-CFLAGS
920 $(QUIET_CC)$(CC) -o util/scripting-engines/trace-event-python.o -c $(ALL_CFLAGS) $(PYTHON_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-shadow $< 944 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $(PYTHON_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-shadow $<
921 945
922scripts/python/Perf-Trace-Util/Context.o: scripts/python/Perf-Trace-Util/Context.c PERF-CFLAGS 946$(OUTPUT)scripts/python/Perf-Trace-Util/Context.o: scripts/python/Perf-Trace-Util/Context.c $(OUTPUT)PERF-CFLAGS
923 $(QUIET_CC)$(CC) -o scripts/python/Perf-Trace-Util/Context.o -c $(ALL_CFLAGS) $(PYTHON_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-nested-externs $< 947 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $(PYTHON_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-nested-externs $<
924 948
925perf-%$X: %.o $(PERFLIBS) 949$(OUTPUT)perf-%$X: %.o $(PERFLIBS)
926 $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS) 950 $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) $(LIBS)
927 951
928$(LIB_OBJS) $(BUILTIN_OBJS): $(LIB_H) 952$(LIB_OBJS) $(BUILTIN_OBJS): $(LIB_H)
@@ -963,17 +987,17 @@ cscope:
963TRACK_CFLAGS = $(subst ','\'',$(ALL_CFLAGS)):\ 987TRACK_CFLAGS = $(subst ','\'',$(ALL_CFLAGS)):\
964 $(bindir_SQ):$(perfexecdir_SQ):$(template_dir_SQ):$(prefix_SQ) 988 $(bindir_SQ):$(perfexecdir_SQ):$(template_dir_SQ):$(prefix_SQ)
965 989
966PERF-CFLAGS: .FORCE-PERF-CFLAGS 990$(OUTPUT)PERF-CFLAGS: .FORCE-PERF-CFLAGS
967 @FLAGS='$(TRACK_CFLAGS)'; \ 991 @FLAGS='$(TRACK_CFLAGS)'; \
968 if test x"$$FLAGS" != x"`cat PERF-CFLAGS 2>/dev/null`" ; then \ 992 if test x"$$FLAGS" != x"`cat $(OUTPUT)PERF-CFLAGS 2>/dev/null`" ; then \
969 echo 1>&2 " * new build flags or prefix"; \ 993 echo 1>&2 " * new build flags or prefix"; \
970 echo "$$FLAGS" >PERF-CFLAGS; \ 994 echo "$$FLAGS" >$(OUTPUT)PERF-CFLAGS; \
971 fi 995 fi
972 996
973# We need to apply sq twice, once to protect from the shell 997# We need to apply sq twice, once to protect from the shell
974# that runs PERF-BUILD-OPTIONS, and then again to protect it 998# that runs $(OUTPUT)PERF-BUILD-OPTIONS, and then again to protect it
975# and the first level quoting from the shell that runs "echo". 999# and the first level quoting from the shell that runs "echo".
976PERF-BUILD-OPTIONS: .FORCE-PERF-BUILD-OPTIONS 1000$(OUTPUT)PERF-BUILD-OPTIONS: .FORCE-PERF-BUILD-OPTIONS
977 @echo SHELL_PATH=\''$(subst ','\'',$(SHELL_PATH_SQ))'\' >$@ 1001 @echo SHELL_PATH=\''$(subst ','\'',$(SHELL_PATH_SQ))'\' >$@
978 @echo TAR=\''$(subst ','\'',$(subst ','\'',$(TAR)))'\' >>$@ 1002 @echo TAR=\''$(subst ','\'',$(subst ','\'',$(TAR)))'\' >>$@
979 @echo NO_CURL=\''$(subst ','\'',$(subst ','\'',$(NO_CURL)))'\' >>$@ 1003 @echo NO_CURL=\''$(subst ','\'',$(subst ','\'',$(NO_CURL)))'\' >>$@
@@ -994,7 +1018,7 @@ all:: $(TEST_PROGRAMS)
994 1018
995export NO_SVN_TESTS 1019export NO_SVN_TESTS
996 1020
997check: common-cmds.h 1021check: $(OUTPUT)common-cmds.h
998 if sparse; \ 1022 if sparse; \
999 then \ 1023 then \
1000 for i in *.c */*.c; \ 1024 for i in *.c */*.c; \
@@ -1028,10 +1052,10 @@ export perfexec_instdir
1028 1052
1029install: all 1053install: all
1030 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(bindir_SQ)' 1054 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(bindir_SQ)'
1031 $(INSTALL) perf$X '$(DESTDIR_SQ)$(bindir_SQ)' 1055 $(INSTALL) $(OUTPUT)perf$X '$(DESTDIR_SQ)$(bindir_SQ)'
1032 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/Perf-Trace-Util/lib/Perf/Trace' 1056 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/Perf-Trace-Util/lib/Perf/Trace'
1033 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/bin' 1057 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/bin'
1034 $(INSTALL) perf-archive -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)' 1058 $(INSTALL) $(OUTPUT)perf-archive -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)'
1035 $(INSTALL) scripts/perl/Perf-Trace-Util/lib/Perf/Trace/* -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/Perf-Trace-Util/lib/Perf/Trace' 1059 $(INSTALL) scripts/perl/Perf-Trace-Util/lib/Perf/Trace/* -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/Perf-Trace-Util/lib/Perf/Trace'
1036 $(INSTALL) scripts/perl/*.pl -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl' 1060 $(INSTALL) scripts/perl/*.pl -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl'
1037 $(INSTALL) scripts/perl/bin/* -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/bin' 1061 $(INSTALL) scripts/perl/bin/* -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/bin'
@@ -1045,7 +1069,7 @@ ifdef BUILT_INS
1045 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)' 1069 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)'
1046 $(INSTALL) $(BUILT_INS) '$(DESTDIR_SQ)$(perfexec_instdir_SQ)' 1070 $(INSTALL) $(BUILT_INS) '$(DESTDIR_SQ)$(perfexec_instdir_SQ)'
1047ifneq (,$X) 1071ifneq (,$X)
1048 $(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_PROGRAMS) $(BUILT_INS) perf$X)), $(RM) '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/$p';) 1072 $(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_PROGRAMS) $(BUILT_INS) $(OUTPUT)perf$X)), $(RM) '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/$p';)
1049endif 1073endif
1050endif 1074endif
1051 1075
@@ -1129,14 +1153,14 @@ clean:
1129 $(RM) *.o */*.o */*/*.o */*/*/*.o $(LIB_FILE) 1153 $(RM) *.o */*.o */*/*.o */*/*/*.o $(LIB_FILE)
1130 $(RM) $(ALL_PROGRAMS) $(BUILT_INS) perf$X 1154 $(RM) $(ALL_PROGRAMS) $(BUILT_INS) perf$X
1131 $(RM) $(TEST_PROGRAMS) 1155 $(RM) $(TEST_PROGRAMS)
1132 $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo common-cmds.h TAGS tags cscope* 1156 $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope*
1133 $(RM) -r autom4te.cache 1157 $(RM) -r autom4te.cache
1134 $(RM) config.log config.mak.autogen config.mak.append config.status config.cache 1158 $(RM) config.log config.mak.autogen config.mak.append config.status config.cache
1135 $(RM) -r $(PERF_TARNAME) .doc-tmp-dir 1159 $(RM) -r $(PERF_TARNAME) .doc-tmp-dir
1136 $(RM) $(PERF_TARNAME).tar.gz perf-core_$(PERF_VERSION)-*.tar.gz 1160 $(RM) $(PERF_TARNAME).tar.gz perf-core_$(PERF_VERSION)-*.tar.gz
1137 $(RM) $(htmldocs).tar.gz $(manpages).tar.gz 1161 $(RM) $(htmldocs).tar.gz $(manpages).tar.gz
1138 $(MAKE) -C Documentation/ clean 1162 $(MAKE) -C Documentation/ clean
1139 $(RM) PERF-VERSION-FILE PERF-CFLAGS PERF-BUILD-OPTIONS 1163 $(RM) $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)PERF-CFLAGS $(OUTPUT)PERF-BUILD-OPTIONS
1140 1164
1141.PHONY: all install clean strip 1165.PHONY: all install clean strip
1142.PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell 1166.PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell