diff options
Diffstat (limited to 'tools/perf/Makefile.perf')
-rw-r--r-- | tools/perf/Makefile.perf | 44 |
1 files changed, 30 insertions, 14 deletions
diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index 0d19d5447d6c..0a22407e1d7d 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf | |||
@@ -145,9 +145,10 @@ BISON = bison | |||
145 | STRIP = strip | 145 | STRIP = strip |
146 | AWK = awk | 146 | AWK = awk |
147 | 147 | ||
148 | LIB_DIR = $(srctree)/tools/lib/api/ | 148 | LIB_DIR = $(srctree)/tools/lib/api/ |
149 | TRACE_EVENT_DIR = $(srctree)/tools/lib/traceevent/ | 149 | TRACE_EVENT_DIR = $(srctree)/tools/lib/traceevent/ |
150 | BPF_DIR = $(srctree)/tools/lib/bpf/ | 150 | BPF_DIR = $(srctree)/tools/lib/bpf/ |
151 | SUBCMD_DIR = $(srctree)/tools/lib/subcmd/ | ||
151 | 152 | ||
152 | # include config/Makefile by default and rule out | 153 | # include config/Makefile by default and rule out |
153 | # non-config cases | 154 | # non-config cases |
@@ -184,15 +185,17 @@ strip-libs = $(filter-out -l%,$(1)) | |||
184 | ifneq ($(OUTPUT),) | 185 | ifneq ($(OUTPUT),) |
185 | TE_PATH=$(OUTPUT) | 186 | TE_PATH=$(OUTPUT) |
186 | BPF_PATH=$(OUTPUT) | 187 | BPF_PATH=$(OUTPUT) |
188 | SUBCMD_PATH=$(OUTPUT) | ||
187 | ifneq ($(subdir),) | 189 | ifneq ($(subdir),) |
188 | LIB_PATH=$(OUTPUT)/../lib/api/ | 190 | API_PATH=$(OUTPUT)/../lib/api/ |
189 | else | 191 | else |
190 | LIB_PATH=$(OUTPUT) | 192 | API_PATH=$(OUTPUT) |
191 | endif | 193 | endif |
192 | else | 194 | else |
193 | TE_PATH=$(TRACE_EVENT_DIR) | 195 | TE_PATH=$(TRACE_EVENT_DIR) |
194 | LIB_PATH=$(LIB_DIR) | 196 | API_PATH=$(LIB_DIR) |
195 | BPF_PATH=$(BPF_DIR) | 197 | BPF_PATH=$(BPF_DIR) |
198 | SUBCMD_PATH=$(SUBCMD_DIR) | ||
196 | endif | 199 | endif |
197 | 200 | ||
198 | LIBTRACEEVENT = $(TE_PATH)libtraceevent.a | 201 | LIBTRACEEVENT = $(TE_PATH)libtraceevent.a |
@@ -201,11 +204,13 @@ export LIBTRACEEVENT | |||
201 | LIBTRACEEVENT_DYNAMIC_LIST = $(TE_PATH)libtraceevent-dynamic-list | 204 | LIBTRACEEVENT_DYNAMIC_LIST = $(TE_PATH)libtraceevent-dynamic-list |
202 | LIBTRACEEVENT_DYNAMIC_LIST_LDFLAGS = -Xlinker --dynamic-list=$(LIBTRACEEVENT_DYNAMIC_LIST) | 205 | LIBTRACEEVENT_DYNAMIC_LIST_LDFLAGS = -Xlinker --dynamic-list=$(LIBTRACEEVENT_DYNAMIC_LIST) |
203 | 206 | ||
204 | LIBAPI = $(LIB_PATH)libapi.a | 207 | LIBAPI = $(API_PATH)libapi.a |
205 | export LIBAPI | 208 | export LIBAPI |
206 | 209 | ||
207 | LIBBPF = $(BPF_PATH)libbpf.a | 210 | LIBBPF = $(BPF_PATH)libbpf.a |
208 | 211 | ||
212 | LIBSUBCMD = $(SUBCMD_PATH)libsubcmd.a | ||
213 | |||
209 | # python extension build directories | 214 | # python extension build directories |
210 | PYTHON_EXTBUILD := $(OUTPUT)python_ext_build/ | 215 | PYTHON_EXTBUILD := $(OUTPUT)python_ext_build/ |
211 | PYTHON_EXTBUILD_LIB := $(PYTHON_EXTBUILD)lib/ | 216 | PYTHON_EXTBUILD_LIB := $(PYTHON_EXTBUILD)lib/ |
@@ -257,7 +262,7 @@ export PERL_PATH | |||
257 | 262 | ||
258 | LIB_FILE=$(OUTPUT)libperf.a | 263 | LIB_FILE=$(OUTPUT)libperf.a |
259 | 264 | ||
260 | PERFLIBS = $(LIB_FILE) $(LIBAPI) $(LIBTRACEEVENT) | 265 | PERFLIBS = $(LIB_FILE) $(LIBAPI) $(LIBTRACEEVENT) $(LIBSUBCMD) |
261 | ifndef NO_LIBBPF | 266 | ifndef NO_LIBBPF |
262 | PERFLIBS += $(LIBBPF) | 267 | PERFLIBS += $(LIBBPF) |
263 | endif | 268 | endif |
@@ -420,7 +425,7 @@ $(LIBTRACEEVENT)-clean: | |||
420 | $(call QUIET_CLEAN, libtraceevent) | 425 | $(call QUIET_CLEAN, libtraceevent) |
421 | $(Q)$(MAKE) -C $(TRACE_EVENT_DIR) O=$(OUTPUT) clean >/dev/null | 426 | $(Q)$(MAKE) -C $(TRACE_EVENT_DIR) O=$(OUTPUT) clean >/dev/null |
422 | 427 | ||
423 | install-traceevent-plugins: $(LIBTRACEEVENT) | 428 | install-traceevent-plugins: libtraceevent_plugins |
424 | $(Q)$(MAKE) -C $(TRACE_EVENT_DIR) $(LIBTRACEEVENT_FLAGS) O=$(OUTPUT) install_plugins | 429 | $(Q)$(MAKE) -C $(TRACE_EVENT_DIR) $(LIBTRACEEVENT_FLAGS) O=$(OUTPUT) install_plugins |
425 | 430 | ||
426 | $(LIBAPI): fixdep FORCE | 431 | $(LIBAPI): fixdep FORCE |
@@ -431,12 +436,19 @@ $(LIBAPI)-clean: | |||
431 | $(Q)$(MAKE) -C $(LIB_DIR) O=$(OUTPUT) clean >/dev/null | 436 | $(Q)$(MAKE) -C $(LIB_DIR) O=$(OUTPUT) clean >/dev/null |
432 | 437 | ||
433 | $(LIBBPF): fixdep FORCE | 438 | $(LIBBPF): fixdep FORCE |
434 | $(Q)$(MAKE) -C $(BPF_DIR) O=$(OUTPUT) $(OUTPUT)libbpf.a | 439 | $(Q)$(MAKE) -C $(BPF_DIR) O=$(OUTPUT) $(OUTPUT)libbpf.a FEATURES_DUMP=$(realpath $(OUTPUT)FEATURE-DUMP) |
435 | 440 | ||
436 | $(LIBBPF)-clean: | 441 | $(LIBBPF)-clean: |
437 | $(call QUIET_CLEAN, libbpf) | 442 | $(call QUIET_CLEAN, libbpf) |
438 | $(Q)$(MAKE) -C $(BPF_DIR) O=$(OUTPUT) clean >/dev/null | 443 | $(Q)$(MAKE) -C $(BPF_DIR) O=$(OUTPUT) clean >/dev/null |
439 | 444 | ||
445 | $(LIBSUBCMD): fixdep FORCE | ||
446 | $(Q)$(MAKE) -C $(SUBCMD_DIR) O=$(OUTPUT) $(OUTPUT)libsubcmd.a | ||
447 | |||
448 | $(LIBSUBCMD)-clean: | ||
449 | $(call QUIET_CLEAN, libsubcmd) | ||
450 | $(Q)$(MAKE) -C $(SUBCMD_DIR) O=$(OUTPUT) clean | ||
451 | |||
440 | help: | 452 | help: |
441 | @echo 'Perf make targets:' | 453 | @echo 'Perf make targets:' |
442 | @echo ' doc - make *all* documentation (see below)' | 454 | @echo ' doc - make *all* documentation (see below)' |
@@ -476,7 +488,7 @@ INSTALL_DOC_TARGETS += quick-install-doc quick-install-man quick-install-html | |||
476 | $(DOC_TARGETS): | 488 | $(DOC_TARGETS): |
477 | $(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) $(@:doc=all) | 489 | $(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) $(@:doc=all) |
478 | 490 | ||
479 | TAG_FOLDERS= . ../lib/traceevent ../lib/api ../lib/symbol ../include ../lib/bpf | 491 | TAG_FOLDERS= . ../lib ../include |
480 | TAG_FILES= ../../include/uapi/linux/perf_event.h | 492 | TAG_FILES= ../../include/uapi/linux/perf_event.h |
481 | 493 | ||
482 | TAGS: | 494 | TAGS: |
@@ -555,6 +567,9 @@ endif | |||
555 | $(call QUIET_INSTALL, perf_completion-script) \ | 567 | $(call QUIET_INSTALL, perf_completion-script) \ |
556 | $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d'; \ | 568 | $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d'; \ |
557 | $(INSTALL) perf-completion.sh '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d/perf' | 569 | $(INSTALL) perf-completion.sh '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d/perf' |
570 | $(call QUIET_INSTALL, perf-tip) \ | ||
571 | $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(tip_instdir_SQ)'; \ | ||
572 | $(INSTALL) Documentation/tips.txt -t '$(DESTDIR_SQ)$(tip_instdir_SQ)' | ||
558 | 573 | ||
559 | install-tests: all install-gtk | 574 | install-tests: all install-gtk |
560 | $(call QUIET_INSTALL, tests) \ | 575 | $(call QUIET_INSTALL, tests) \ |
@@ -582,15 +597,16 @@ $(INSTALL_DOC_TARGETS): | |||
582 | # | 597 | # |
583 | config-clean: | 598 | config-clean: |
584 | $(call QUIET_CLEAN, config) | 599 | $(call QUIET_CLEAN, config) |
585 | $(Q)$(MAKE) -C $(srctree)/tools/build/feature/ clean >/dev/null | 600 | $(Q)$(MAKE) -C $(srctree)/tools/build/feature/ $(if $(OUTPUT),OUTPUT=$(OUTPUT)feature/,) clean >/dev/null |
586 | 601 | ||
587 | clean: $(LIBTRACEEVENT)-clean $(LIBAPI)-clean $(LIBBPF)-clean config-clean | 602 | clean: $(LIBTRACEEVENT)-clean $(LIBAPI)-clean $(LIBBPF)-clean $(LIBSUBCMD)-clean config-clean |
588 | $(call QUIET_CLEAN, core-objs) $(RM) $(LIB_FILE) $(OUTPUT)perf-archive $(OUTPUT)perf-with-kcore $(LANG_BINDINGS) | 603 | $(call QUIET_CLEAN, core-objs) $(RM) $(LIB_FILE) $(OUTPUT)perf-archive $(OUTPUT)perf-with-kcore $(LANG_BINDINGS) |
589 | $(Q)find . -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete | 604 | $(Q)find $(if $(OUTPUT),$(OUTPUT),.) -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete |
590 | $(Q)$(RM) $(OUTPUT).config-detected | 605 | $(Q)$(RM) $(OUTPUT).config-detected |
591 | $(call QUIET_CLEAN, core-progs) $(RM) $(ALL_PROGRAMS) perf perf-read-vdso32 perf-read-vdsox32 | 606 | $(call QUIET_CLEAN, core-progs) $(RM) $(ALL_PROGRAMS) perf perf-read-vdso32 perf-read-vdsox32 |
592 | $(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)FEATURE-DUMP $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex* \ | 607 | $(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)FEATURE-DUMP $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex* \ |
593 | $(OUTPUT)util/intel-pt-decoder/inat-tables.c | 608 | $(OUTPUT)util/intel-pt-decoder/inat-tables.c $(OUTPUT)fixdep \ |
609 | $(OUTPUT)tests/llvm-src-{base,kbuild,prologue}.c | ||
594 | $(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) clean | 610 | $(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) clean |
595 | $(python-clean) | 611 | $(python-clean) |
596 | 612 | ||