prefix sub-directories containing libraries with 'lib'

... and make sure tests work again after restructuring
diff --git a/openbsc/configure.in b/openbsc/configure.in
index aec490d..8c0c728 100644
--- a/openbsc/configure.in
+++ b/openbsc/configure.in
@@ -87,19 +87,19 @@
     include/openbsc/Makefile
     include/Makefile
     src/Makefile
-    src/trau/Makefile
-    src/abis/Makefile
-    src/bsc/Makefile
-    src/msc/Makefile
-    src/mgcp/Makefile
-    src/common/Makefile
+    src/libtrau/Makefile
+    src/libabis/Makefile
+    src/libbsc/Makefile
+    src/libmsc/Makefile
+    src/libmgcp/Makefile
+    src/libcommon/Makefile
     src/osmo-nitb/Makefile
     src/osmo-bsc/Makefile
     src/osmo-bsc_nat/Makefile
     src/osmo-bsc_mgcp/Makefile
     src/ipaccess/Makefile
     src/utils/Makefile
-    src/gb/Makefile
+    src/libgb/Makefile
     src/gprs/Makefile
     tests/Makefile
     tests/debug/Makefile
diff --git a/openbsc/src/Makefile.am b/openbsc/src/Makefile.am
index 489dc58..005ce6b 100644
--- a/openbsc/src/Makefile.am
+++ b/openbsc/src/Makefile.am
@@ -2,7 +2,7 @@
 AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(COVERAGE_CFLAGS)
 AM_LDFLAGS = $(LIBOSMOCORE_LIBS) $(COVERAGE_LDFLAGS)
 
-SUBDIRS = common abis mgcp bsc trau osmo-nitb osmo-bsc_mgcp utils ipaccess gb gprs
+SUBDIRS = libcommon libabis libmgcp libbsc libtrau osmo-nitb osmo-bsc_mgcp utils ipaccess libgb gprs
 
 # Conditional modules
 if BUILD_NAT
diff --git a/openbsc/src/gprs/Makefile.am b/openbsc/src/gprs/Makefile.am
index e981115..16c2200 100644
--- a/openbsc/src/gprs/Makefile.am
+++ b/openbsc/src/gprs/Makefile.am
@@ -11,9 +11,12 @@
 endif
 
 osmo_gbproxy_SOURCES = gb_proxy.c gb_proxy_main.c gb_proxy_vty.c
-osmo_gbproxy_LDADD = $(top_builddir)/src/gb/libgb.a $(top_builddir)/src/common/libcommon.a
+osmo_gbproxy_LDADD = 	$(top_builddir)/src/libgb/libgb.a \
+			$(top_builddir)/src/libcommon/libcommon.a
 
 osmo_sgsn_SOURCES =	gprs_gmm.c gprs_sgsn.c gprs_sndcp.c gprs_sndcp_vty.c \
 			sgsn_main.c sgsn_vty.c sgsn_libgtp.c \
 			gprs_llc.c gprs_llc_vty.c crc24.c
-osmo_sgsn_LDADD = $(top_builddir)/src/gb/libgb.a $(top_builddir)/src/common/libcommon.a -lgtp
+osmo_sgsn_LDADD = 	$(top_builddir)/src/libgb/libgb.a \
+			$(top_builddir)/src/libcommon/libcommon.a \
+			-lgtp
diff --git a/openbsc/src/ipaccess/Makefile.am b/openbsc/src/ipaccess/Makefile.am
index e789a0b..144cca1 100644
--- a/openbsc/src/ipaccess/Makefile.am
+++ b/openbsc/src/ipaccess/Makefile.am
@@ -9,11 +9,13 @@
 ipaccess_config_SOURCES = ipaccess-config.c ipaccess-firmware.c network_listen.c
 
 # FIXME: resolve the bogus dependencies patched around here:
-ipaccess_config_LDADD = $(top_builddir)/src/bsc/libbsc.a $(top_builddir)/src/msc/libmsc.a \
-			$(top_builddir)/src/abis/libabis.a $(top_builddir)/src/bsc/libbsc.a \
-			$(top_builddir)/src/trau/libtrau.a \
-			$(top_builddir)/src/common/libcommon.a \
+ipaccess_config_LDADD = $(top_builddir)/src/libbsc/libbsc.a \
+			$(top_builddir)/src/libmsc/libmsc.a \
+			$(top_builddir)/src/libabis/libabis.a \
+			$(top_builddir)/src/libbsc/libbsc.a \
+			$(top_builddir)/src/libtrau/libtrau.a \
+			$(top_builddir)/src/libcommon/libcommon.a \
 			-ldl -ldbi $(LIBCRYPT)
 
 ipaccess_proxy_SOURCES = ipaccess-proxy.c
-ipaccess_proxy_LDADD = $(top_builddir)/src/common/libcommon.a
+ipaccess_proxy_LDADD = $(top_builddir)/src/libcommon/libcommon.a
diff --git a/openbsc/src/abis/Makefile.am b/openbsc/src/libabis/Makefile.am
similarity index 100%
rename from openbsc/src/abis/Makefile.am
rename to openbsc/src/libabis/Makefile.am
diff --git a/openbsc/src/abis/e1_input.c b/openbsc/src/libabis/e1_input.c
similarity index 100%
rename from openbsc/src/abis/e1_input.c
rename to openbsc/src/libabis/e1_input.c
diff --git a/openbsc/src/abis/e1_input_vty.c b/openbsc/src/libabis/e1_input_vty.c
similarity index 100%
rename from openbsc/src/abis/e1_input_vty.c
rename to openbsc/src/libabis/e1_input_vty.c
diff --git a/openbsc/src/abis/input/dahdi.c b/openbsc/src/libabis/input/dahdi.c
similarity index 100%
rename from openbsc/src/abis/input/dahdi.c
rename to openbsc/src/libabis/input/dahdi.c
diff --git a/openbsc/src/abis/input/ipaccess.c b/openbsc/src/libabis/input/ipaccess.c
similarity index 100%
rename from openbsc/src/abis/input/ipaccess.c
rename to openbsc/src/libabis/input/ipaccess.c
diff --git a/openbsc/src/abis/input/lapd.c b/openbsc/src/libabis/input/lapd.c
similarity index 100%
rename from openbsc/src/abis/input/lapd.c
rename to openbsc/src/libabis/input/lapd.c
diff --git a/openbsc/src/abis/input/lapd.h b/openbsc/src/libabis/input/lapd.h
similarity index 100%
rename from openbsc/src/abis/input/lapd.h
rename to openbsc/src/libabis/input/lapd.h
diff --git a/openbsc/src/abis/input/misdn.c b/openbsc/src/libabis/input/misdn.c
similarity index 100%
rename from openbsc/src/abis/input/misdn.c
rename to openbsc/src/libabis/input/misdn.c
diff --git a/openbsc/src/bsc/Makefile.am b/openbsc/src/libbsc/Makefile.am
similarity index 100%
rename from openbsc/src/bsc/Makefile.am
rename to openbsc/src/libbsc/Makefile.am
diff --git a/openbsc/src/bsc/abis_nm.c b/openbsc/src/libbsc/abis_nm.c
similarity index 100%
rename from openbsc/src/bsc/abis_nm.c
rename to openbsc/src/libbsc/abis_nm.c
diff --git a/openbsc/src/bsc/abis_nm_ipaccess.c b/openbsc/src/libbsc/abis_nm_ipaccess.c
similarity index 100%
rename from openbsc/src/bsc/abis_nm_ipaccess.c
rename to openbsc/src/libbsc/abis_nm_ipaccess.c
diff --git a/openbsc/src/bsc/abis_nm_vty.c b/openbsc/src/libbsc/abis_nm_vty.c
similarity index 100%
rename from openbsc/src/bsc/abis_nm_vty.c
rename to openbsc/src/libbsc/abis_nm_vty.c
diff --git a/openbsc/src/bsc/abis_om2000.c b/openbsc/src/libbsc/abis_om2000.c
similarity index 100%
rename from openbsc/src/bsc/abis_om2000.c
rename to openbsc/src/libbsc/abis_om2000.c
diff --git a/openbsc/src/bsc/abis_om2000_vty.c b/openbsc/src/libbsc/abis_om2000_vty.c
similarity index 100%
rename from openbsc/src/bsc/abis_om2000_vty.c
rename to openbsc/src/libbsc/abis_om2000_vty.c
diff --git a/openbsc/src/bsc/abis_rsl.c b/openbsc/src/libbsc/abis_rsl.c
similarity index 100%
rename from openbsc/src/bsc/abis_rsl.c
rename to openbsc/src/libbsc/abis_rsl.c
diff --git a/openbsc/src/bsc/bsc_api.c b/openbsc/src/libbsc/bsc_api.c
similarity index 100%
rename from openbsc/src/bsc/bsc_api.c
rename to openbsc/src/libbsc/bsc_api.c
diff --git a/openbsc/src/bsc/bsc_init.c b/openbsc/src/libbsc/bsc_init.c
similarity index 100%
rename from openbsc/src/bsc/bsc_init.c
rename to openbsc/src/libbsc/bsc_init.c
diff --git a/openbsc/src/bsc/bsc_msc.c b/openbsc/src/libbsc/bsc_msc.c
similarity index 100%
rename from openbsc/src/bsc/bsc_msc.c
rename to openbsc/src/libbsc/bsc_msc.c
diff --git a/openbsc/src/bsc/bsc_rll.c b/openbsc/src/libbsc/bsc_rll.c
similarity index 100%
rename from openbsc/src/bsc/bsc_rll.c
rename to openbsc/src/libbsc/bsc_rll.c
diff --git a/openbsc/src/bsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c
similarity index 100%
rename from openbsc/src/bsc/bsc_vty.c
rename to openbsc/src/libbsc/bsc_vty.c
diff --git a/openbsc/src/bsc/bts_ericsson_rbs2000.c b/openbsc/src/libbsc/bts_ericsson_rbs2000.c
similarity index 98%
rename from openbsc/src/bsc/bts_ericsson_rbs2000.c
rename to openbsc/src/libbsc/bts_ericsson_rbs2000.c
index def42b5..27d5ce6 100644
--- a/openbsc/src/bsc/bts_ericsson_rbs2000.c
+++ b/openbsc/src/libbsc/bts_ericsson_rbs2000.c
@@ -29,7 +29,7 @@
 #include <openbsc/e1_input.h>
 #include <openbsc/signal.h>
 
-#include "../abis/input/lapd.h"
+#include "../libabis/input/lapd.h"
 
 static void bootstrap_om_bts(struct gsm_bts *bts)
 {
diff --git a/openbsc/src/bsc/bts_ipaccess_nanobts.c b/openbsc/src/libbsc/bts_ipaccess_nanobts.c
similarity index 100%
rename from openbsc/src/bsc/bts_ipaccess_nanobts.c
rename to openbsc/src/libbsc/bts_ipaccess_nanobts.c
diff --git a/openbsc/src/bsc/bts_siemens_bs11.c b/openbsc/src/libbsc/bts_siemens_bs11.c
similarity index 100%
rename from openbsc/src/bsc/bts_siemens_bs11.c
rename to openbsc/src/libbsc/bts_siemens_bs11.c
diff --git a/openbsc/src/bsc/bts_unknown.c b/openbsc/src/libbsc/bts_unknown.c
similarity index 100%
rename from openbsc/src/bsc/bts_unknown.c
rename to openbsc/src/libbsc/bts_unknown.c
diff --git a/openbsc/src/bsc/chan_alloc.c b/openbsc/src/libbsc/chan_alloc.c
similarity index 100%
rename from openbsc/src/bsc/chan_alloc.c
rename to openbsc/src/libbsc/chan_alloc.c
diff --git a/openbsc/src/bsc/e1_config.c b/openbsc/src/libbsc/e1_config.c
similarity index 100%
rename from openbsc/src/bsc/e1_config.c
rename to openbsc/src/libbsc/e1_config.c
diff --git a/openbsc/src/bsc/gsm_04_08_utils.c b/openbsc/src/libbsc/gsm_04_08_utils.c
similarity index 100%
rename from openbsc/src/bsc/gsm_04_08_utils.c
rename to openbsc/src/libbsc/gsm_04_08_utils.c
diff --git a/openbsc/src/bsc/gsm_subscriber_base.c b/openbsc/src/libbsc/gsm_subscriber_base.c
similarity index 100%
rename from openbsc/src/bsc/gsm_subscriber_base.c
rename to openbsc/src/libbsc/gsm_subscriber_base.c
diff --git a/openbsc/src/bsc/handover_decision.c b/openbsc/src/libbsc/handover_decision.c
similarity index 100%
rename from openbsc/src/bsc/handover_decision.c
rename to openbsc/src/libbsc/handover_decision.c
diff --git a/openbsc/src/bsc/handover_logic.c b/openbsc/src/libbsc/handover_logic.c
similarity index 100%
rename from openbsc/src/bsc/handover_logic.c
rename to openbsc/src/libbsc/handover_logic.c
diff --git a/openbsc/src/bsc/meas_proc.c b/openbsc/src/libbsc/meas_proc.c
similarity index 100%
rename from openbsc/src/bsc/meas_proc.c
rename to openbsc/src/libbsc/meas_proc.c
diff --git a/openbsc/src/bsc/meas_rep.c b/openbsc/src/libbsc/meas_rep.c
similarity index 100%
rename from openbsc/src/bsc/meas_rep.c
rename to openbsc/src/libbsc/meas_rep.c
diff --git a/openbsc/src/bsc/paging.c b/openbsc/src/libbsc/paging.c
similarity index 100%
rename from openbsc/src/bsc/paging.c
rename to openbsc/src/libbsc/paging.c
diff --git a/openbsc/src/bsc/rest_octets.c b/openbsc/src/libbsc/rest_octets.c
similarity index 100%
rename from openbsc/src/bsc/rest_octets.c
rename to openbsc/src/libbsc/rest_octets.c
diff --git a/openbsc/src/bsc/system_information.c b/openbsc/src/libbsc/system_information.c
similarity index 100%
rename from openbsc/src/bsc/system_information.c
rename to openbsc/src/libbsc/system_information.c
diff --git a/openbsc/src/bsc/transaction.c b/openbsc/src/libbsc/transaction.c
similarity index 100%
rename from openbsc/src/bsc/transaction.c
rename to openbsc/src/libbsc/transaction.c
diff --git a/openbsc/src/common/Makefile.am b/openbsc/src/libcommon/Makefile.am
similarity index 100%
rename from openbsc/src/common/Makefile.am
rename to openbsc/src/libcommon/Makefile.am
diff --git a/openbsc/src/common/bsc_version.c b/openbsc/src/libcommon/bsc_version.c
similarity index 100%
rename from openbsc/src/common/bsc_version.c
rename to openbsc/src/libcommon/bsc_version.c
diff --git a/openbsc/src/common/common_vty.c b/openbsc/src/libcommon/common_vty.c
similarity index 100%
rename from openbsc/src/common/common_vty.c
rename to openbsc/src/libcommon/common_vty.c
diff --git a/openbsc/src/common/debug.c b/openbsc/src/libcommon/debug.c
similarity index 100%
rename from openbsc/src/common/debug.c
rename to openbsc/src/libcommon/debug.c
diff --git a/openbsc/src/common/gsm_data.c b/openbsc/src/libcommon/gsm_data.c
similarity index 100%
rename from openbsc/src/common/gsm_data.c
rename to openbsc/src/libcommon/gsm_data.c
diff --git a/openbsc/src/common/socket.c b/openbsc/src/libcommon/socket.c
similarity index 100%
rename from openbsc/src/common/socket.c
rename to openbsc/src/libcommon/socket.c
diff --git a/openbsc/src/common/talloc_ctx.c b/openbsc/src/libcommon/talloc_ctx.c
similarity index 100%
rename from openbsc/src/common/talloc_ctx.c
rename to openbsc/src/libcommon/talloc_ctx.c
diff --git a/openbsc/src/gb/Makefile.am b/openbsc/src/libgb/Makefile.am
similarity index 100%
rename from openbsc/src/gb/Makefile.am
rename to openbsc/src/libgb/Makefile.am
diff --git a/openbsc/src/gb/gprs_bssgp.c b/openbsc/src/libgb/gprs_bssgp.c
similarity index 100%
rename from openbsc/src/gb/gprs_bssgp.c
rename to openbsc/src/libgb/gprs_bssgp.c
diff --git a/openbsc/src/gb/gprs_bssgp_util.c b/openbsc/src/libgb/gprs_bssgp_util.c
similarity index 100%
rename from openbsc/src/gb/gprs_bssgp_util.c
rename to openbsc/src/libgb/gprs_bssgp_util.c
diff --git a/openbsc/src/gb/gprs_bssgp_vty.c b/openbsc/src/libgb/gprs_bssgp_vty.c
similarity index 100%
rename from openbsc/src/gb/gprs_bssgp_vty.c
rename to openbsc/src/libgb/gprs_bssgp_vty.c
diff --git a/openbsc/src/gb/gprs_ns.c b/openbsc/src/libgb/gprs_ns.c
similarity index 100%
rename from openbsc/src/gb/gprs_ns.c
rename to openbsc/src/libgb/gprs_ns.c
diff --git a/openbsc/src/gb/gprs_ns_frgre.c b/openbsc/src/libgb/gprs_ns_frgre.c
similarity index 100%
rename from openbsc/src/gb/gprs_ns_frgre.c
rename to openbsc/src/libgb/gprs_ns_frgre.c
diff --git a/openbsc/src/gb/gprs_ns_vty.c b/openbsc/src/libgb/gprs_ns_vty.c
similarity index 100%
rename from openbsc/src/gb/gprs_ns_vty.c
rename to openbsc/src/libgb/gprs_ns_vty.c
diff --git a/openbsc/src/mgcp/Makefile.am b/openbsc/src/libmgcp/Makefile.am
similarity index 100%
rename from openbsc/src/mgcp/Makefile.am
rename to openbsc/src/libmgcp/Makefile.am
diff --git a/openbsc/src/mgcp/mgcp_network.c b/openbsc/src/libmgcp/mgcp_network.c
similarity index 100%
rename from openbsc/src/mgcp/mgcp_network.c
rename to openbsc/src/libmgcp/mgcp_network.c
diff --git a/openbsc/src/mgcp/mgcp_protocol.c b/openbsc/src/libmgcp/mgcp_protocol.c
similarity index 100%
rename from openbsc/src/mgcp/mgcp_protocol.c
rename to openbsc/src/libmgcp/mgcp_protocol.c
diff --git a/openbsc/src/mgcp/mgcp_vty.c b/openbsc/src/libmgcp/mgcp_vty.c
similarity index 100%
rename from openbsc/src/mgcp/mgcp_vty.c
rename to openbsc/src/libmgcp/mgcp_vty.c
diff --git a/openbsc/src/msc/Makefile.am b/openbsc/src/libmsc/Makefile.am
similarity index 100%
rename from openbsc/src/msc/Makefile.am
rename to openbsc/src/libmsc/Makefile.am
diff --git a/openbsc/src/msc/auth.c b/openbsc/src/libmsc/auth.c
similarity index 100%
rename from openbsc/src/msc/auth.c
rename to openbsc/src/libmsc/auth.c
diff --git a/openbsc/src/msc/db.c b/openbsc/src/libmsc/db.c
similarity index 100%
rename from openbsc/src/msc/db.c
rename to openbsc/src/libmsc/db.c
diff --git a/openbsc/src/msc/gsm_04_08.c b/openbsc/src/libmsc/gsm_04_08.c
similarity index 100%
rename from openbsc/src/msc/gsm_04_08.c
rename to openbsc/src/libmsc/gsm_04_08.c
diff --git a/openbsc/src/msc/gsm_04_11.c b/openbsc/src/libmsc/gsm_04_11.c
similarity index 100%
rename from openbsc/src/msc/gsm_04_11.c
rename to openbsc/src/libmsc/gsm_04_11.c
diff --git a/openbsc/src/msc/gsm_04_80.c b/openbsc/src/libmsc/gsm_04_80.c
similarity index 100%
rename from openbsc/src/msc/gsm_04_80.c
rename to openbsc/src/libmsc/gsm_04_80.c
diff --git a/openbsc/src/msc/gsm_subscriber.c b/openbsc/src/libmsc/gsm_subscriber.c
similarity index 100%
rename from openbsc/src/msc/gsm_subscriber.c
rename to openbsc/src/libmsc/gsm_subscriber.c
diff --git a/openbsc/src/msc/mncc.c b/openbsc/src/libmsc/mncc.c
similarity index 100%
rename from openbsc/src/msc/mncc.c
rename to openbsc/src/libmsc/mncc.c
diff --git a/openbsc/src/msc/mncc_builtin.c b/openbsc/src/libmsc/mncc_builtin.c
similarity index 100%
rename from openbsc/src/msc/mncc_builtin.c
rename to openbsc/src/libmsc/mncc_builtin.c
diff --git a/openbsc/src/msc/mncc_sock.c b/openbsc/src/libmsc/mncc_sock.c
similarity index 100%
rename from openbsc/src/msc/mncc_sock.c
rename to openbsc/src/libmsc/mncc_sock.c
diff --git a/openbsc/src/msc/osmo_msc.c b/openbsc/src/libmsc/osmo_msc.c
similarity index 100%
rename from openbsc/src/msc/osmo_msc.c
rename to openbsc/src/libmsc/osmo_msc.c
diff --git a/openbsc/src/msc/rrlp.c b/openbsc/src/libmsc/rrlp.c
similarity index 100%
rename from openbsc/src/msc/rrlp.c
rename to openbsc/src/libmsc/rrlp.c
diff --git a/openbsc/src/msc/silent_call.c b/openbsc/src/libmsc/silent_call.c
similarity index 100%
rename from openbsc/src/msc/silent_call.c
rename to openbsc/src/libmsc/silent_call.c
diff --git a/openbsc/src/msc/sms_queue.c b/openbsc/src/libmsc/sms_queue.c
similarity index 100%
rename from openbsc/src/msc/sms_queue.c
rename to openbsc/src/libmsc/sms_queue.c
diff --git a/openbsc/src/msc/token_auth.c b/openbsc/src/libmsc/token_auth.c
similarity index 100%
rename from openbsc/src/msc/token_auth.c
rename to openbsc/src/libmsc/token_auth.c
diff --git a/openbsc/src/msc/ussd.c b/openbsc/src/libmsc/ussd.c
similarity index 100%
rename from openbsc/src/msc/ussd.c
rename to openbsc/src/libmsc/ussd.c
diff --git a/openbsc/src/msc/vty_interface_layer3.c b/openbsc/src/libmsc/vty_interface_layer3.c
similarity index 100%
rename from openbsc/src/msc/vty_interface_layer3.c
rename to openbsc/src/libmsc/vty_interface_layer3.c
diff --git a/openbsc/src/trau/Makefile.am b/openbsc/src/libtrau/Makefile.am
similarity index 100%
rename from openbsc/src/trau/Makefile.am
rename to openbsc/src/libtrau/Makefile.am
diff --git a/openbsc/src/trau/rtp_proxy.c b/openbsc/src/libtrau/rtp_proxy.c
similarity index 100%
rename from openbsc/src/trau/rtp_proxy.c
rename to openbsc/src/libtrau/rtp_proxy.c
diff --git a/openbsc/src/trau/subchan_demux.c b/openbsc/src/libtrau/subchan_demux.c
similarity index 100%
rename from openbsc/src/trau/subchan_demux.c
rename to openbsc/src/libtrau/subchan_demux.c
diff --git a/openbsc/src/trau/trau_frame.c b/openbsc/src/libtrau/trau_frame.c
similarity index 100%
rename from openbsc/src/trau/trau_frame.c
rename to openbsc/src/libtrau/trau_frame.c
diff --git a/openbsc/src/trau/trau_mux.c b/openbsc/src/libtrau/trau_mux.c
similarity index 100%
rename from openbsc/src/trau/trau_mux.c
rename to openbsc/src/libtrau/trau_mux.c
diff --git a/openbsc/src/trau/trau_upqueue.c b/openbsc/src/libtrau/trau_upqueue.c
similarity index 100%
rename from openbsc/src/trau/trau_upqueue.c
rename to openbsc/src/libtrau/trau_upqueue.c
diff --git a/openbsc/src/osmo-bsc/Makefile.am b/openbsc/src/osmo-bsc/Makefile.am
index 735d440..95b9ef4 100644
--- a/openbsc/src/osmo-bsc/Makefile.am
+++ b/openbsc/src/osmo-bsc/Makefile.am
@@ -9,6 +9,10 @@
 		   osmo_bsc_grace.c osmo_bsc_msc.c osmo_bsc_sccp.c \
 		   osmo_bsc_filter.c osmo_bsc_bssap.c osmo_bsc_audio.c
 # once again since TRAU uses CC symbol :(
-osmo_bsc_LDADD = ../bsc/libbsc.a ../msc/libmsc.a ../bsc/libbsc.a \
-		../abis/libabis.a ../trau/libtrau.a ../common/libcommon.a \
+osmo_bsc_LDADD = $(top_builddir)/src/libbsc/libbsc.a \
+		 $(top_builddir)/src/libmsc/libmsc.a \
+		 $(top_builddir)/src/libbsc/libbsc.a \
+		 $(top_builddir)/src/libabis/libabis.a \
+		 $(top_builddir)/src/libtrau/libtrau.a \
+		 $(top_builddir)/src/libcommon/libcommon.a \
 		 $(LIBOSMOSCCP_LIBS)
diff --git a/openbsc/src/osmo-bsc_mgcp/Makefile.am b/openbsc/src/osmo-bsc_mgcp/Makefile.am
index 0dc4103..32cc813 100644
--- a/openbsc/src/osmo-bsc_mgcp/Makefile.am
+++ b/openbsc/src/osmo-bsc_mgcp/Makefile.am
@@ -5,5 +5,6 @@
 bin_PROGRAMS = bsc_mgcp
 
 bsc_mgcp_SOURCES = mgcp_main.c
-bsc_mgcp_LDADD = $(top_builddir)/src/common/libcommon.a $(top_builddir)/src/mgcp/libmgcp.a \
-		$(LIBOSMOVTY_LIBS)
+bsc_mgcp_LDADD = $(top_builddir)/src/libcommon/libcommon.a \
+		 $(top_builddir)/src/libmgcp/libmgcp.a \
+		 $(LIBOSMOVTY_LIBS)
diff --git a/openbsc/src/osmo-bsc_nat/Makefile.am b/openbsc/src/osmo-bsc_nat/Makefile.am
index c7905ce..98a3431 100644
--- a/openbsc/src/osmo-bsc_nat/Makefile.am
+++ b/openbsc/src/osmo-bsc_nat/Makefile.am
@@ -7,7 +7,9 @@
 
 osmo_bsc_nat_SOURCES = bsc_filter.c bsc_mgcp_utils.c bsc_nat.c bsc_nat_utils.c \
 		  bsc_nat_vty.c bsc_sccp.c bsc_ussd.c
-osmo_bsc_nat_LDADD = $(top_builddir)/src/common/libcommon.a \
-		$(top_builddir)/src/mgcp/libmgcp.a $(top_builddir)/src/bsc/libbsc.a \
-		$(top_builddir)/src/abis/libabis.a $(top_builddir)/src/trau/libtrau.a \
+osmo_bsc_nat_LDADD = $(top_builddir)/src/libcommon/libcommon.a \
+		$(top_builddir)/src/libmgcp/libmgcp.a \
+		$(top_builddir)/src/libbsc/libbsc.a \
+		$(top_builddir)/src/libabis/libabis.a \
+		$(top_builddir)/src/libtrau/libtrau.a \
 		-lrt $(LIBOSMOSCCP_LIBS)
diff --git a/openbsc/src/osmo-nitb/Makefile.am b/openbsc/src/osmo-nitb/Makefile.am
index 55822e9..44cb023 100644
--- a/openbsc/src/osmo-nitb/Makefile.am
+++ b/openbsc/src/osmo-nitb/Makefile.am
@@ -6,5 +6,9 @@
 
 osmo_nitb_SOURCES = bsc_hack.c
 osmo_nitb_LDADD = -ldl -ldbi $(LIBCRYPT) $(LIBOSMOVTY_LIBS) \
-		../bsc/libbsc.a ../msc/libmsc.a ../bsc/libbsc.a ../trau/libtrau.a ../abis/libabis.a \
-		../common/libcommon.a
+		$(top_builddir)/src/libbsc/libbsc.a \
+		$(top_builddir)/src/libmsc/libmsc.a \
+		$(top_builddir)/src/libbsc/libbsc.a \
+		$(top_builddir)/src/libtrau/libtrau.a \
+		$(top_builddir)/src/libabis/libabis.a \
+		$(top_builddir)/src/libcommon/libcommon.a
diff --git a/openbsc/src/utils/Makefile.am b/openbsc/src/utils/Makefile.am
index 2847c6a..2351f8a 100644
--- a/openbsc/src/utils/Makefile.am
+++ b/openbsc/src/utils/Makefile.am
@@ -5,6 +5,8 @@
 bin_PROGRAMS = bs11_config isdnsync
 
 bs11_config_SOURCES = bs11_config.c rs232.c
-bs11_config_LDADD = ../common/libcommon.a ../abis/libabis.a ../bsc/libbsc.a
+bs11_config_LDADD = $(top_builddir)/src/libcommon/libcommon.a \
+		    $(top_builddir)/src/libabis/libabis.a \
+		    $(top_builddir)/src/libbsc/libbsc.a
 
 isdnsync_SOURCES = isdnsync.c
diff --git a/openbsc/tests/channel/Makefile.am b/openbsc/tests/channel/Makefile.am
index 8593b5a..bf709ff 100644
--- a/openbsc/tests/channel/Makefile.am
+++ b/openbsc/tests/channel/Makefile.am
@@ -3,14 +3,8 @@
 
 noinst_PROGRAMS = channel_test
 
-channel_test_SOURCES = channel_test.c \
-	$(top_srcdir)/src/db.c \
-	$(top_srcdir)/src/gsm_subscriber_base.c \
-	$(top_srcdir)/src/gsm_subscriber.c \
-	$(top_srcdir)/src/debug.c \
-	$(top_srcdir)/src/gsm_data.c \
-	$(top_srcdir)/src/abis_nm.c \
-	$(top_srcdir)/src/bts_ipaccess_nanobts.c \
-	$(top_srcdir)/src/bts_siemens_bs11.c
-channel_test_LDADD = -ldl -ldbi $(LIBOSMOCORE_LIBS)
-
+channel_test_SOURCES = channel_test.c
+channel_test_LDADD = -ldl -ldbi $(LIBOSMOCORE_LIBS) \
+	$(top_builddir)/src/libcommon/libcommon.a \
+	$(top_builddir)/src/libbsc/libbsc.a \
+	$(top_builddir)/src/libmsc/libmsc.a
diff --git a/openbsc/tests/db/Makefile.am b/openbsc/tests/db/Makefile.am
index a7bed85..a4395ae 100644
--- a/openbsc/tests/db/Makefile.am
+++ b/openbsc/tests/db/Makefile.am
@@ -5,5 +5,11 @@
 noinst_PROGRAMS = db_test
 
 db_test_SOURCES = db_test.c
-db_test_LDADD = $(top_builddir)/src/libbsc.a $(top_builddir)/src/libmsc.a $(top_builddir)/src/libbsc.a $(LIBOSMOCORE_LIBS) -ldl -ldbi
+db_test_LDADD =	$(top_builddir)/src/libbsc/libbsc.a \
+		$(top_builddir)/src/libmsc/libmsc.a \
+		$(top_builddir)/src/libbsc/libbsc.a \
+		$(top_builddir)/src/libabis/libabis.a \
+		$(top_builddir)/src/libtrau/libtrau.a \
+		$(top_builddir)/src/libcommon/libcommon.a \
+		$(LIBOSMOCORE_LIBS) -ldl -ldbi
 
diff --git a/openbsc/tests/debug/Makefile.am b/openbsc/tests/debug/Makefile.am
index 8423fd1..47437b1 100644
--- a/openbsc/tests/debug/Makefile.am
+++ b/openbsc/tests/debug/Makefile.am
@@ -2,5 +2,6 @@
 AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS)
 noinst_PROGRAMS = debug_test
 
-debug_test_SOURCES = debug_test.c $(top_srcdir)/src/debug.c 
-debug_test_LDADD = $(LIBOSMOCORE_LIBS)
+debug_test_SOURCES = debug_test.c
+debug_test_LDADD = 	$(LIBOSMOCORE_LIBS) \
+			$(top_srcdir)/src/libcommon/libcommon.a
diff --git a/openbsc/tests/gsm0408/Makefile.am b/openbsc/tests/gsm0408/Makefile.am
index f98c673..de6feb2 100644
--- a/openbsc/tests/gsm0408/Makefile.am
+++ b/openbsc/tests/gsm0408/Makefile.am
@@ -3,4 +3,7 @@
 noinst_PROGRAMS = gsm0408_test
 
 gsm0408_test_SOURCES = gsm0408_test.c
-gsm0408_test_LDADD = $(top_builddir)/src/libbsc.a $(top_builddir)/src/libmsc.a $(top_builddir)/src/libbsc.a $(LIBOSMOCORE_LIBS) -ldbi
+gsm0408_test_LDADD =	$(top_builddir)/src/libbsc/libbsc.a \
+			$(top_builddir)/src/libmsc/libmsc.a \
+			$(top_builddir)/src/libbsc/libbsc.a \
+			$(LIBOSMOCORE_LIBS) -ldbi
diff --git a/openbsc/tests/mgcp/Makefile.am b/openbsc/tests/mgcp/Makefile.am
index fdbe565..472368c 100644
--- a/openbsc/tests/mgcp/Makefile.am
+++ b/openbsc/tests/mgcp/Makefile.am
@@ -4,7 +4,9 @@
 
 noinst_PROGRAMS = mgcp_test
 
-mgcp_test_SOURCES = mgcp_test.c \
-			$(top_srcdir)/src/mgcp/mgcp_protocol.c \
-			$(top_srcdir)/src/mgcp/mgcp_network.c
-mgcp_test_LDADD = $(top_builddir)/src/libbsc.a $(LIBOSMOCORE_LIBS) -lrt $(LIBOSMOSCCP_LIBS) $(LIBOSMOVTY_LIBS)
+mgcp_test_SOURCES = mgcp_test.c
+
+mgcp_test_LDADD = $(top_builddir)/src/libbsc/libbsc.a \
+		$(top_builddir)/src/libmgcp/libmgcp.a \
+		$(top_builddir)/src/libcommon/libcommon.a \
+		$(LIBOSMOCORE_LIBS) -lrt $(LIBOSMOSCCP_LIBS) $(LIBOSMOVTY_LIBS)