OSDN Git Service

build-sys: Don't build gdbus several times
authorLucas De Marchi <lucas.demarchi@profusion.mobi>
Wed, 3 Jul 2013 12:29:20 +0000 (09:29 -0300)
committerMarcel Holtmann <marcel@holtmann.org>
Thu, 18 Jul 2013 14:31:50 +0000 (07:31 -0700)
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.

Makefile.am
Makefile.obexd
Makefile.tools

index df1b61b..c5b2fd5 100644 (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
index 0d9b4c6..d5377cb 100644 (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
 
index e59420f..a9b0182 100644 (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 \