Makefile.perf (b283d2f3b74bc98174e8453c0be41dfcda3cae1b) | Makefile.perf (553873e1df63a20559ac9c336765dc7055cfc3d4) |
---|---|
1include ../scripts/Makefile.include 2 3# The default target of this Makefile is... 4all: 5 6include config/utilities.mak 7 8# Define V to have a more verbose compile. --- 72 unchanged lines hidden (view full) --- 81LN = ln -f 82MKDIR = mkdir 83FIND = find 84INSTALL = install 85FLEX = flex 86BISON = bison 87STRIP = strip 88 | 1include ../scripts/Makefile.include 2 3# The default target of this Makefile is... 4all: 5 6include config/utilities.mak 7 8# Define V to have a more verbose compile. --- 72 unchanged lines hidden (view full) --- 81LN = ln -f 82MKDIR = mkdir 83FIND = find 84INSTALL = install 85FLEX = flex 86BISON = bison 87STRIP = strip 88 |
89LK_DIR = $(srctree)/tools/lib/lk/ | 89LIB_DIR = $(srctree)/tools/lib/api/ |
90TRACE_EVENT_DIR = $(srctree)/tools/lib/traceevent/ 91 92# include config/Makefile by default and rule out 93# non-config cases 94config := 1 95 96NON_CONFIG_TARGETS := clean TAGS tags cscope help 97 --- 24 unchanged lines hidden (view full) --- 122SCRIPT_SH += perf-archive.sh 123 124grep-libs = $(filter -l%,$(1)) 125strip-libs = $(filter-out -l%,$(1)) 126 127ifneq ($(OUTPUT),) 128 TE_PATH=$(OUTPUT) 129ifneq ($(subdir),) | 90TRACE_EVENT_DIR = $(srctree)/tools/lib/traceevent/ 91 92# include config/Makefile by default and rule out 93# non-config cases 94config := 1 95 96NON_CONFIG_TARGETS := clean TAGS tags cscope help 97 --- 24 unchanged lines hidden (view full) --- 122SCRIPT_SH += perf-archive.sh 123 124grep-libs = $(filter -l%,$(1)) 125strip-libs = $(filter-out -l%,$(1)) 126 127ifneq ($(OUTPUT),) 128 TE_PATH=$(OUTPUT) 129ifneq ($(subdir),) |
130 LK_PATH=$(OUTPUT)/../lib/lk/ | 130 LIB_PATH=$(OUTPUT)/../lib/api/ |
131else | 131else |
132 LK_PATH=$(OUTPUT) | 132 LIB_PATH=$(OUTPUT) |
133endif 134else 135 TE_PATH=$(TRACE_EVENT_DIR) | 133endif 134else 135 TE_PATH=$(TRACE_EVENT_DIR) |
136 LK_PATH=$(LK_DIR) | 136 LIB_PATH=$(LIB_DIR) |
137endif 138 139LIBTRACEEVENT = $(TE_PATH)libtraceevent.a 140export LIBTRACEEVENT 141 | 137endif 138 139LIBTRACEEVENT = $(TE_PATH)libtraceevent.a 140export LIBTRACEEVENT 141 |
142LIBLK = $(LK_PATH)liblk.a 143export LIBLK | 142LIBAPIKFS = $(LIB_PATH)libapikfs.a 143export LIBAPIKFS |
144 145# python extension build directories 146PYTHON_EXTBUILD := $(OUTPUT)python_ext_build/ 147PYTHON_EXTBUILD_LIB := $(PYTHON_EXTBUILD)lib/ 148PYTHON_EXTBUILD_TMP := $(PYTHON_EXTBUILD)tmp/ 149export PYTHON_EXTBUILD_LIB PYTHON_EXTBUILD_TMP 150 151python-clean := $(call QUIET_CLEAN, python) $(RM) -r $(PYTHON_EXTBUILD) $(OUTPUT)python/perf.so 152 153PYTHON_EXT_SRCS := $(shell grep -v ^\# util/python-ext-sources) | 144 145# python extension build directories 146PYTHON_EXTBUILD := $(OUTPUT)python_ext_build/ 147PYTHON_EXTBUILD_LIB := $(PYTHON_EXTBUILD)lib/ 148PYTHON_EXTBUILD_TMP := $(PYTHON_EXTBUILD)tmp/ 149export PYTHON_EXTBUILD_LIB PYTHON_EXTBUILD_TMP 150 151python-clean := $(call QUIET_CLEAN, python) $(RM) -r $(PYTHON_EXTBUILD) $(OUTPUT)python/perf.so 152 153PYTHON_EXT_SRCS := $(shell grep -v ^\# util/python-ext-sources) |
154PYTHON_EXT_DEPS := util/python-ext-sources util/setup.py $(LIBTRACEEVENT) $(LIBLK) | 154PYTHON_EXT_DEPS := util/python-ext-sources util/setup.py $(LIBTRACEEVENT) $(LIBAPIKFS) |
155 156$(OUTPUT)python/perf.so: $(PYTHON_EXT_SRCS) $(PYTHON_EXT_DEPS) 157 $(QUIET_GEN)CFLAGS='$(CFLAGS)' $(PYTHON_WORD) util/setup.py \ 158 --quiet build_ext; \ 159 mkdir -p $(OUTPUT)python && \ 160 cp $(PYTHON_EXTBUILD_LIB)perf.so $(OUTPUT)python/ 161# 162# No Perl scripts right now: --- 273 unchanged lines hidden (view full) --- 436BUILTIN_OBJS += $(OUTPUT)builtin-probe.o 437BUILTIN_OBJS += $(OUTPUT)builtin-kmem.o 438BUILTIN_OBJS += $(OUTPUT)builtin-lock.o 439BUILTIN_OBJS += $(OUTPUT)builtin-kvm.o 440BUILTIN_OBJS += $(OUTPUT)builtin-inject.o 441BUILTIN_OBJS += $(OUTPUT)tests/builtin-test.o 442BUILTIN_OBJS += $(OUTPUT)builtin-mem.o 443 | 155 156$(OUTPUT)python/perf.so: $(PYTHON_EXT_SRCS) $(PYTHON_EXT_DEPS) 157 $(QUIET_GEN)CFLAGS='$(CFLAGS)' $(PYTHON_WORD) util/setup.py \ 158 --quiet build_ext; \ 159 mkdir -p $(OUTPUT)python && \ 160 cp $(PYTHON_EXTBUILD_LIB)perf.so $(OUTPUT)python/ 161# 162# No Perl scripts right now: --- 273 unchanged lines hidden (view full) --- 436BUILTIN_OBJS += $(OUTPUT)builtin-probe.o 437BUILTIN_OBJS += $(OUTPUT)builtin-kmem.o 438BUILTIN_OBJS += $(OUTPUT)builtin-lock.o 439BUILTIN_OBJS += $(OUTPUT)builtin-kvm.o 440BUILTIN_OBJS += $(OUTPUT)builtin-inject.o 441BUILTIN_OBJS += $(OUTPUT)tests/builtin-test.o 442BUILTIN_OBJS += $(OUTPUT)builtin-mem.o 443 |
444PERFLIBS = $(LIB_FILE) $(LIBLK) $(LIBTRACEEVENT) | 444PERFLIBS = $(LIB_FILE) $(LIBAPIKFS) $(LIBTRACEEVENT) |
445 446# We choose to avoid "if .. else if .. else .. endif endif" 447# because maintaining the nesting to match is a pain. If 448# we had "elif" things would have been much nicer... 449 450-include arch/$(ARCH)/Makefile 451 452ifneq ($(OUTPUT),) --- 272 unchanged lines hidden (view full) --- 725 726$(LIBTRACEEVENT)-clean: 727 $(call QUIET_CLEAN, libtraceevent) 728 @$(MAKE) -C $(TRACE_EVENT_DIR) O=$(OUTPUT) clean >/dev/null 729 730install-traceevent-plugins: $(LIBTRACEEVENT) 731 $(QUIET_SUBDIR0)$(TRACE_EVENT_DIR) $(LIBTRACEEVENT_FLAGS) install_plugins 732 | 445 446# We choose to avoid "if .. else if .. else .. endif endif" 447# because maintaining the nesting to match is a pain. If 448# we had "elif" things would have been much nicer... 449 450-include arch/$(ARCH)/Makefile 451 452ifneq ($(OUTPUT),) --- 272 unchanged lines hidden (view full) --- 725 726$(LIBTRACEEVENT)-clean: 727 $(call QUIET_CLEAN, libtraceevent) 728 @$(MAKE) -C $(TRACE_EVENT_DIR) O=$(OUTPUT) clean >/dev/null 729 730install-traceevent-plugins: $(LIBTRACEEVENT) 731 $(QUIET_SUBDIR0)$(TRACE_EVENT_DIR) $(LIBTRACEEVENT_FLAGS) install_plugins 732 |
733LIBLK_SOURCES = $(wildcard $(LK_PATH)*.[ch]) | 733LIBAPIKFS_SOURCES = $(wildcard $(LIB_PATH)fs/*.[ch]) |
734 735# if subdir is set, we've been called from above so target has been built 736# already | 734 735# if subdir is set, we've been called from above so target has been built 736# already |
737$(LIBLK): $(LIBLK_SOURCES) | 737$(LIBAPIKFS): $(LIBAPIKFS_SOURCES) |
738ifeq ($(subdir),) | 738ifeq ($(subdir),) |
739 $(QUIET_SUBDIR0)$(LK_DIR) $(QUIET_SUBDIR1) O=$(OUTPUT) liblk.a | 739 $(QUIET_SUBDIR0)$(LIB_DIR) $(QUIET_SUBDIR1) O=$(OUTPUT) libapikfs.a |
740endif 741 | 740endif 741 |
742$(LIBLK)-clean: | 742$(LIBAPIKFS)-clean: |
743ifeq ($(subdir),) | 743ifeq ($(subdir),) |
744 $(call QUIET_CLEAN, liblk) 745 @$(MAKE) -C $(LK_DIR) O=$(OUTPUT) clean >/dev/null | 744 $(call QUIET_CLEAN, libapikfs) 745 @$(MAKE) -C $(LIB_DIR) O=$(OUTPUT) clean >/dev/null |
746endif 747 748help: 749 @echo 'Perf make targets:' 750 @echo ' doc - make *all* documentation (see below)' 751 @echo ' man - make manpage documentation (access with man <foo>)' 752 @echo ' html - make html documentation' 753 @echo ' info - make GNU info documentation (access with info <foo>)' --- 122 unchanged lines hidden (view full) --- 876# 877# This is here, not in config/Makefile, because config/Makefile does 878# not get included for the clean target: 879# 880config-clean: 881 $(call QUIET_CLEAN, config) 882 @$(MAKE) -C config/feature-checks clean >/dev/null 883 | 746endif 747 748help: 749 @echo 'Perf make targets:' 750 @echo ' doc - make *all* documentation (see below)' 751 @echo ' man - make manpage documentation (access with man <foo>)' 752 @echo ' html - make html documentation' 753 @echo ' info - make GNU info documentation (access with info <foo>)' --- 122 unchanged lines hidden (view full) --- 876# 877# This is here, not in config/Makefile, because config/Makefile does 878# not get included for the clean target: 879# 880config-clean: 881 $(call QUIET_CLEAN, config) 882 @$(MAKE) -C config/feature-checks clean >/dev/null 883 |
884clean: $(LIBTRACEEVENT)-clean $(LIBLK)-clean config-clean | 884clean: $(LIBTRACEEVENT)-clean $(LIBAPIKFS)-clean config-clean |
885 $(call QUIET_CLEAN, core-objs) $(RM) $(LIB_OBJS) $(BUILTIN_OBJS) $(LIB_FILE) $(OUTPUT)perf-archive $(OUTPUT)perf.o $(LANG_BINDINGS) $(GTK_OBJS) 886 $(call QUIET_CLEAN, core-progs) $(RM) $(ALL_PROGRAMS) perf 887 $(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)PERF-CFLAGS $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex* | 885 $(call QUIET_CLEAN, core-objs) $(RM) $(LIB_OBJS) $(BUILTIN_OBJS) $(LIB_FILE) $(OUTPUT)perf-archive $(OUTPUT)perf.o $(LANG_BINDINGS) $(GTK_OBJS) 886 $(call QUIET_CLEAN, core-progs) $(RM) $(ALL_PROGRAMS) perf 887 $(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)PERF-CFLAGS $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex* |
888 $(call QUIET_CLEAN, Documentation) 889 @$(MAKE) -C Documentation O=$(OUTPUT) clean >/dev/null | 888 $(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) clean |
890 $(python-clean) 891 892# 893# Trick: if ../../.git does not exist - we are building out of tree for example, 894# then force version regeneration: 895# 896ifeq ($(wildcard ../../.git/HEAD),) 897 GIT-HEAD-PHONY = ../../.git/HEAD 898else 899 GIT-HEAD-PHONY = 900endif 901 902.PHONY: all install clean config-clean strip install-gtk 903.PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell 904.PHONY: $(GIT-HEAD-PHONY) TAGS tags cscope .FORCE-PERF-CFLAGS 905 | 889 $(python-clean) 890 891# 892# Trick: if ../../.git does not exist - we are building out of tree for example, 893# then force version regeneration: 894# 895ifeq ($(wildcard ../../.git/HEAD),) 896 GIT-HEAD-PHONY = ../../.git/HEAD 897else 898 GIT-HEAD-PHONY = 899endif 900 901.PHONY: all install clean config-clean strip install-gtk 902.PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell 903.PHONY: $(GIT-HEAD-PHONY) TAGS tags cscope .FORCE-PERF-CFLAGS 904 |