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