build: use a common library for shared pieces
Signed-off-by: Patrick Venture <venture@google.com>
Change-Id: Ic4b645091c71f270ba3b2f290f7206ebe3222f1d
diff --git a/Makefile.am b/Makefile.am
index 8743f70..42cdcbf 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -35,8 +35,19 @@
endif
ACLOCAL_AMFLAGS = -I m4
+AM_DEFAULT_SOURCE_EXT = .cpp
-SUBDIRS =
+noinst_LTLIBRARIES = libfirmware_common.la
+libfirmware_common_la_SOURCES = \
+ util.cpp \
+ internal/sys.cpp
+libfirmware_common_la_CXXFLAGS = \
+ $(CODE_COVERAGE_CXXFLAGS) \
+ -flto
+libfirmware_common_la_LDFLAGS = \
+ $(CODE_COVERAGE_LIBS)
+
+SUBDIRS = .
if BUILD_BMC_HANDLER
SUBDIRS += bmc
diff --git a/bmc/Makefile.am b/bmc/Makefile.am
index c46a8cd..be3346c 100644
--- a/bmc/Makefile.am
+++ b/bmc/Makefile.am
@@ -2,10 +2,8 @@
noinst_LTLIBRARIES = libfirmwareblob_common.la
libfirmwareblob_common_la_SOURCES = \
- $(top_srcdir)/util.cpp \
firmware_handler.cpp \
file_handler.cpp \
- $(top_srcdir)/internal/sys.cpp \
prepare_systemd.cpp \
verify_systemd.cpp \
update_systemd.cpp
@@ -37,6 +35,7 @@
$(PHOSPHOR_LOGGING_LIBS) \
$(CODE_COVERAGE_LIBS) \
-lstdc++fs
+libfirmwareblob_common_la_LIBADD = $(top_builddir)/libfirmware_common.la
libfirmwareblobdir = ${libdir}/ipmid-providers
libfirmwareblob_LTLIBRARIES = libfirmwareblob.la
diff --git a/tools/Makefile.am b/tools/Makefile.am
index e54b301..2762ece 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -14,7 +14,6 @@
$(IPMIBLOB_CFLAGS) \
$(PCILIB_CFLAGS)
libupdater_la_SOURCES = \
- $(top_srcdir)/util.cpp \
updater.cpp \
handler.cpp \
helper.cpp \
@@ -22,7 +21,7 @@
lpc.cpp \
io.cpp \
pci.cpp \
- p2a.cpp \
- $(top_srcdir)/internal/sys.cpp
+ p2a.cpp
+libupdater_la_LIBADD = $(top_builddir)/libfirmware_common.la
SUBDIRS = . test