Split include/Makefile.am content into subdirs

When someone is modifying a given library there's no need to be looking
at a common file contains tons of lines from different libraries.
Furthermore, this removes the need of "nobase" autofoo prefix, hence
following the usual directive of having one Makefile per directory.

Change-Id: I785891c2f89114bf8303c799094b637d3d25ac71
diff --git a/configure.ac b/configure.ac
index 5f70fca..9c9681d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -585,6 +585,19 @@
 	libosmosim.pc
 	libosmousb.pc
 	include/Makefile
+	include/osmocom/Makefile
+	include/osmocom/codec/Makefile
+	include/osmocom/coding/Makefile
+	include/osmocom/core/Makefile
+	include/osmocom/crypt/Makefile
+	include/osmocom/ctrl/Makefile
+	include/osmocom/gprs/Makefile
+	include/osmocom/gprs/protocol/Makefile
+	include/osmocom/gsm/Makefile
+	include/osmocom/gsm/protocol/Makefile
+	include/osmocom/sim/Makefile
+	include/osmocom/usb/Makefile
+	include/osmocom/vty/Makefile
 	src/Makefile
 	src/core/Makefile
 	src/vty/Makefile
diff --git a/include/Makefile.am b/include/Makefile.am
index a234014..3578a80 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -1,225 +1 @@
-BUILT_SOURCES = osmocom/gsm/gsm0503.h
-
-nobase_include_HEADERS = \
-                       osmocom/codec/ecu.h \
-                       osmocom/codec/codec.h \
-                       osmocom/codec/gsm610_bits.h \
-                       osmocom/core/application.h \
-                       osmocom/core/backtrace.h \
-                       osmocom/core/base64.h \
-                       osmocom/core/bit16gen.h \
-                       osmocom/core/bit32gen.h \
-                       osmocom/core/bit64gen.h \
-                       osmocom/core/bits.h \
-                       osmocom/core/bitvec.h \
-                       osmocom/core/bitcomp.h \
-                       osmocom/core/byteswap.h \
-                       osmocom/core/conv.h \
-                       osmocom/core/counter.h \
-                       osmocom/core/crc16.h \
-                       osmocom/core/crc16gen.h \
-                       osmocom/core/crc32gen.h \
-                       osmocom/core/crc64gen.h \
-                       osmocom/core/crc8gen.h \
-                       osmocom/core/crcgen.h \
-                       osmocom/core/endian.h \
-                       osmocom/core/defs.h \
-                       osmocom/core/exec.h \
-                       osmocom/core/fsm.h \
-                       osmocom/core/gsmtap.h \
-                       osmocom/core/gsmtap_util.h \
-                       osmocom/core/hash.h \
-                       osmocom/core/hashtable.h \
-                       osmocom/core/isdnhdlc.h \
-                       osmocom/core/it_q.h \
-                       osmocom/core/linuxlist.h \
-                       osmocom/core/linuxrbtree.h \
-                       osmocom/core/log2.h \
-                       osmocom/core/logging.h \
-                       osmocom/core/loggingrb.h \
-                       osmocom/core/stats.h \
-                       osmocom/core/macaddr.h \
-                       osmocom/core/msgb.h \
-                       osmocom/core/panic.h \
-                       osmocom/core/prbs.h \
-                       osmocom/core/prim.h \
-                       osmocom/core/process.h \
-                       osmocom/core/rate_ctr.h \
-                       osmocom/core/stat_item.h \
-                       osmocom/core/stats_tcp.h \
-                       osmocom/core/select.h \
-                       osmocom/core/sercomm.h \
-                       osmocom/core/signal.h \
-                       osmocom/core/socket.h \
-                       osmocom/core/statistics.h \
-                       osmocom/core/strrb.h \
-                       osmocom/core/talloc.h \
-                       osmocom/core/tdef.h \
-		       osmocom/core/thread.h \
-                       osmocom/core/timer.h \
-                       osmocom/core/timer_compat.h \
-                       osmocom/core/utils.h \
-                       osmocom/core/write_queue.h \
-                       osmocom/core/sockaddr_str.h \
-                       osmocom/core/time_cc.h \
-                       osmocom/core/use_count.h \
-                       osmocom/crypt/auth.h \
-                       osmocom/crypt/gprs_cipher.h \
-                       osmocom/crypt/kdf.h \
-                       osmocom/crypt/utran_cipher.h \
-		       osmocom/ctrl/control_cmd.h \
-		       osmocom/ctrl/control_if.h \
-		       osmocom/ctrl/ports.h \
-                       osmocom/gprs/frame_relay.h \
-                       osmocom/gprs/bssgp_bvc_fsm.h \
-                       osmocom/gprs/gprs_bssgp.h \
-                       osmocom/gprs/gprs_bssgp2.h \
-                       osmocom/gprs/gprs_bssgp_bss.h \
-                       osmocom/gprs/gprs_bssgp_rim.h \
-                       osmocom/gprs/gprs_msgb.h \
-                       osmocom/gprs/gprs_ns.h \
-                       osmocom/gprs/gprs_ns_frgre.h \
-                       osmocom/gprs/gprs_ns2.h \
-                       osmocom/gprs/gprs_rlc.h \
-                       osmocom/gprs/protocol/gsm_04_60.h \
-                       osmocom/gprs/protocol/gsm_08_16.h \
-                       osmocom/gprs/protocol/gsm_08_18.h \
-                       osmocom/gprs/protocol/gsm_24_301.h \
-                       osmocom/gsm/a5.h \
-                       osmocom/gsm/abis_nm.h \
-                       osmocom/gsm/apn.h \
-                       osmocom/gsm/bts_features.h \
-                       osmocom/gsm/cbsp.h \
-                       osmocom/gsm/comp128.h \
-                       osmocom/gsm/comp128v23.h \
-                       osmocom/gsm/bitvec_gsm.h \
-                       osmocom/gsm/gan.h \
-                       osmocom/gsm/gsm0341.h \
-                       osmocom/gsm/gsm0411_smc.h \
-                       osmocom/gsm/gsm0411_smr.h \
-                       osmocom/gsm/gsm0411_utils.h \
-                       osmocom/gsm/gsm0480.h \
-                       osmocom/gsm/gsm0502.h \
-                       osmocom/gsm/gsm0503.h \
-                       osmocom/coding/gsm0503_tables.h \
-                       osmocom/coding/gsm0503_parity.h \
-                       osmocom/coding/gsm0503_mapping.h \
-                       osmocom/coding/gsm0503_interleaving.h \
-                       osmocom/coding/gsm0503_coding.h \
-                       osmocom/coding/gsm0503_amr_dtx.h \
-                       osmocom/gsm/bsslap.h \
-                       osmocom/gsm/bssmap_le.h \
-                       osmocom/gsm/gad.h \
-                       osmocom/gsm/gsm0808.h \
-                       osmocom/gsm/gsm0808_lcs.h \
-                       osmocom/gsm/gsm29205.h \
-                       osmocom/gsm/gsm0808_utils.h \
-                       osmocom/gsm/gsm23003.h \
-                       osmocom/gsm/gsm23236.h \
-                       osmocom/gsm/gsm29118.h \
-                       osmocom/gsm/gsm48.h \
-                       osmocom/gsm/gsm48_arfcn_range_encode.h \
-                       osmocom/gsm/gsm48_ie.h \
-                       osmocom/gsm/gsm48_rest_octets.h \
-                       osmocom/gsm/gsm_utils.h \
-                       osmocom/gsm/gsup.h \
-                       osmocom/gsm/gsup_sms.h \
-                       osmocom/gsm/i460_mux.h \
-                       osmocom/gsm/ipa.h \
-                       osmocom/gsm/iuup.h \
-                       osmocom/gsm/lapd_core.h \
-                       osmocom/gsm/lapdm.h \
-                       osmocom/gsm/meas_rep.h \
-                       osmocom/gsm/mncc.h \
-                       osmocom/gsm/prim.h \
-                       osmocom/gsm/l1sap.h \
-                       osmocom/gsm/oap.h \
-                       osmocom/gsm/oap_client.h \
-                       osmocom/gsm/protocol/gsm_23_032.h \
-                       osmocom/gsm/protocol/gsm_03_40.h \
-                       osmocom/gsm/protocol/gsm_03_41.h \
-                       osmocom/gsm/protocol/gsm_04_08.h \
-                       osmocom/gsm/protocol/gsm_04_08_gprs.h \
-                       osmocom/gsm/protocol/gsm_04_11.h \
-                       osmocom/gsm/protocol/gsm_04_12.h \
-                       osmocom/gsm/protocol/gsm_04_14.h \
-                       osmocom/gsm/protocol/gsm_04_80.h \
-                       osmocom/gsm/protocol/gsm_08_08.h \
-                       osmocom/gsm/protocol/gsm_08_58.h \
-                       osmocom/gsm/protocol/gsm_09_02.h \
-                       osmocom/gsm/protocol/gsm_12_21.h \
-		       osmocom/gsm/protocol/gsm_23_003.h \
-		       osmocom/gsm/protocol/gsm_23_041.h \
-		       osmocom/gsm/protocol/gsm_25_415.h \
-		       osmocom/gsm/protocol/gsm_29_118.h \
-		       osmocom/gsm/protocol/gsm_44_004.h \
-                       osmocom/gsm/protocol/gsm_44_318.h \
-                       osmocom/gsm/protocol/gsm_48_049.h \
-                       osmocom/gsm/protocol/gsm_48_071.h \
-                       osmocom/gsm/protocol/gsm_49_031.h \
-                       osmocom/gsm/protocol/ipaccess.h \
-                       osmocom/gsm/protocol/smpp34_osmocom.h \
-                       osmocom/gsm/rsl.h \
-                       osmocom/gsm/rxlev_stat.h \
-                       osmocom/gsm/sysinfo.h \
-                       osmocom/gsm/tlv.h \
-		       osmocom/sim/class_tables.h \
-		       osmocom/sim/sim.h
-
-if ENABLE_PLUGIN
-nobase_include_HEADERS += osmocom/core/plugin.h
-endif
-
-if ENABLE_MSGFILE
-nobase_include_HEADERS += osmocom/core/msgfile.h
-endif
-
-if ENABLE_SERIAL
-nobase_include_HEADERS += osmocom/core/serial.h
-endif
-
-
-if ENABLE_VTY
-nobase_include_HEADERS += \
-                          osmocom/vty/buffer.h \
-                          osmocom/vty/command.h \
-                          osmocom/vty/logging.h \
-                          osmocom/vty/stats.h \
-                          osmocom/vty/misc.h \
-                          osmocom/vty/telnet_interface.h \
-                          osmocom/vty/vector.h \
-                          osmocom/vty/vty.h \
-                          osmocom/vty/ports.h \
-                          osmocom/vty/cpu_sched_vty.h \
-                          osmocom/vty/tdef_vty.h \
-                          osmocom/ctrl/control_vty.h
-endif
-
-if ENABLE_LIBUSB
-nobase_include_HEADERS += \
-			  osmocom/usb/libusb.h
-endif
-
-if ENABLE_LIBMNL
-nobase_include_HEADERS += osmocom/core/mnl.h
-endif
-
-noinst_HEADERS = \
-	osmocom/gsm/kasumi.h \
-	osmocom/gsm/gea.h \
-	osmocom/core/logging_internal.h \
-	$(NULL)
-
-osmocom/core/bit%gen.h: osmocom/core/bitXXgen.h.tpl
-	$(AM_V_GEN)$(MKDIR_P) $(dir $@)
-	$(AM_V_GEN)sed -e's/XX/$*/g' $< > $@
-
-osmocom/core/crc%gen.h: osmocom/core/crcXXgen.h.tpl
-	$(AM_V_GEN)$(MKDIR_P) $(dir $@)
-	$(AM_V_GEN)sed -e's/XX/$*/g' $< > $@
-
-osmocom/gsm/gsm0503.h: $(top_srcdir)/utils/conv_gen.py $(top_srcdir)/utils/conv_codes_gsm.py
-	$(AM_V_GEN)python3 $(top_srcdir)/utils/conv_gen.py gen_header gsm \
-		--target-path $(builddir)/osmocom/gsm
-
-CLEANFILES = osmocom/gsm/gsm0503.h
+SUBDIRS = osmocom
diff --git a/include/osmocom/Makefile.am b/include/osmocom/Makefile.am
new file mode 100644
index 0000000..1cc3fb7
--- /dev/null
+++ b/include/osmocom/Makefile.am
@@ -0,0 +1,12 @@
+SUBDIRS = \
+	core \
+	vty \
+	codec \
+	gsm \
+	crypt \
+	coding \
+	gprs \
+	ctrl \
+	sim \
+	usb \
+	$(NULL)
diff --git a/include/osmocom/codec/Makefile.am b/include/osmocom/codec/Makefile.am
new file mode 100644
index 0000000..63ae402
--- /dev/null
+++ b/include/osmocom/codec/Makefile.am
@@ -0,0 +1,7 @@
+osmocodec_HEADERS = \
+	ecu.h \
+	codec.h \
+	gsm610_bits.h \
+	$(NULL)
+
+osmocodecdir = $(includedir)/osmocom/codec
diff --git a/include/osmocom/coding/Makefile.am b/include/osmocom/coding/Makefile.am
new file mode 100644
index 0000000..713b193
--- /dev/null
+++ b/include/osmocom/coding/Makefile.am
@@ -0,0 +1,10 @@
+osmocoding_HEADERS = \
+	gsm0503_tables.h \
+	gsm0503_parity.h \
+	gsm0503_mapping.h \
+	gsm0503_interleaving.h \
+	gsm0503_coding.h \
+	gsm0503_amr_dtx.h \
+	$(NULL)
+
+osmocodingdir = $(includedir)/osmocom/coding
diff --git a/include/osmocom/core/Makefile.am b/include/osmocom/core/Makefile.am
new file mode 100644
index 0000000..1b0a1ce
--- /dev/null
+++ b/include/osmocom/core/Makefile.am
@@ -0,0 +1,91 @@
+osmocore_HEADERS = \
+	application.h \
+	backtrace.h \
+	base64.h \
+	bit16gen.h \
+	bit32gen.h \
+	bit64gen.h \
+	bits.h \
+	bitvec.h \
+	bitcomp.h \
+	byteswap.h \
+	conv.h \
+	counter.h \
+	crc16.h \
+	crc16gen.h \
+	crc32gen.h \
+	crc64gen.h \
+	crc8gen.h \
+	crcgen.h \
+	endian.h \
+	defs.h \
+	exec.h \
+	fsm.h \
+	gsmtap.h \
+	gsmtap_util.h \
+	hash.h \
+	hashtable.h \
+	isdnhdlc.h \
+	it_q.h \
+	linuxlist.h \
+	linuxrbtree.h \
+	log2.h \
+	logging.h \
+	loggingrb.h \
+	stats.h \
+	macaddr.h \
+	msgb.h \
+	panic.h \
+	prbs.h \
+	prim.h \
+	process.h \
+	rate_ctr.h \
+	stat_item.h \
+	stats_tcp.h \
+	select.h \
+	sercomm.h \
+	signal.h \
+	socket.h \
+	statistics.h \
+	strrb.h \
+	talloc.h \
+	tdef.h \
+	thread.h \
+	timer.h \
+	timer_compat.h \
+	utils.h \
+	write_queue.h \
+	sockaddr_str.h \
+	time_cc.h \
+	use_count.h \
+	$(NULL)
+
+if ENABLE_PLUGIN
+osmocore_HEADERS += plugin.h
+endif
+
+if ENABLE_MSGFILE
+osmocore_HEADERS += msgfile.h
+endif
+
+if ENABLE_SERIAL
+osmocore_HEADERS += serial.h
+endif
+
+if ENABLE_LIBMNL
+osmocore_HEADERS += mnl.h
+endif
+
+osmocoredir = $(includedir)/osmocom/core
+
+noinst_HEADERS = \
+	logging_internal.h \
+	$(NULL)
+
+bit%gen.h: bitXXgen.h.tpl
+	$(AM_V_GEN)$(MKDIR_P) $(dir $@)
+	$(AM_V_GEN)sed -e's/XX/$*/g' $< > $@
+
+crc%gen.h: crcXXgen.h.tpl
+	$(AM_V_GEN)$(MKDIR_P) $(dir $@)
+	$(AM_V_GEN)sed -e's/XX/$*/g' $< > $@
diff --git a/include/osmocom/crypt/Makefile.am b/include/osmocom/crypt/Makefile.am
new file mode 100644
index 0000000..fa391bb
--- /dev/null
+++ b/include/osmocom/crypt/Makefile.am
@@ -0,0 +1,8 @@
+osmocrypt_HEADERS = \
+	auth.h \
+	gprs_cipher.h \
+	kdf.h \
+	utran_cipher.h \
+	$(NULL)
+
+osmocryptdir = $(includedir)/osmocom/crypt
diff --git a/include/osmocom/ctrl/Makefile.am b/include/osmocom/ctrl/Makefile.am
new file mode 100644
index 0000000..416e3ab
--- /dev/null
+++ b/include/osmocom/ctrl/Makefile.am
@@ -0,0 +1,13 @@
+osmoctrl_HEADERS = \
+	control_cmd.h \
+	control_if.h \
+	ports.h \
+	$(NULL)
+
+if ENABLE_VTY
+osmoctrl_HEADERS += \
+	control_vty.h \
+	$(NULL)
+endif
+
+osmoctrldir = $(includedir)/osmocom/ctrl
diff --git a/include/osmocom/gprs/Makefile.am b/include/osmocom/gprs/Makefile.am
new file mode 100644
index 0000000..289be57
--- /dev/null
+++ b/include/osmocom/gprs/Makefile.am
@@ -0,0 +1,17 @@
+SUBDIRS = protocol
+
+osmogprs_HEADERS = \
+	frame_relay.h \
+	bssgp_bvc_fsm.h \
+	gprs_bssgp.h \
+	gprs_bssgp2.h \
+	gprs_bssgp_bss.h \
+	gprs_bssgp_rim.h \
+	gprs_msgb.h \
+	gprs_ns.h \
+	gprs_ns_frgre.h \
+	gprs_ns2.h \
+	gprs_rlc.h \
+	$(NULL)
+
+osmogprsdir = $(includedir)/osmocom/gprs
diff --git a/include/osmocom/gprs/protocol/Makefile.am b/include/osmocom/gprs/protocol/Makefile.am
new file mode 100644
index 0000000..e69527d
--- /dev/null
+++ b/include/osmocom/gprs/protocol/Makefile.am
@@ -0,0 +1,8 @@
+osmogprsproto_HEADERS = \
+	gsm_04_60.h \
+	gsm_08_16.h \
+	gsm_08_18.h \
+	gsm_24_301.h \
+	$(NULL)
+
+osmogprsprotodir = $(includedir)/osmocom/gprs/protocol
diff --git a/include/osmocom/gsm/Makefile.am b/include/osmocom/gsm/Makefile.am
new file mode 100644
index 0000000..2c59e55
--- /dev/null
+++ b/include/osmocom/gsm/Makefile.am
@@ -0,0 +1,67 @@
+SUBDIRS = protocol
+
+BUILT_SOURCES = gsm0503.h
+
+osmogsm_HEADERS = \
+	a5.h \
+	abis_nm.h \
+	apn.h \
+	bts_features.h \
+	cbsp.h \
+	comp128.h \
+	comp128v23.h \
+	bitvec_gsm.h \
+	gan.h \
+	gsm0341.h \
+	gsm0411_smc.h \
+	gsm0411_smr.h \
+	gsm0411_utils.h \
+	gsm0480.h \
+	gsm0502.h \
+	gsm0503.h \
+	bsslap.h \
+	bssmap_le.h \
+	gad.h \
+	gsm0808.h \
+	gsm0808_lcs.h \
+	gsm29205.h \
+	gsm0808_utils.h \
+	gsm23003.h \
+	gsm23236.h \
+	gsm29118.h \
+	gsm48.h \
+	gsm48_arfcn_range_encode.h \
+	gsm48_ie.h \
+	gsm48_rest_octets.h \
+	gsm_utils.h \
+	gsup.h \
+	gsup_sms.h \
+	i460_mux.h \
+	ipa.h \
+	iuup.h \
+	lapd_core.h \
+	lapdm.h \
+	meas_rep.h \
+	mncc.h \
+	prim.h \
+	l1sap.h \
+	oap.h \
+	oap_client.h \
+	rsl.h \
+	rxlev_stat.h \
+	sysinfo.h \
+	tlv.h \
+	$(NULL)
+
+osmogsmdir = $(includedir)/osmocom/gsm
+
+noinst_HEADERS = \
+	kasumi.h \
+	gea.h \
+	$(NULL)
+
+gsm0503.h: $(top_srcdir)/utils/conv_gen.py $(top_srcdir)/utils/conv_codes_gsm.py
+	$(AM_V_GEN)python3 $(top_srcdir)/utils/conv_gen.py gen_header gsm \
+		--target-path $(builddir)/
+
+CLEANFILES = gsm0503.h
diff --git a/include/osmocom/gsm/protocol/Makefile.am b/include/osmocom/gsm/protocol/Makefile.am
new file mode 100644
index 0000000..2ce3139
--- /dev/null
+++ b/include/osmocom/gsm/protocol/Makefile.am
@@ -0,0 +1,28 @@
+osmogsmproto_HEADERS = \
+	gsm_23_032.h \
+	gsm_03_40.h \
+	gsm_03_41.h \
+	gsm_04_08.h \
+	gsm_04_08_gprs.h \
+	gsm_04_11.h \
+	gsm_04_12.h \
+	gsm_04_14.h \
+	gsm_04_80.h \
+	gsm_08_08.h \
+	gsm_08_58.h \
+	gsm_09_02.h \
+	gsm_12_21.h \
+	gsm_23_003.h \
+	gsm_23_041.h \
+	gsm_25_415.h \
+	gsm_29_118.h \
+	gsm_44_004.h \
+	gsm_44_318.h \
+	gsm_48_049.h \
+	gsm_48_071.h \
+	gsm_49_031.h \
+	ipaccess.h \
+	smpp34_osmocom.h \
+	$(NULL)
+
+osmogsmprotodir = $(includedir)/osmocom/gsm/protocol
diff --git a/include/osmocom/sim/Makefile.am b/include/osmocom/sim/Makefile.am
new file mode 100644
index 0000000..bcc9459
--- /dev/null
+++ b/include/osmocom/sim/Makefile.am
@@ -0,0 +1,6 @@
+osmosim_HEADERS = \
+	class_tables.h \
+	sim.h
+	$(NULL)
+
+osmosimdir = $(includedir)/osmocom/sim
diff --git a/include/osmocom/usb/Makefile.am b/include/osmocom/usb/Makefile.am
new file mode 100644
index 0000000..3b2b8b4
--- /dev/null
+++ b/include/osmocom/usb/Makefile.am
@@ -0,0 +1,7 @@
+if ENABLE_LIBUSB
+osmousb_HEADERS = \
+	libusb.h \
+	$(NULL)
+endif
+
+osmousbdir = $(includedir)/osmocom/usb
diff --git a/include/osmocom/vty/Makefile.am b/include/osmocom/vty/Makefile.am
new file mode 100644
index 0000000..adb05dc
--- /dev/null
+++ b/include/osmocom/vty/Makefile.am
@@ -0,0 +1,17 @@
+if ENABLE_VTY
+osmovty_HEADERS = \
+	buffer.h \
+	command.h \
+	logging.h \
+	stats.h \
+	misc.h \
+	telnet_interface.h \
+	vector.h \
+	vty.h \
+	ports.h \
+	cpu_sched_vty.h \
+	tdef_vty.h \
+	$(NULL)
+endif
+
+osmovtydir = $(includedir)/osmocom/vty