build-sys: Don't build gdbus several times

We are currently compiling gdbus 3 times: one for tests, one for
bluetoothd and another for obexd.

$ ls gdbus/*watch.o
gdbus/bluetoothd-watch.o  gdbus/obexd-watch.o  gdbus/watch.o

Instead of prepending $(gdbus_sources) to several _SOURCES variable, use
a convenience library.
This commit is contained in:
Lucas De Marchi 2013-07-03 09:29:20 -03:00 committed by Marcel Holtmann
parent 0585eb43c6
commit c97860db27
3 changed files with 29 additions and 21 deletions

View File

@ -112,6 +112,11 @@ builtin_nodist =
include Makefile.plugins
noinst_LTLIBRARIES += gdbus/libgdbus-internal.la
gdbus_libgdbus_internal_la_SOURCES = $(gdbus_sources)
gdbus_libgdbus_internal_la_LDFLAGS = $(AM_LDFLAGS) @DBUS_LIBS@ @GLIB_LIBS@
gdbus_libgdbus_internal_la_CFLAGS = $(AM_CFLAGS) @DBUS_CFLAGS@ @GLIB_CFLAGS@
if MAINTAINER_MODE
plugin_LTLIBRARIES += plugins/external-dummy.la
plugins_external_dummy_la_SOURCES = plugins/external-dummy.c
@ -122,7 +127,7 @@ endif
libexec_PROGRAMS += src/bluetoothd
src_bluetoothd_SOURCES = $(gdbus_sources) $(builtin_sources) \
src_bluetoothd_SOURCES = $(builtin_sources) \
$(attrib_sources) $(btio_sources) \
src/bluetooth.ver \
src/main.c src/log.h src/log.c \
@ -148,8 +153,8 @@ src_bluetoothd_SOURCES = $(gdbus_sources) $(builtin_sources) \
src/eir.h src/eir.c \
src/shared/util.h src/shared/util.c \
src/shared/mgmt.h src/shared/mgmt.c
src_bluetoothd_LDADD = lib/libbluetooth-internal.la @GLIB_LIBS@ @DBUS_LIBS@ \
-ldl -lrt
src_bluetoothd_LDADD = lib/libbluetooth-internal.la gdbus/libgdbus-internal.la \
@GLIB_LIBS@ @DBUS_LIBS@ -ldl -lrt
src_bluetoothd_LDFLAGS = $(AM_LDFLAGS) -Wl,--export-dynamic \
-Wl,--version-script=$(srcdir)/src/bluetooth.ver
@ -245,8 +250,9 @@ unit_test_sdp_LDADD = lib/libbluetooth-internal.la @GLIB_LIBS@
unit_tests += unit/test-gdbus-client
unit_test_gdbus_client_SOURCES = $(gdbus_sources) unit/test-gdbus-client.c
unit_test_gdbus_client_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
unit_test_gdbus_client_SOURCES = unit/test-gdbus-client.c
unit_test_gdbus_client_LDADD = gdbus/libgdbus-internal.la \
@GLIB_LIBS@ @DBUS_LIBS@
unit_tests += unit/test-gobex-header unit/test-gobex-packet unit/test-gobex \
unit/test-gobex-transfer unit/test-gobex-apparam

View File

@ -54,7 +54,7 @@ obexd_builtin_sources += obexd/client/mns.c obexd/src/map_ap.h \
libexec_PROGRAMS += obexd/src/obexd
obexd_src_obexd_SOURCES = $(gdbus_sources) $(btio_sources) $(gobex_sources) \
obexd_src_obexd_SOURCES = $(btio_sources) $(gobex_sources) \
$(obexd_builtin_sources) \
obexd/src/main.c obexd/src/obexd.h \
obexd/src/plugin.h obexd/src/plugin.c \
@ -80,7 +80,8 @@ obexd_src_obexd_SOURCES = $(gdbus_sources) $(btio_sources) $(gobex_sources) \
obexd/client/driver.h obexd/client/driver.c \
obexd/src/map_ap.h
obexd_src_obexd_LDADD = lib/libbluetooth-internal.la \
@ICAL_LIBS@ @DBUS_LIBS@ @GLIB_LIBS@ -ldl
gdbus/libgdbus-internal.la \
@ICAL_LIBS@ @DBUS_LIBS@ @GLIB_LIBS@ -ldl
obexd_src_obexd_LDFLAGS = -Wl,--export-dynamic

View File

@ -2,11 +2,12 @@
if CLIENT
bin_PROGRAMS += client/bluetoothctl
client_bluetoothctl_SOURCES = $(gdbus_sources) client/main.c \
client_bluetoothctl_SOURCES = client/main.c \
client/display.h client/display.c \
client/agent.h client/agent.c \
monitor/uuid.h monitor/uuid.c
client_bluetoothctl_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ -lreadline
client_bluetoothctl_LDADD = gdbus/libgdbus-internal.la @GLIB_LIBS@ @DBUS_LIBS@ \
-lreadline
endif
if MONITOR
@ -57,14 +58,12 @@ tools_l2cap_tester_SOURCES = tools/l2cap-tester.c monitor/bt.h \
src/shared/tester.h src/shared/tester.c
tools_l2cap_tester_LDADD = lib/libbluetooth-internal.la @GLIB_LIBS@
tools_gap_tester_SOURCES = $(gdbus_sources) \
tools/gap-tester.c monitor/bt.h \
tools_gap_tester_SOURCES = tools/gap-tester.c monitor/bt.h \
emulator/btdev.h emulator/btdev.c \
emulator/bthost.h emulator/bthost.c \
src/shared/hciemu.h src/shared/hciemu.c \
src/shared/tester.h src/shared/tester.c
tools_gap_tester_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
tools_gap_tester_LDADD = gdbus/libgdbus-internal.la @GLIB_LIBS@ @DBUS_LIBS@
endif
if TOOLS
@ -188,12 +187,13 @@ tools_btmgmt_LDADD = lib/libbluetooth-internal.la @GLIB_LIBS@
tools_btiotest_SOURCES = tools/btiotest.c btio/btio.h btio/btio.c
tools_btiotest_LDADD = lib/libbluetooth-internal.la @GLIB_LIBS@
tools_mpris_player_SOURCES = $(gdbus_sources) tools/mpris-player.c
tools_mpris_player_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
tools_mpris_player_SOURCES = tools/mpris-player.c
tools_mpris_player_LDADD = gdbus/libgdbus-internal.la @GLIB_LIBS@ @DBUS_LIBS@
tools_bluetooth_player_SOURCES = $(gdbus_sources) tools/bluetooth-player.c \
tools_bluetooth_player_SOURCES = tools/bluetooth-player.c \
client/display.h client/display.c
tools_bluetooth_player_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ -lreadline
tools_bluetooth_player_LDADD = gdbus/libgdbus-internal.la \
@GLIB_LIBS@ @DBUS_LIBS@ -lreadline
EXTRA_DIST += tools/bdaddr.1
endif
@ -222,8 +222,8 @@ endif
if EXPERIMENTAL
noinst_PROGRAMS += profiles/iap/iapd
profiles_iap_iapd_SOURCES = $(gdbus_sources) profiles/iap/main.c
profiles_iap_iapd_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
profiles_iap_iapd_SOURCES = profiles/iap/main.c
profiles_iap_iapd_LDADD = gdbus/libgdbus-internal.la @GLIB_LIBS@ @DBUS_LIBS@
endif
if CUPS
@ -231,14 +231,15 @@ cupsdir = $(libdir)/cups/backend
cups_PROGRAMS = profiles/cups/bluetooth
profiles_cups_bluetooth_SOURCES = $(gdbus_sources) profiles/cups/main.c \
profiles_cups_bluetooth_SOURCES = profiles/cups/main.c \
profiles/cups/cups.h \
profiles/cups/sdp.c \
profiles/cups/spp.c \
profiles/cups/hcrp.c
profiles_cups_bluetooth_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ \
lib/libbluetooth-internal.la
lib/libbluetooth-internal.la \
gdbus/libgdbus-internal.la
endif
test_scripts += test/sap_client.py test/bluezutils.py \