diff options
author | Jiri Olsa <jolsa@kernel.org> | 2019-08-18 17:02:58 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2019-09-25 08:51:45 -0400 |
commit | d80a5540bccb4a9e7bd49d249056ce4c7d385ff3 (patch) | |
tree | 21a61f01c301fb900983661c108cd8d1bda83769 | |
parent | e6b1878d4eea85ab453e4b198cbb26a34614fdc0 (diff) |
libperf: Link libapi.a in libperf.so
Linking libapi.a in libperf.so, because we are about to use some of the
API functions in it.
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lore.kernel.org/lkml/20190913132355.21634-10-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r-- | tools/perf/lib/Makefile | 33 |
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 |
60 | endif | 60 | endif |
61 | 61 | ||
62 | INCLUDES = -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 | 62 | INCLUDES = \ |
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 |
65 | override CFLAGS += $(EXTRA_WARNINGS) | 71 | override CFLAGS += $(EXTRA_WARNINGS) |
@@ -88,13 +94,34 @@ LIBPERF_PC := $(OUTPUT)libperf.pc | |||
88 | 94 | ||
89 | LIBPERF_ALL := $(LIBPERF_A) $(OUTPUT)libperf.so* | 95 | LIBPERF_ALL := $(LIBPERF_A) $(OUTPUT)libperf.so* |
90 | 96 | ||
97 | LIB_DIR := $(srctree)/tools/lib/api/ | ||
98 | |||
99 | ifneq ($(OUTPUT),) | ||
100 | ifneq ($(subdir),) | ||
101 | API_PATH=$(OUTPUT)/../lib/api/ | ||
102 | else | ||
103 | API_PATH=$(OUTPUT) | ||
104 | endif | ||
105 | else | ||
106 | API_PATH=$(LIB_DIR) | ||
107 | endif | ||
108 | |||
109 | LIBAPI = $(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) | |||
106 | all: fixdep | 133 | all: fixdep |
107 | $(Q)$(MAKE) libs | 134 | $(Q)$(MAKE) libs |
108 | 135 | ||
109 | clean: | 136 | clean: $(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 |