|
@@ -325,9 +325,9 @@ SCRIPT_SH += perf-archive.sh
|
|
|
grep-libs = $(filter -l%,$(1))
|
|
|
strip-libs = $(filter-out -l%,$(1))
|
|
|
|
|
|
-pyrf: $(PYRF_OBJS)
|
|
|
- python util/setup.py build --build-base='$(OUTPUT)'
|
|
|
-
|
|
|
+$(OUTPUT)python/perf.so: $(PYRF_OBJS)
|
|
|
+ @python util/setup.py --quiet build_ext --build-lib='$(OUTPUT)python' \
|
|
|
+ --build-temp='$(OUTPUT)python/temp'
|
|
|
#
|
|
|
# No Perl scripts right now:
|
|
|
#
|
|
@@ -348,12 +348,14 @@ PROGRAMS += $(EXTRA_PROGRAMS)
|
|
|
#
|
|
|
PROGRAMS += $(OUTPUT)perf
|
|
|
|
|
|
+LANG_BINDINGS =
|
|
|
+
|
|
|
# List built-in command $C whose implementation cmd_$C() is not in
|
|
|
# builtin-$C.o but is linked in as part of some other command.
|
|
|
#
|
|
|
|
|
|
# what 'all' will build and 'install' will install, in perfexecdir
|
|
|
-ALL_PROGRAMS = $(PROGRAMS) $(SCRIPTS) pyrf
|
|
|
+ALL_PROGRAMS = $(PROGRAMS) $(SCRIPTS)
|
|
|
|
|
|
# what 'all' will build but not install in perfexecdir
|
|
|
OTHER_PROGRAMS = $(OUTPUT)perf$X
|
|
@@ -662,12 +664,14 @@ else
|
|
|
PYTHON_EMBED_CCOPTS = `python-config --cflags 2>/dev/null`
|
|
|
FLAGS_PYTHON_EMBED=$(PYTHON_EMBED_CCOPTS) $(PYTHON_EMBED_LDOPTS)
|
|
|
ifneq ($(call try-cc,$(SOURCE_PYTHON_EMBED),$(FLAGS_PYTHON_EMBED)),y)
|
|
|
+ msg := $(warning No Python.h found, install python-dev[el] to have python support in 'perf script' and to build the python bindings)
|
|
|
BASIC_CFLAGS += -DNO_LIBPYTHON
|
|
|
else
|
|
|
ALL_LDFLAGS += $(PYTHON_EMBED_LDFLAGS)
|
|
|
EXTLIBS += $(PYTHON_EMBED_LIBADD)
|
|
|
LIB_OBJS += $(OUTPUT)util/scripting-engines/trace-event-python.o
|
|
|
LIB_OBJS += $(OUTPUT)scripts/python/Perf-Trace-Util/Context.o
|
|
|
+ LANG_BINDINGS += $(OUTPUT)python/perf.so
|
|
|
endif
|
|
|
endif
|
|
|
|
|
@@ -954,7 +958,7 @@ export TAR INSTALL DESTDIR SHELL_PATH
|
|
|
|
|
|
SHELL = $(SHELL_PATH)
|
|
|
|
|
|
-all:: shell_compatibility_test $(ALL_PROGRAMS) $(BUILT_INS) $(OTHER_PROGRAMS) $(OUTPUT)PERF-BUILD-OPTIONS
|
|
|
+all:: shell_compatibility_test $(ALL_PROGRAMS) $(LANG_BINDINGS) $(BUILT_INS) $(OTHER_PROGRAMS) $(OUTPUT)PERF-BUILD-OPTIONS
|
|
|
ifneq (,$X)
|
|
|
$(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_PROGRAMS) $(BUILT_INS) perf$X)), test '$p' -ef '$p$X' || $(RM) '$p';)
|
|
|
endif
|
|
@@ -1287,17 +1291,17 @@ distclean: clean
|
|
|
# $(RM) configure
|
|
|
|
|
|
clean:
|
|
|
- $(RM) *.o */*.o */*/*.o */*/*/*.o $(LIB_FILE)
|
|
|
+ $(RM) $(OUTPUT){*.o,*/*.o,*/*/*.o,*/*/*/*.o,$(LIB_FILE),perf-archive}
|
|
|
$(RM) $(ALL_PROGRAMS) $(BUILT_INS) perf$X
|
|
|
$(RM) $(TEST_PROGRAMS)
|
|
|
$(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope*
|
|
|
- $(RM) -r autom4te.cache
|
|
|
- $(RM) config.log config.mak.autogen config.mak.append config.status config.cache
|
|
|
$(RM) -r $(PERF_TARNAME) .doc-tmp-dir
|
|
|
$(RM) $(PERF_TARNAME).tar.gz perf-core_$(PERF_VERSION)-*.tar.gz
|
|
|
$(RM) $(htmldocs).tar.gz $(manpages).tar.gz
|
|
|
$(MAKE) -C Documentation/ clean
|
|
|
$(RM) $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)PERF-CFLAGS $(OUTPUT)PERF-BUILD-OPTIONS
|
|
|
+ @python util/setup.py clean --build-lib='$(OUTPUT)python' \
|
|
|
+ --build-temp='$(OUTPUT)python/temp'
|
|
|
|
|
|
.PHONY: all install clean strip
|
|
|
.PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell
|