aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/Makefile')
-rw-r--r--tools/perf/Makefile49
1 files changed, 48 insertions, 1 deletions
diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index 74fd7f89208a..b492e3a51268 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -61,6 +61,8 @@ ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
61 61
62CC = $(CROSS_COMPILE)gcc 62CC = $(CROSS_COMPILE)gcc
63AR = $(CROSS_COMPILE)ar 63AR = $(CROSS_COMPILE)ar
64FLEX = $(CROSS_COMPILE)flex
65BISON= $(CROSS_COMPILE)bison
64 66
65# Additional ARCH settings for x86 67# Additional ARCH settings for x86
66ifeq ($(ARCH),i386) 68ifeq ($(ARCH),i386)
@@ -276,6 +278,7 @@ LIB_H += util/build-id.h
276LIB_H += util/debug.h 278LIB_H += util/debug.h
277LIB_H += util/debugfs.h 279LIB_H += util/debugfs.h
278LIB_H += util/sysfs.h 280LIB_H += util/sysfs.h
281LIB_H += util/pmu.h
279LIB_H += util/event.h 282LIB_H += util/event.h
280LIB_H += util/evsel.h 283LIB_H += util/evsel.h
281LIB_H += util/evlist.h 284LIB_H += util/evlist.h
@@ -323,6 +326,7 @@ LIB_OBJS += $(OUTPUT)util/config.o
323LIB_OBJS += $(OUTPUT)util/ctype.o 326LIB_OBJS += $(OUTPUT)util/ctype.o
324LIB_OBJS += $(OUTPUT)util/debugfs.o 327LIB_OBJS += $(OUTPUT)util/debugfs.o
325LIB_OBJS += $(OUTPUT)util/sysfs.o 328LIB_OBJS += $(OUTPUT)util/sysfs.o
329LIB_OBJS += $(OUTPUT)util/pmu.o
326LIB_OBJS += $(OUTPUT)util/environment.o 330LIB_OBJS += $(OUTPUT)util/environment.o
327LIB_OBJS += $(OUTPUT)util/event.o 331LIB_OBJS += $(OUTPUT)util/event.o
328LIB_OBJS += $(OUTPUT)util/evlist.o 332LIB_OBJS += $(OUTPUT)util/evlist.o
@@ -359,6 +363,10 @@ LIB_OBJS += $(OUTPUT)util/session.o
359LIB_OBJS += $(OUTPUT)util/thread.o 363LIB_OBJS += $(OUTPUT)util/thread.o
360LIB_OBJS += $(OUTPUT)util/thread_map.o 364LIB_OBJS += $(OUTPUT)util/thread_map.o
361LIB_OBJS += $(OUTPUT)util/trace-event-parse.o 365LIB_OBJS += $(OUTPUT)util/trace-event-parse.o
366LIB_OBJS += $(OUTPUT)util/parse-events-flex.o
367LIB_OBJS += $(OUTPUT)util/parse-events-bison.o
368LIB_OBJS += $(OUTPUT)util/pmu-flex.o
369LIB_OBJS += $(OUTPUT)util/pmu-bison.o
362LIB_OBJS += $(OUTPUT)util/trace-event-read.o 370LIB_OBJS += $(OUTPUT)util/trace-event-read.o
363LIB_OBJS += $(OUTPUT)util/trace-event-info.o 371LIB_OBJS += $(OUTPUT)util/trace-event-info.o
364LIB_OBJS += $(OUTPUT)util/trace-event-scripting.o 372LIB_OBJS += $(OUTPUT)util/trace-event-scripting.o
@@ -501,6 +509,20 @@ else
501 endif 509 endif
502endif 510endif
503 511
512ifdef NO_GTK2
513 BASIC_CFLAGS += -DNO_GTK2
514else
515 FLAGS_GTK2=$(ALL_CFLAGS) $(ALL_LDFLAGS) $(EXTLIBS) $(shell pkg-config --libs --cflags gtk+-2.0)
516 ifneq ($(call try-cc,$(SOURCE_GTK2),$(FLAGS_GTK2)),y)
517 msg := $(warning GTK2 not found, disables GTK2 support. Please install gtk2-devel or libgtk2.0-dev);
518 BASIC_CFLAGS += -DNO_GTK2_SUPPORT
519 else
520 BASIC_CFLAGS += $(shell pkg-config --cflags gtk+-2.0)
521 EXTLIBS += $(shell pkg-config --libs gtk+-2.0)
522 LIB_OBJS += $(OUTPUT)util/gtk/browser.o
523 endif
524endif
525
504ifdef NO_LIBPERL 526ifdef NO_LIBPERL
505 BASIC_CFLAGS += -DNO_LIBPERL 527 BASIC_CFLAGS += -DNO_LIBPERL
506else 528else
@@ -647,6 +669,8 @@ ifndef V
647 QUIET_LINK = @echo ' ' LINK $@; 669 QUIET_LINK = @echo ' ' LINK $@;
648 QUIET_MKDIR = @echo ' ' MKDIR $@; 670 QUIET_MKDIR = @echo ' ' MKDIR $@;
649 QUIET_GEN = @echo ' ' GEN $@; 671 QUIET_GEN = @echo ' ' GEN $@;
672 QUIET_FLEX = @echo ' ' FLEX $@;
673 QUIET_BISON = @echo ' ' BISON $@;
650endif 674endif
651endif 675endif
652 676
@@ -727,12 +751,19 @@ $(OUTPUT)perf.o perf.spec \
727 $(SCRIPTS) \ 751 $(SCRIPTS) \
728 : $(OUTPUT)PERF-VERSION-FILE 752 : $(OUTPUT)PERF-VERSION-FILE
729 753
754.SUFFIXES:
755.SUFFIXES: .o .c .S .s
756
730$(OUTPUT)%.o: %.c $(OUTPUT)PERF-CFLAGS 757$(OUTPUT)%.o: %.c $(OUTPUT)PERF-CFLAGS
731 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $< 758 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
759$(OUTPUT)%.i: %.c $(OUTPUT)PERF-CFLAGS
760 $(QUIET_CC)$(CC) -o $@ -E $(ALL_CFLAGS) $<
732$(OUTPUT)%.s: %.c $(OUTPUT)PERF-CFLAGS 761$(OUTPUT)%.s: %.c $(OUTPUT)PERF-CFLAGS
733 $(QUIET_CC)$(CC) -S $(ALL_CFLAGS) $< 762 $(QUIET_CC)$(CC) -o $@ -S $(ALL_CFLAGS) $<
734$(OUTPUT)%.o: %.S 763$(OUTPUT)%.o: %.S
735 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $< 764 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $<
765$(OUTPUT)%.s: %.S
766 $(QUIET_CC)$(CC) -o $@ -E $(ALL_CFLAGS) $<
736 767
737$(OUTPUT)util/exec_cmd.o: util/exec_cmd.c $(OUTPUT)PERF-CFLAGS 768$(OUTPUT)util/exec_cmd.o: util/exec_cmd.c $(OUTPUT)PERF-CFLAGS
738 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) \ 769 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) \
@@ -759,6 +790,12 @@ $(OUTPUT)util/ui/browsers/map.o: util/ui/browsers/map.c $(OUTPUT)PERF-CFLAGS
759$(OUTPUT)util/rbtree.o: ../../lib/rbtree.c $(OUTPUT)PERF-CFLAGS 790$(OUTPUT)util/rbtree.o: ../../lib/rbtree.c $(OUTPUT)PERF-CFLAGS
760 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $< 791 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $<
761 792
793$(OUTPUT)util/parse-events-flex.o: util/parse-events-flex.c $(OUTPUT)PERF-CFLAGS
794 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
795
796$(OUTPUT)util/pmu-flex.o: util/pmu-flex.c $(OUTPUT)PERF-CFLAGS
797 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -Wno-redundant-decls -Wno-switch-default -Wno-unused-function $<
798
762$(OUTPUT)util/scripting-engines/trace-event-perl.o: util/scripting-engines/trace-event-perl.c $(OUTPUT)PERF-CFLAGS 799$(OUTPUT)util/scripting-engines/trace-event-perl.o: util/scripting-engines/trace-event-perl.c $(OUTPUT)PERF-CFLAGS
763 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $(PERL_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-shadow $< 800 $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) $(PERL_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-shadow $<
764 801
@@ -795,6 +832,8 @@ help:
795 @echo ' html - make html documentation' 832 @echo ' html - make html documentation'
796 @echo ' info - make GNU info documentation (access with info <foo>)' 833 @echo ' info - make GNU info documentation (access with info <foo>)'
797 @echo ' pdf - make pdf documentation' 834 @echo ' pdf - make pdf documentation'
835 @echo ' event-parser - make event parser code'
836 @echo ' pmu-parser - make pmu format parser code'
798 @echo ' TAGS - use etags to make tag information for source browsing' 837 @echo ' TAGS - use etags to make tag information for source browsing'
799 @echo ' tags - use ctags to make tag information for source browsing' 838 @echo ' tags - use ctags to make tag information for source browsing'
800 @echo ' cscope - use cscope to make interactive browsing database' 839 @echo ' cscope - use cscope to make interactive browsing database'
@@ -844,6 +883,14 @@ cscope:
844 $(RM) cscope* 883 $(RM) cscope*
845 $(FIND) . -name '*.[hcS]' -print | xargs cscope -b 884 $(FIND) . -name '*.[hcS]' -print | xargs cscope -b
846 885
886event-parser:
887 $(QUIET_BISON)$(BISON) -v util/parse-events.y -d -o util/parse-events-bison.c
888 $(QUIET_FLEX)$(FLEX) --header-file=util/parse-events-flex.h -t util/parse-events.l > util/parse-events-flex.c
889
890pmu-parser:
891 $(QUIET_BISON)$(BISON) -v util/pmu.y -d -o util/pmu-bison.c
892 $(QUIET_FLEX)$(FLEX) --header-file=util/pmu-flex.h -t util/pmu.l > util/pmu-flex.c
893
847### Detect prefix changes 894### Detect prefix changes
848TRACK_CFLAGS = $(subst ','\'',$(ALL_CFLAGS)):\ 895TRACK_CFLAGS = $(subst ','\'',$(ALL_CFLAGS)):\
849 $(bindir_SQ):$(perfexecdir_SQ):$(template_dir_SQ):$(prefix_SQ) 896 $(bindir_SQ):$(perfexecdir_SQ):$(template_dir_SQ):$(prefix_SQ)