1 # SPDX-FileCopyrightText: 2017-2024 EfficiOS, Inc.
2 # SPDX-License-Identifier: MIT
4 # Path to the plugins build directory.
5 PLUGINS_PATH = $(abs_top_builddir)/src/plugins
7 # Takes a plugin name and outputs the needed LDFLAGS to embed it.
9 # The --whole-archive option is important here. From the GNU linker's
12 # For each archive mentioned on the command line after the
13 # --whole-archive option, include every object file in the archive in
14 # the link, rather than searching the archive for the required object
17 # In our case, we find the plugins thanks to special sections in the
18 # binary that are filled by plugin objects. If the linker discards those
19 # symbols because the CLI does not use them directly, the CLI reports
20 # no plugins found (plugins are effectively not embedded).
21 pluginarchive = $(LD_WHOLE_ARCHIVE)$(PLUGINS_PATH)/$(1)/.libs/babeltrace-plugin-$(1).a$(LD_NO_WHOLE_ARCHIVE)