summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/perf/lib/Makefile33
1 files changed, 30 insertions, 3 deletions
diff --git a/tools/perf/lib/Makefile b/tools/perf/lib/Makefile
index e325c0503dc6..54466cc84544 100644
--- a/tools/perf/lib/Makefile
+++ b/tools/perf/lib/Makefile
@@ -59,7 +59,13 @@ else
59 CFLAGS := -g -Wall 59 CFLAGS := -g -Wall
60endif 60endif
61 61
62INCLUDES = -I$(srctree)/tools/perf/lib/include -I$(srctree)/tools/include -I$(srctree)/tools/arch/$(SRCARCH)/include/ -I$(srctree)/tools/arch/$(SRCARCH)/include/uapi -I$(srctree)/tools/include/uapi 62INCLUDES = \
63-I$(srctree)/tools/perf/lib/include \
64-I$(srctree)/tools/lib/ \
65-I$(srctree)/tools/include \
66-I$(srctree)/tools/arch/$(SRCARCH)/include/ \
67-I$(srctree)/tools/arch/$(SRCARCH)/include/uapi \
68-I$(srctree)/tools/include/uapi
63 69
64# Append required CFLAGS 70# Append required CFLAGS
65override CFLAGS += $(EXTRA_WARNINGS) 71override CFLAGS += $(EXTRA_WARNINGS)
@@ -88,13 +94,34 @@ LIBPERF_PC := $(OUTPUT)libperf.pc
88 94
89LIBPERF_ALL := $(LIBPERF_A) $(OUTPUT)libperf.so* 95LIBPERF_ALL := $(LIBPERF_A) $(OUTPUT)libperf.so*
90 96
97LIB_DIR := $(srctree)/tools/lib/api/
98
99ifneq ($(OUTPUT),)
100ifneq ($(subdir),)
101 API_PATH=$(OUTPUT)/../lib/api/
102else
103 API_PATH=$(OUTPUT)
104endif
105else
106 API_PATH=$(LIB_DIR)
107endif
108
109LIBAPI = $(API_PATH)libapi.a
110
111$(LIBAPI): FORCE
112 $(Q)$(MAKE) -C $(LIB_DIR) O=$(OUTPUT) $(OUTPUT)libapi.a
113
114$(LIBAPI)-clean:
115 $(call QUIET_CLEAN, libapi)
116 $(Q)$(MAKE) -C $(LIB_DIR) O=$(OUTPUT) clean >/dev/null
117
91$(LIBPERF_IN): FORCE 118$(LIBPERF_IN): FORCE
92 $(Q)$(MAKE) $(build)=libperf 119 $(Q)$(MAKE) $(build)=libperf
93 120
94$(LIBPERF_A): $(LIBPERF_IN) 121$(LIBPERF_A): $(LIBPERF_IN)
95 $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(LIBPERF_IN) 122 $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(LIBPERF_IN)
96 123
97$(LIBPERF_SO): $(LIBPERF_IN) 124$(LIBPERF_SO): $(LIBPERF_IN) $(LIBAPI)
98 $(QUIET_LINK)$(CC) --shared -Wl,-soname,libperf.so \ 125 $(QUIET_LINK)$(CC) --shared -Wl,-soname,libperf.so \
99 -Wl,--version-script=$(VERSION_SCRIPT) $^ -o $@ 126 -Wl,--version-script=$(VERSION_SCRIPT) $^ -o $@
100 @ln -sf $(@F) $(OUTPUT)libperf.so 127 @ln -sf $(@F) $(OUTPUT)libperf.so
@@ -106,7 +133,7 @@ libs: $(LIBPERF_A) $(LIBPERF_SO) $(LIBPERF_PC)
106all: fixdep 133all: fixdep
107 $(Q)$(MAKE) libs 134 $(Q)$(MAKE) libs
108 135
109clean: 136clean: $(LIBAPI)-clean
110 $(call QUIET_CLEAN, libperf) $(RM) $(LIBPERF_A) \ 137 $(call QUIET_CLEAN, libperf) $(RM) $(LIBPERF_A) \
111 *.o *~ *.a *.so *.so.$(VERSION) *.so.$(LIBPERF_VERSION) .*.d .*.cmd LIBPERF-CFLAGS $(LIBPERF_PC) 138 *.o *~ *.a *.so *.so.$(VERSION) *.so.$(LIBPERF_VERSION) .*.d .*.cmd LIBPERF-CFLAGS $(LIBPERF_PC)
112 $(Q)$(MAKE) -C tests clean 139 $(Q)$(MAKE) -C tests clean