Makefile.perf (825e587af2e90e9b953849f3347a01d8f383d577) Makefile.perf (aa16b81fe916378ef6474530c59f719c36cd6ec4)
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.

--- 62 unchanged lines hidden (view full) ---

71endif
72
73$(OUTPUT)PERF-VERSION-FILE: ../../.git/HEAD
74 @$(SHELL_PATH) util/PERF-VERSION-GEN $(OUTPUT)
75 @touch $(OUTPUT)PERF-VERSION-FILE
76
77CC = $(CROSS_COMPILE)gcc
78AR = $(CROSS_COMPILE)ar
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.

--- 62 unchanged lines hidden (view full) ---

71endif
72
73$(OUTPUT)PERF-VERSION-FILE: ../../.git/HEAD
74 @$(SHELL_PATH) util/PERF-VERSION-GEN $(OUTPUT)
75 @touch $(OUTPUT)PERF-VERSION-FILE
76
77CC = $(CROSS_COMPILE)gcc
78AR = $(CROSS_COMPILE)ar
79PKG_CONFIG = $(CROSS_COMPILE)pkg-config
79
80RM = rm -f
81LN = ln -f
82MKDIR = mkdir
83FIND = find
84INSTALL = install
85FLEX = flex
86BISON = bison
87STRIP = strip
88
80
81RM = rm -f
82LN = ln -f
83MKDIR = mkdir
84FIND = find
85INSTALL = install
86FLEX = flex
87BISON = bison
88STRIP = strip
89
89LK_DIR = $(srctree)/tools/lib/lk/
90LIB_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
98ifdef MAKECMDGOALS
99ifeq ($(filter-out $(NON_CONFIG_TARGETS),$(MAKECMDGOALS)),)
100 config := 0
101endif
102endif
103
104ifeq ($(config),1)
105include config/Makefile
106endif
107
91TRACE_EVENT_DIR = $(srctree)/tools/lib/traceevent/
92
93# include config/Makefile by default and rule out
94# non-config cases
95config := 1
96
97NON_CONFIG_TARGETS := clean TAGS tags cscope help
98
99ifdef MAKECMDGOALS
100ifeq ($(filter-out $(NON_CONFIG_TARGETS),$(MAKECMDGOALS)),)
101 config := 0
102endif
103endif
104
105ifeq ($(config),1)
106include config/Makefile
107endif
108
108export prefix bindir sharedir sysconfdir
109export prefix bindir sharedir sysconfdir DESTDIR
109
110# sparse is architecture-neutral, which means that we need to tell it
111# explicitly what architecture to check for. Fix this up for yours..
112SPARSE_FLAGS = -D__BIG_ENDIAN__ -D__powerpc__
113
114# Guard against environment variables
115BUILTIN_OBJS =
116LIB_H =

--- 5 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),)
110
111# sparse is architecture-neutral, which means that we need to tell it
112# explicitly what architecture to check for. Fix this up for yours..
113SPARSE_FLAGS = -D__BIG_ENDIAN__ -D__powerpc__
114
115# Guard against environment variables
116BUILTIN_OBJS =
117LIB_H =

--- 5 unchanged lines hidden (view full) ---

123SCRIPT_SH += perf-archive.sh
124
125grep-libs = $(filter -l%,$(1))
126strip-libs = $(filter-out -l%,$(1))
127
128ifneq ($(OUTPUT),)
129 TE_PATH=$(OUTPUT)
130ifneq ($(subdir),)
130 LK_PATH=$(OUTPUT)/../lib/lk/
131 LIB_PATH=$(OUTPUT)/../lib/api/
131else
132else
132 LK_PATH=$(OUTPUT)
133 LIB_PATH=$(OUTPUT)
133endif
134else
135 TE_PATH=$(TRACE_EVENT_DIR)
134endif
135else
136 TE_PATH=$(TRACE_EVENT_DIR)
136 LK_PATH=$(LK_DIR)
137 LIB_PATH=$(LIB_DIR)
137endif
138
139LIBTRACEEVENT = $(TE_PATH)libtraceevent.a
140export LIBTRACEEVENT
141
138endif
139
140LIBTRACEEVENT = $(TE_PATH)libtraceevent.a
141export LIBTRACEEVENT
142
142LIBLK = $(LK_PATH)liblk.a
143export LIBLK
143LIBAPIKFS = $(LIB_PATH)libapikfs.a
144export 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)
145
146# python extension build directories
147PYTHON_EXTBUILD := $(OUTPUT)python_ext_build/
148PYTHON_EXTBUILD_LIB := $(PYTHON_EXTBUILD)lib/
149PYTHON_EXTBUILD_TMP := $(PYTHON_EXTBUILD)tmp/
150export PYTHON_EXTBUILD_LIB PYTHON_EXTBUILD_TMP
151
152python-clean := $(call QUIET_CLEAN, python) $(RM) -r $(PYTHON_EXTBUILD) $(OUTPUT)python/perf.so
153
154PYTHON_EXT_SRCS := $(shell grep -v ^\# util/python-ext-sources)
154PYTHON_EXT_DEPS := util/python-ext-sources util/setup.py $(LIBTRACEEVENT) $(LIBLK)
155PYTHON_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:

--- 34 unchanged lines hidden (view full) ---

197$(OUTPUT)util/pmu-bison.c: util/pmu.y
198 $(QUIET_BISON)$(BISON) -v util/pmu.y -d -o $(OUTPUT)util/pmu-bison.c -p perf_pmu_
199
200$(OUTPUT)util/parse-events.o: $(OUTPUT)util/parse-events-flex.c $(OUTPUT)util/parse-events-bison.c
201$(OUTPUT)util/pmu.o: $(OUTPUT)util/pmu-flex.c $(OUTPUT)util/pmu-bison.c
202
203LIB_FILE=$(OUTPUT)libperf.a
204
156
157$(OUTPUT)python/perf.so: $(PYTHON_EXT_SRCS) $(PYTHON_EXT_DEPS)
158 $(QUIET_GEN)CFLAGS='$(CFLAGS)' $(PYTHON_WORD) util/setup.py \
159 --quiet build_ext; \
160 mkdir -p $(OUTPUT)python && \
161 cp $(PYTHON_EXTBUILD_LIB)perf.so $(OUTPUT)python/
162#
163# No Perl scripts right now:

--- 34 unchanged lines hidden (view full) ---

198$(OUTPUT)util/pmu-bison.c: util/pmu.y
199 $(QUIET_BISON)$(BISON) -v util/pmu.y -d -o $(OUTPUT)util/pmu-bison.c -p perf_pmu_
200
201$(OUTPUT)util/parse-events.o: $(OUTPUT)util/parse-events-flex.c $(OUTPUT)util/parse-events-bison.c
202$(OUTPUT)util/pmu.o: $(OUTPUT)util/pmu-flex.c $(OUTPUT)util/pmu-bison.c
203
204LIB_FILE=$(OUTPUT)libperf.a
205
206LIB_H += ../lib/symbol/kallsyms.h
205LIB_H += ../../include/uapi/linux/perf_event.h
206LIB_H += ../../include/linux/rbtree.h
207LIB_H += ../../include/linux/list.h
208LIB_H += ../../include/uapi/linux/const.h
209LIB_H += ../../include/linux/hash.h
210LIB_H += ../../include/linux/stringify.h
211LIB_H += util/include/linux/bitmap.h
212LIB_H += util/include/linux/bitops.h
207LIB_H += ../../include/uapi/linux/perf_event.h
208LIB_H += ../../include/linux/rbtree.h
209LIB_H += ../../include/linux/list.h
210LIB_H += ../../include/uapi/linux/const.h
211LIB_H += ../../include/linux/hash.h
212LIB_H += ../../include/linux/stringify.h
213LIB_H += util/include/linux/bitmap.h
214LIB_H += util/include/linux/bitops.h
213LIB_H += util/include/linux/compiler.h
215LIB_H += ../include/linux/compiler.h
214LIB_H += util/include/linux/const.h
215LIB_H += util/include/linux/ctype.h
216LIB_H += util/include/linux/kernel.h
217LIB_H += util/include/linux/list.h
218LIB_H += util/include/linux/export.h
219LIB_H += util/include/linux/magic.h
220LIB_H += util/include/linux/poison.h
221LIB_H += util/include/linux/prefetch.h
222LIB_H += util/include/linux/rbtree.h
223LIB_H += util/include/linux/rbtree_augmented.h
224LIB_H += util/include/linux/string.h
225LIB_H += util/include/linux/types.h
226LIB_H += util/include/linux/linkage.h
227LIB_H += util/include/asm/asm-offsets.h
216LIB_H += util/include/linux/const.h
217LIB_H += util/include/linux/ctype.h
218LIB_H += util/include/linux/kernel.h
219LIB_H += util/include/linux/list.h
220LIB_H += util/include/linux/export.h
221LIB_H += util/include/linux/magic.h
222LIB_H += util/include/linux/poison.h
223LIB_H += util/include/linux/prefetch.h
224LIB_H += util/include/linux/rbtree.h
225LIB_H += util/include/linux/rbtree_augmented.h
226LIB_H += util/include/linux/string.h
227LIB_H += util/include/linux/types.h
228LIB_H += util/include/linux/linkage.h
229LIB_H += util/include/asm/asm-offsets.h
228LIB_H += util/include/asm/bug.h
230LIB_H += ../include/asm/bug.h
229LIB_H += util/include/asm/byteorder.h
230LIB_H += util/include/asm/hweight.h
231LIB_H += util/include/asm/swab.h
232LIB_H += util/include/asm/system.h
233LIB_H += util/include/asm/uaccess.h
234LIB_H += util/include/dwarf-regs.h
235LIB_H += util/include/asm/dwarf2.h
236LIB_H += util/include/asm/cpufeature.h

--- 70 unchanged lines hidden (view full) ---

307LIB_OBJS += $(OUTPUT)util/fs.o
308LIB_OBJS += $(OUTPUT)util/pmu.o
309LIB_OBJS += $(OUTPUT)util/environment.o
310LIB_OBJS += $(OUTPUT)util/event.o
311LIB_OBJS += $(OUTPUT)util/evlist.o
312LIB_OBJS += $(OUTPUT)util/evsel.o
313LIB_OBJS += $(OUTPUT)util/exec_cmd.o
314LIB_OBJS += $(OUTPUT)util/help.o
231LIB_H += util/include/asm/byteorder.h
232LIB_H += util/include/asm/hweight.h
233LIB_H += util/include/asm/swab.h
234LIB_H += util/include/asm/system.h
235LIB_H += util/include/asm/uaccess.h
236LIB_H += util/include/dwarf-regs.h
237LIB_H += util/include/asm/dwarf2.h
238LIB_H += util/include/asm/cpufeature.h

--- 70 unchanged lines hidden (view full) ---

309LIB_OBJS += $(OUTPUT)util/fs.o
310LIB_OBJS += $(OUTPUT)util/pmu.o
311LIB_OBJS += $(OUTPUT)util/environment.o
312LIB_OBJS += $(OUTPUT)util/event.o
313LIB_OBJS += $(OUTPUT)util/evlist.o
314LIB_OBJS += $(OUTPUT)util/evsel.o
315LIB_OBJS += $(OUTPUT)util/exec_cmd.o
316LIB_OBJS += $(OUTPUT)util/help.o
317LIB_OBJS += $(OUTPUT)util/kallsyms.o
315LIB_OBJS += $(OUTPUT)util/levenshtein.o
316LIB_OBJS += $(OUTPUT)util/parse-options.o
317LIB_OBJS += $(OUTPUT)util/parse-events.o
318LIB_OBJS += $(OUTPUT)util/path.o
319LIB_OBJS += $(OUTPUT)util/rbtree.o
320LIB_OBJS += $(OUTPUT)util/bitmap.o
321LIB_OBJS += $(OUTPUT)util/hweight.o
322LIB_OBJS += $(OUTPUT)util/run-command.o

--- 25 unchanged lines hidden (view full) ---

348LIB_OBJS += $(OUTPUT)util/trace-event-parse.o
349LIB_OBJS += $(OUTPUT)util/parse-events-flex.o
350LIB_OBJS += $(OUTPUT)util/parse-events-bison.o
351LIB_OBJS += $(OUTPUT)util/pmu-flex.o
352LIB_OBJS += $(OUTPUT)util/pmu-bison.o
353LIB_OBJS += $(OUTPUT)util/trace-event-read.o
354LIB_OBJS += $(OUTPUT)util/trace-event-info.o
355LIB_OBJS += $(OUTPUT)util/trace-event-scripting.o
318LIB_OBJS += $(OUTPUT)util/levenshtein.o
319LIB_OBJS += $(OUTPUT)util/parse-options.o
320LIB_OBJS += $(OUTPUT)util/parse-events.o
321LIB_OBJS += $(OUTPUT)util/path.o
322LIB_OBJS += $(OUTPUT)util/rbtree.o
323LIB_OBJS += $(OUTPUT)util/bitmap.o
324LIB_OBJS += $(OUTPUT)util/hweight.o
325LIB_OBJS += $(OUTPUT)util/run-command.o

--- 25 unchanged lines hidden (view full) ---

351LIB_OBJS += $(OUTPUT)util/trace-event-parse.o
352LIB_OBJS += $(OUTPUT)util/parse-events-flex.o
353LIB_OBJS += $(OUTPUT)util/parse-events-bison.o
354LIB_OBJS += $(OUTPUT)util/pmu-flex.o
355LIB_OBJS += $(OUTPUT)util/pmu-bison.o
356LIB_OBJS += $(OUTPUT)util/trace-event-read.o
357LIB_OBJS += $(OUTPUT)util/trace-event-info.o
358LIB_OBJS += $(OUTPUT)util/trace-event-scripting.o
359LIB_OBJS += $(OUTPUT)util/trace-event.o
356LIB_OBJS += $(OUTPUT)util/svghelper.o
357LIB_OBJS += $(OUTPUT)util/sort.o
358LIB_OBJS += $(OUTPUT)util/hist.o
359LIB_OBJS += $(OUTPUT)util/probe-event.o
360LIB_OBJS += $(OUTPUT)util/util.o
361LIB_OBJS += $(OUTPUT)util/xyarray.o
362LIB_OBJS += $(OUTPUT)util/cpumap.o
363LIB_OBJS += $(OUTPUT)util/cgroup.o

--- 35 unchanged lines hidden (view full) ---

399LIB_OBJS += $(OUTPUT)tests/task-exit.o
400LIB_OBJS += $(OUTPUT)tests/sw-clock.o
401ifeq ($(ARCH),x86)
402LIB_OBJS += $(OUTPUT)tests/perf-time-to-tsc.o
403endif
404LIB_OBJS += $(OUTPUT)tests/code-reading.o
405LIB_OBJS += $(OUTPUT)tests/sample-parsing.o
406LIB_OBJS += $(OUTPUT)tests/parse-no-sample-id-all.o
360LIB_OBJS += $(OUTPUT)util/svghelper.o
361LIB_OBJS += $(OUTPUT)util/sort.o
362LIB_OBJS += $(OUTPUT)util/hist.o
363LIB_OBJS += $(OUTPUT)util/probe-event.o
364LIB_OBJS += $(OUTPUT)util/util.o
365LIB_OBJS += $(OUTPUT)util/xyarray.o
366LIB_OBJS += $(OUTPUT)util/cpumap.o
367LIB_OBJS += $(OUTPUT)util/cgroup.o

--- 35 unchanged lines hidden (view full) ---

403LIB_OBJS += $(OUTPUT)tests/task-exit.o
404LIB_OBJS += $(OUTPUT)tests/sw-clock.o
405ifeq ($(ARCH),x86)
406LIB_OBJS += $(OUTPUT)tests/perf-time-to-tsc.o
407endif
408LIB_OBJS += $(OUTPUT)tests/code-reading.o
409LIB_OBJS += $(OUTPUT)tests/sample-parsing.o
410LIB_OBJS += $(OUTPUT)tests/parse-no-sample-id-all.o
411ifndef NO_LIBUNWIND
412ifeq ($(ARCH),x86)
413LIB_OBJS += $(OUTPUT)tests/dwarf-unwind.o
414endif
415endif
407
408BUILTIN_OBJS += $(OUTPUT)builtin-annotate.o
409BUILTIN_OBJS += $(OUTPUT)builtin-bench.o
410# Benchmark modules
411BUILTIN_OBJS += $(OUTPUT)bench/sched-messaging.o
412BUILTIN_OBJS += $(OUTPUT)bench/sched-pipe.o
413ifeq ($(RAW_ARCH),x86_64)
414BUILTIN_OBJS += $(OUTPUT)bench/mem-memcpy-x86-64-asm.o

--- 18 unchanged lines hidden (view full) ---

433BUILTIN_OBJS += $(OUTPUT)builtin-probe.o
434BUILTIN_OBJS += $(OUTPUT)builtin-kmem.o
435BUILTIN_OBJS += $(OUTPUT)builtin-lock.o
436BUILTIN_OBJS += $(OUTPUT)builtin-kvm.o
437BUILTIN_OBJS += $(OUTPUT)builtin-inject.o
438BUILTIN_OBJS += $(OUTPUT)tests/builtin-test.o
439BUILTIN_OBJS += $(OUTPUT)builtin-mem.o
440
416
417BUILTIN_OBJS += $(OUTPUT)builtin-annotate.o
418BUILTIN_OBJS += $(OUTPUT)builtin-bench.o
419# Benchmark modules
420BUILTIN_OBJS += $(OUTPUT)bench/sched-messaging.o
421BUILTIN_OBJS += $(OUTPUT)bench/sched-pipe.o
422ifeq ($(RAW_ARCH),x86_64)
423BUILTIN_OBJS += $(OUTPUT)bench/mem-memcpy-x86-64-asm.o

--- 18 unchanged lines hidden (view full) ---

442BUILTIN_OBJS += $(OUTPUT)builtin-probe.o
443BUILTIN_OBJS += $(OUTPUT)builtin-kmem.o
444BUILTIN_OBJS += $(OUTPUT)builtin-lock.o
445BUILTIN_OBJS += $(OUTPUT)builtin-kvm.o
446BUILTIN_OBJS += $(OUTPUT)builtin-inject.o
447BUILTIN_OBJS += $(OUTPUT)tests/builtin-test.o
448BUILTIN_OBJS += $(OUTPUT)builtin-mem.o
449
441PERFLIBS = $(LIB_FILE) $(LIBLK) $(LIBTRACEEVENT)
450PERFLIBS = $(LIB_FILE) $(LIBAPIKFS) $(LIBTRACEEVENT)
442
443# We choose to avoid "if .. else if .. else .. endif endif"
444# because maintaining the nesting to match is a pain. If
445# we had "elif" things would have been much nicer...
446
447-include arch/$(ARCH)/Makefile
448
449ifneq ($(OUTPUT),)

--- 31 unchanged lines hidden (view full) ---

481endif
482
483ifndef NO_SLANG
484 LIB_OBJS += $(OUTPUT)ui/browser.o
485 LIB_OBJS += $(OUTPUT)ui/browsers/annotate.o
486 LIB_OBJS += $(OUTPUT)ui/browsers/hists.o
487 LIB_OBJS += $(OUTPUT)ui/browsers/map.o
488 LIB_OBJS += $(OUTPUT)ui/browsers/scripts.o
451
452# We choose to avoid "if .. else if .. else .. endif endif"
453# because maintaining the nesting to match is a pain. If
454# we had "elif" things would have been much nicer...
455
456-include arch/$(ARCH)/Makefile
457
458ifneq ($(OUTPUT),)

--- 31 unchanged lines hidden (view full) ---

490endif
491
492ifndef NO_SLANG
493 LIB_OBJS += $(OUTPUT)ui/browser.o
494 LIB_OBJS += $(OUTPUT)ui/browsers/annotate.o
495 LIB_OBJS += $(OUTPUT)ui/browsers/hists.o
496 LIB_OBJS += $(OUTPUT)ui/browsers/map.o
497 LIB_OBJS += $(OUTPUT)ui/browsers/scripts.o
498 LIB_OBJS += $(OUTPUT)ui/browsers/header.o
489 LIB_OBJS += $(OUTPUT)ui/tui/setup.o
490 LIB_OBJS += $(OUTPUT)ui/tui/util.o
491 LIB_OBJS += $(OUTPUT)ui/tui/helpline.o
492 LIB_OBJS += $(OUTPUT)ui/tui/progress.o
493 LIB_H += ui/tui/tui.h
494 LIB_H += ui/browser.h
495 LIB_H += ui/browsers/map.h
496 LIB_H += ui/keysyms.h

--- 148 unchanged lines hidden (view full) ---

645 $<
646
647$(OUTPUT)tests/python-use.o: tests/python-use.c $(OUTPUT)PERF-CFLAGS
648 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) \
649 -DPYTHONPATH='"$(OUTPUT)python"' \
650 -DPYTHON='"$(PYTHON_WORD)"' \
651 $<
652
499 LIB_OBJS += $(OUTPUT)ui/tui/setup.o
500 LIB_OBJS += $(OUTPUT)ui/tui/util.o
501 LIB_OBJS += $(OUTPUT)ui/tui/helpline.o
502 LIB_OBJS += $(OUTPUT)ui/tui/progress.o
503 LIB_H += ui/tui/tui.h
504 LIB_H += ui/browser.h
505 LIB_H += ui/browsers/map.h
506 LIB_H += ui/keysyms.h

--- 148 unchanged lines hidden (view full) ---

655 $<
656
657$(OUTPUT)tests/python-use.o: tests/python-use.c $(OUTPUT)PERF-CFLAGS
658 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) \
659 -DPYTHONPATH='"$(OUTPUT)python"' \
660 -DPYTHON='"$(PYTHON_WORD)"' \
661 $<
662
663$(OUTPUT)tests/dwarf-unwind.o: tests/dwarf-unwind.c
664 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -fno-optimize-sibling-calls $<
665
653$(OUTPUT)util/config.o: util/config.c $(OUTPUT)PERF-CFLAGS
654 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $<
655
656$(OUTPUT)ui/setup.o: ui/setup.c $(OUTPUT)PERF-CFLAGS
657 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -DLIBDIR='"$(libdir_SQ)"' $<
658
659$(OUTPUT)ui/browser.o: ui/browser.c $(OUTPUT)PERF-CFLAGS
660 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -DENABLE_SLFUTURE_CONST $<

--- 5 unchanged lines hidden (view full) ---

666 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -DENABLE_SLFUTURE_CONST $<
667
668$(OUTPUT)ui/browsers/map.o: ui/browsers/map.c $(OUTPUT)PERF-CFLAGS
669 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -DENABLE_SLFUTURE_CONST $<
670
671$(OUTPUT)ui/browsers/scripts.o: ui/browsers/scripts.c $(OUTPUT)PERF-CFLAGS
672 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -DENABLE_SLFUTURE_CONST $<
673
666$(OUTPUT)util/config.o: util/config.c $(OUTPUT)PERF-CFLAGS
667 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $<
668
669$(OUTPUT)ui/setup.o: ui/setup.c $(OUTPUT)PERF-CFLAGS
670 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -DLIBDIR='"$(libdir_SQ)"' $<
671
672$(OUTPUT)ui/browser.o: ui/browser.c $(OUTPUT)PERF-CFLAGS
673 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -DENABLE_SLFUTURE_CONST $<

--- 5 unchanged lines hidden (view full) ---

679 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -DENABLE_SLFUTURE_CONST $<
680
681$(OUTPUT)ui/browsers/map.o: ui/browsers/map.c $(OUTPUT)PERF-CFLAGS
682 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -DENABLE_SLFUTURE_CONST $<
683
684$(OUTPUT)ui/browsers/scripts.o: ui/browsers/scripts.c $(OUTPUT)PERF-CFLAGS
685 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -DENABLE_SLFUTURE_CONST $<
686
687$(OUTPUT)util/kallsyms.o: ../lib/symbol/kallsyms.c $(OUTPUT)PERF-CFLAGS
688 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) $<
689
674$(OUTPUT)util/rbtree.o: ../../lib/rbtree.c $(OUTPUT)PERF-CFLAGS
675 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -Wno-unused-parameter -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $<
676
677$(OUTPUT)util/parse-events.o: util/parse-events.c $(OUTPUT)PERF-CFLAGS
678 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -Wno-redundant-decls $<
679
680$(OUTPUT)util/scripting-engines/trace-event-perl.o: util/scripting-engines/trace-event-perl.c $(OUTPUT)PERF-CFLAGS
681 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) $(PERL_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-shadow -Wno-undef -Wno-switch-default $<

--- 23 unchanged lines hidden (view full) ---

705 $(QUIET_MKDIR)$(MKDIR) -p $@ 2>/dev/null
706
707$(LIB_FILE): $(LIB_OBJS)
708 $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(LIB_OBJS)
709
710# libtraceevent.a
711TE_SOURCES = $(wildcard $(TRACE_EVENT_DIR)*.[ch])
712
690$(OUTPUT)util/rbtree.o: ../../lib/rbtree.c $(OUTPUT)PERF-CFLAGS
691 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -Wno-unused-parameter -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $<
692
693$(OUTPUT)util/parse-events.o: util/parse-events.c $(OUTPUT)PERF-CFLAGS
694 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) -Wno-redundant-decls $<
695
696$(OUTPUT)util/scripting-engines/trace-event-perl.o: util/scripting-engines/trace-event-perl.c $(OUTPUT)PERF-CFLAGS
697 $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) $(PERL_EMBED_CCOPTS) -Wno-redundant-decls -Wno-strict-prototypes -Wno-unused-parameter -Wno-shadow -Wno-undef -Wno-switch-default $<

--- 23 unchanged lines hidden (view full) ---

721 $(QUIET_MKDIR)$(MKDIR) -p $@ 2>/dev/null
722
723$(LIB_FILE): $(LIB_OBJS)
724 $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(LIB_OBJS)
725
726# libtraceevent.a
727TE_SOURCES = $(wildcard $(TRACE_EVENT_DIR)*.[ch])
728
713$(LIBTRACEEVENT): $(TE_SOURCES)
714 $(QUIET_SUBDIR0)$(TRACE_EVENT_DIR) $(QUIET_SUBDIR1) O=$(OUTPUT) CFLAGS="-g -Wall $(EXTRA_CFLAGS)" libtraceevent.a
729LIBTRACEEVENT_FLAGS = $(QUIET_SUBDIR1) O=$(OUTPUT)
730LIBTRACEEVENT_FLAGS += CFLAGS="-g -Wall $(EXTRA_CFLAGS)"
731LIBTRACEEVENT_FLAGS += plugin_dir=$(plugindir_SQ)
715
732
733$(LIBTRACEEVENT): $(TE_SOURCES) $(OUTPUT)PERF-CFLAGS
734 $(QUIET_SUBDIR0)$(TRACE_EVENT_DIR) $(LIBTRACEEVENT_FLAGS) libtraceevent.a plugins
735
716$(LIBTRACEEVENT)-clean:
717 $(call QUIET_CLEAN, libtraceevent)
718 @$(MAKE) -C $(TRACE_EVENT_DIR) O=$(OUTPUT) clean >/dev/null
719
736$(LIBTRACEEVENT)-clean:
737 $(call QUIET_CLEAN, libtraceevent)
738 @$(MAKE) -C $(TRACE_EVENT_DIR) O=$(OUTPUT) clean >/dev/null
739
720LIBLK_SOURCES = $(wildcard $(LK_PATH)*.[ch])
740install-traceevent-plugins: $(LIBTRACEEVENT)
741 $(QUIET_SUBDIR0)$(TRACE_EVENT_DIR) $(LIBTRACEEVENT_FLAGS) install_plugins
721
742
743LIBAPIKFS_SOURCES = $(wildcard $(LIB_PATH)fs/*.[ch])
744
722# if subdir is set, we've been called from above so target has been built
723# already
745# if subdir is set, we've been called from above so target has been built
746# already
724$(LIBLK): $(LIBLK_SOURCES)
747$(LIBAPIKFS): $(LIBAPIKFS_SOURCES)
725ifeq ($(subdir),)
748ifeq ($(subdir),)
726 $(QUIET_SUBDIR0)$(LK_DIR) $(QUIET_SUBDIR1) O=$(OUTPUT) liblk.a
749 $(QUIET_SUBDIR0)$(LIB_DIR) $(QUIET_SUBDIR1) O=$(OUTPUT) libapikfs.a
727endif
728
750endif
751
729$(LIBLK)-clean:
752$(LIBAPIKFS)-clean:
730ifeq ($(subdir),)
753ifeq ($(subdir),)
731 $(call QUIET_CLEAN, liblk)
732 @$(MAKE) -C $(LK_DIR) O=$(OUTPUT) clean >/dev/null
754 $(call QUIET_CLEAN, libapikfs)
755 @$(MAKE) -C $(LIB_DIR) O=$(OUTPUT) clean >/dev/null
733endif
734
735help:
736 @echo 'Perf make targets:'
737 @echo ' doc - make *all* documentation (see below)'
738 @echo ' man - make manpage documentation (access with man <foo>)'
739 @echo ' html - make html documentation'
740 @echo ' info - make GNU info documentation (access with info <foo>)'

--- 39 unchanged lines hidden (view full) ---

780 $(FIND) . -name '*.[hcS]' -print | xargs ctags -a
781
782cscope:
783 $(RM) cscope*
784 $(FIND) . -name '*.[hcS]' -print | xargs cscope -b
785
786### Detect prefix changes
787TRACK_CFLAGS = $(subst ','\'',$(CFLAGS)):\
756endif
757
758help:
759 @echo 'Perf make targets:'
760 @echo ' doc - make *all* documentation (see below)'
761 @echo ' man - make manpage documentation (access with man <foo>)'
762 @echo ' html - make html documentation'
763 @echo ' info - make GNU info documentation (access with info <foo>)'

--- 39 unchanged lines hidden (view full) ---

803 $(FIND) . -name '*.[hcS]' -print | xargs ctags -a
804
805cscope:
806 $(RM) cscope*
807 $(FIND) . -name '*.[hcS]' -print | xargs cscope -b
808
809### Detect prefix changes
810TRACK_CFLAGS = $(subst ','\'',$(CFLAGS)):\
788 $(bindir_SQ):$(perfexecdir_SQ):$(template_dir_SQ):$(prefix_SQ)
811 $(bindir_SQ):$(perfexecdir_SQ):$(template_dir_SQ):$(prefix_SQ):$(plugindir_SQ)
789
790$(OUTPUT)PERF-CFLAGS: .FORCE-PERF-CFLAGS
791 @FLAGS='$(TRACK_CFLAGS)'; \
792 if test x"$$FLAGS" != x"`cat $(OUTPUT)PERF-CFLAGS 2>/dev/null`" ; then \
793 echo 1>&2 " FLAGS: * new build flags or prefix"; \
794 echo "$$FLAGS" >$(OUTPUT)PERF-CFLAGS; \
795 fi
796

--- 38 unchanged lines hidden (view full) ---

835ifndef NO_LIBPYTHON
836 $(call QUIET_INSTALL, python-scripts) \
837 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python/Perf-Trace-Util/lib/Perf/Trace'; \
838 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python/bin'; \
839 $(INSTALL) scripts/python/Perf-Trace-Util/lib/Perf/Trace/* -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python/Perf-Trace-Util/lib/Perf/Trace'; \
840 $(INSTALL) scripts/python/*.py -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python'; \
841 $(INSTALL) scripts/python/bin/* -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python/bin'
842endif
812
813$(OUTPUT)PERF-CFLAGS: .FORCE-PERF-CFLAGS
814 @FLAGS='$(TRACK_CFLAGS)'; \
815 if test x"$$FLAGS" != x"`cat $(OUTPUT)PERF-CFLAGS 2>/dev/null`" ; then \
816 echo 1>&2 " FLAGS: * new build flags or prefix"; \
817 echo "$$FLAGS" >$(OUTPUT)PERF-CFLAGS; \
818 fi
819

--- 38 unchanged lines hidden (view full) ---

858ifndef NO_LIBPYTHON
859 $(call QUIET_INSTALL, python-scripts) \
860 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python/Perf-Trace-Util/lib/Perf/Trace'; \
861 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python/bin'; \
862 $(INSTALL) scripts/python/Perf-Trace-Util/lib/Perf/Trace/* -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python/Perf-Trace-Util/lib/Perf/Trace'; \
863 $(INSTALL) scripts/python/*.py -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python'; \
864 $(INSTALL) scripts/python/bin/* -t '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/python/bin'
865endif
843 $(call QUIET_INSTALL, bash_completion-script) \
866 $(call QUIET_INSTALL, perf_completion-script) \
844 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d'; \
867 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d'; \
845 $(INSTALL) bash_completion '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d/perf'
868 $(INSTALL) perf-completion.sh '$(DESTDIR_SQ)$(sysconfdir_SQ)/bash_completion.d/perf'
846 $(call QUIET_INSTALL, tests) \
847 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests'; \
848 $(INSTALL) tests/attr.py '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests'; \
849 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/attr'; \
850 $(INSTALL) tests/attr/* '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/attr'
851
869 $(call QUIET_INSTALL, tests) \
870 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests'; \
871 $(INSTALL) tests/attr.py '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests'; \
872 $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/attr'; \
873 $(INSTALL) tests/attr/* '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/attr'
874
852install: install-bin try-install-man
875install: install-bin try-install-man install-traceevent-plugins
853
854install-python_ext:
855 $(PYTHON_WORD) util/setup.py --quiet install --root='/$(DESTDIR_SQ)'
856
857# 'make install-doc' should call 'make -C Documentation install'
858$(INSTALL_DOC_TARGETS):
859 $(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) $(@:-doc=)
860
861### Cleaning rules
862
863#
864# This is here, not in config/Makefile, because config/Makefile does
865# not get included for the clean target:
866#
867config-clean:
868 $(call QUIET_CLEAN, config)
869 @$(MAKE) -C config/feature-checks clean >/dev/null
870
876
877install-python_ext:
878 $(PYTHON_WORD) util/setup.py --quiet install --root='/$(DESTDIR_SQ)'
879
880# 'make install-doc' should call 'make -C Documentation install'
881$(INSTALL_DOC_TARGETS):
882 $(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) $(@:-doc=)
883
884### Cleaning rules
885
886#
887# This is here, not in config/Makefile, because config/Makefile does
888# not get included for the clean target:
889#
890config-clean:
891 $(call QUIET_CLEAN, config)
892 @$(MAKE) -C config/feature-checks clean >/dev/null
893
871clean: $(LIBTRACEEVENT)-clean $(LIBLK)-clean config-clean
894clean: $(LIBTRACEEVENT)-clean $(LIBAPIKFS)-clean config-clean
872 $(call QUIET_CLEAN, core-objs) $(RM) $(LIB_OBJS) $(BUILTIN_OBJS) $(LIB_FILE) $(OUTPUT)perf-archive $(OUTPUT)perf.o $(LANG_BINDINGS) $(GTK_OBJS)
873 $(call QUIET_CLEAN, core-progs) $(RM) $(ALL_PROGRAMS) perf
874 $(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*
895 $(call QUIET_CLEAN, core-objs) $(RM) $(LIB_OBJS) $(BUILTIN_OBJS) $(LIB_FILE) $(OUTPUT)perf-archive $(OUTPUT)perf.o $(LANG_BINDINGS) $(GTK_OBJS)
896 $(call QUIET_CLEAN, core-progs) $(RM) $(ALL_PROGRAMS) perf
897 $(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*
875 $(call QUIET_CLEAN, Documentation)
876 @$(MAKE) -C Documentation O=$(OUTPUT) clean >/dev/null
898 $(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) clean
877 $(python-clean)
878
879#
880# Trick: if ../../.git does not exist - we are building out of tree for example,
881# then force version regeneration:
882#
883ifeq ($(wildcard ../../.git/HEAD),)
884 GIT-HEAD-PHONY = ../../.git/HEAD
885else
886 GIT-HEAD-PHONY =
887endif
888
889.PHONY: all install clean config-clean strip install-gtk
890.PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell
891.PHONY: $(GIT-HEAD-PHONY) TAGS tags cscope .FORCE-PERF-CFLAGS
892
899 $(python-clean)
900
901#
902# Trick: if ../../.git does not exist - we are building out of tree for example,
903# then force version regeneration:
904#
905ifeq ($(wildcard ../../.git/HEAD),)
906 GIT-HEAD-PHONY = ../../.git/HEAD
907else
908 GIT-HEAD-PHONY =
909endif
910
911.PHONY: all install clean config-clean strip install-gtk
912.PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell
913.PHONY: $(GIT-HEAD-PHONY) TAGS tags cscope .FORCE-PERF-CFLAGS
914