AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir)
AM_CFLAGS = -Wall $(TALLOC_CFLAGS) $(PTHREAD_CFLAGS)
AM_LDFLAGS = -no-install
LDADD = $(top_builddir)/src/core/libosmocore.la $(TALLOC_LIBS) $(PTHREAD_LIBS)

if ENABLE_SERCOM_STUB
noinst_LIBRARIES = libsercomstub.a
LDADD += $(top_builddir)/tests/libsercomstub.a
endif

check_PROGRAMS = timer/timer_test sms/sms_test ussd/ussd_test		\
                 bits/bitrev_test a5/a5_test		                \
                 conv/conv_test auth/milenage_test auth/tuak_test	\
		 lapd/lapd_test						\
                 gsm0808/gsm0808_test gsm0408/gsm0408_test		\
		 gprs/gprs_test	kasumi/kasumi_test gea/gea_test		\
		 logging/logging_test codec/codec_test			\
		 logging/logging_test_gsmtap				\
		 loggingrb/loggingrb_test strrb/strrb_test              \
		 comp128/comp128_test                         		\
		 bitvec/bitvec_test msgb/msgb_test bits/bitcomp_test	\
		 bits/bitfield_test					\
		 tlv/tlv_test gsup/gsup_test oap/oap_test		\
		 write_queue/wqueue_test socket/socket_test		\
		 coding/coding_test conv/conv_gsm0503_test		\
		 abis/abis_test endian/endian_test sercomm/sercomm_test	\
		 prbs/prbs_test gsm23003/gsm23003_test 			\
		 gsm23236/gsm23236_test                                 \
		 codec/codec_ecu_fr_test timer/clk_override_test	\
		 oap/oap_client_test gsm29205/gsm29205_test		\
		 logging/logging_vty_test				\
		 vty/vty_transcript_test				\
		 tdef/tdef_test tdef/tdef_vty_config_root_test		\
		 tdef/tdef_vty_config_subnode_test			\
		 tdef/tdef_vty_dynamic_test				\
		 sockaddr_str/sockaddr_str_test				\
		 use_count/use_count_test				\
		 context/context_test					\
                 gsm0502/gsm0502_test					\
                 dtx/dtx_gsm0503_test					\
                 i460_mux/i460_mux_test					\
		 bitgen/bitgen_test					\
		 gad/gad_test						\
		 bsslap/bsslap_test					\
		 bssmap_le/bssmap_le_test				\
		 it_q/it_q_test						\
		 time_cc/time_cc_test					\
		 gsm48/rest_octets_test					\
		 base64/base64_test					\
		 iuup/iuup_test						\
		 smscb/smscb_test                                       \
		 smscb/gsm0341_test                                     \
		 smscb/cbsp_test                                        \
		 auth/xor2g_test                                        \
		 v110/frame_test                                        \
		 v110/ra1_test                                          \
		 v110/ta_test                                           \
		 gsm44021/frame_csd_test                                \
		 osmo_io/osmo_io_test					\
		 soft_uart/soft_uart_test				\
		 rlp/rlp_test						\
		 $(NULL)

if ENABLE_MSGFILE
check_PROGRAMS += msgfile/msgfile_test
endif

if ENABLE_PCSC
check_PROGRAMS += sim/sim_test
endif

if ENABLE_UTILITIES
check_PROGRAMS += utils/utils_test
endif

if ENABLE_VTY
check_PROGRAMS += vty/vty_test
endif

if ENABLE_CTRL
check_PROGRAMS += \
	ctrl/ctrl_test \
	fsm/fsm_test \
	fsm/fsm_dealloc_test \
	$(NULL)
endif

if !EMBEDDED
check_PROGRAMS += \
	stats/stats_test \
	stats/stats_vty_test \
	exec/exec_test
endif

if ENABLE_GB
check_PROGRAMS += gb/bssgp_fc_test gb/gprs_bssgp_test gb/gprs_bssgp_rim_test gb/gprs_ns_test gb/gprs_ns2_test fr/fr_test
endif

base64_base64_test_SOURCES = base64/base64_test.c

utils_utils_test_SOURCES = utils/utils_test.c
utils_utils_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

stats_stats_test_SOURCES = stats/stats_test.c
stats_stats_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)
stats_stats_test_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/src/core

stats_stats_vty_test_SOURCES = stats/stats_vty_test.c
stats_stats_vty_test_LDADD = $(top_builddir)/src/vty/libosmovty.la $(LDADD)

a5_a5_test_SOURCES = a5/a5_test.c
a5_a5_test_LDADD = $(top_builddir)/src/gsm/libgsmint.la $(LDADD)

kasumi_kasumi_test_SOURCES = kasumi/kasumi_test.c
kasumi_kasumi_test_LDADD = $(top_builddir)/src/gsm/libgsmint.la $(LDADD)

comp128_comp128_test_SOURCES = comp128/comp128_test.c
comp128_comp128_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

auth_milenage_test_SOURCES = auth/milenage_test.c
auth_milenage_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

auth_tuak_test_SOURCES = auth/tuak_test.c
auth_tuak_test_LDADD = $(top_builddir)/src/gsm/libgsmint.la $(LDADD)
auth_tuak_test_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/src

auth_xor2g_test_SOURCES = auth/xor2g_test.c
auth_xor2g_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

abis_abis_test_SOURCES = abis/abis_test.c
abis_abis_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

ctrl_ctrl_test_SOURCES = ctrl/ctrl_test.c
ctrl_ctrl_test_LDADD = \
	$(top_builddir)/src/ctrl/libosmoctrl.la \
	$(top_builddir)/src/gsm/libosmogsm.la \
	$(top_builddir)/src/vty/libosmovty.la \
	$(LDADD)

gea_gea_test_SOURCES = gea/gea_test.c
gea_gea_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

bits_bitrev_test_SOURCES = bits/bitrev_test.c

bitvec_bitvec_test_SOURCES = bitvec/bitvec_test.c

bits_bitcomp_test_SOURCES = bits/bitcomp_test.c

bits_bitfield_test_SOURCES = bits/bitfield_test.c

conv_conv_test_SOURCES = conv/conv_test.c conv/conv.c
conv_conv_test_LDADD = $(top_builddir)/src/gsm/libgsmint.la $(LDADD)

gsm0502_gsm0502_test_SOURCES = gsm0502/gsm0502_test.c
gsm0502_gsm0502_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

dtx_dtx_gsm0503_test_SOURCES = dtx/dtx_gsm0503_test.c
dtx_dtx_gsm0503_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la \
			     $(top_builddir)/src/coding/libosmocoding.la \
			     $(LDADD)

conv_conv_gsm0503_test_SOURCES = conv/conv_gsm0503_test.c conv/conv.c conv/gsm0503_test_vectors.c
conv_conv_gsm0503_test_LDADD = $(top_builddir)/src/gsm/libgsmint.la $(LDADD)
conv_conv_gsm0503_test_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_srcdir)/tests/conv

gsm0808_gsm0808_test_SOURCES = gsm0808/gsm0808_test.c
gsm0808_gsm0808_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

gsm29205_gsm29205_test_SOURCES = gsm29205/gsm29205_test.c
gsm29205_gsm29205_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

gsm0408_gsm0408_test_SOURCES = gsm0408/gsm0408_test.c
gsm0408_gsm0408_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

gsm48_rest_octets_test_SOURCES = gsm48/rest_octets_test.c
gsm48_rest_octets_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

gprs_gprs_test_SOURCES = gprs/gprs_test.c
gprs_gprs_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

lapd_lapd_test_SOURCES = lapd/lapd_test.c
lapd_lapd_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la \
		       $(top_builddir)/src/isdn/libosmoisdn.la \
		       $(LDADD)

msgb_msgb_test_SOURCES = msgb/msgb_test.c

msgfile_msgfile_test_SOURCES = msgfile/msgfile_test.c

smscb_smscb_test_SOURCES = smscb/smscb_test.c
smscb_smscb_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

smscb_gsm0341_test_SOURCES = smscb/gsm0341_test.c
smscb_gsm0341_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

smscb_cbsp_test_SOURCES = smscb/cbsp_test.c
smscb_cbsp_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

sms_sms_test_SOURCES = sms/sms_test.c
sms_sms_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

timer_timer_test_SOURCES = timer/timer_test.c

timer_clk_override_test_SOURCES = timer/clk_override_test.c

ussd_ussd_test_SOURCES = ussd/ussd_test.c
ussd_ussd_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

gb_bssgp_fc_test_SOURCES = gb/bssgp_fc_test.c
gb_bssgp_fc_test_LDADD = $(top_builddir)/src/gb/libosmogb.la \
			 $(top_builddir)/src/vty/libosmovty.la \
			 $(top_builddir)/src/gsm/libosmogsm.la \
			 $(LDADD)

gb_gprs_bssgp_test_SOURCES = gb/gprs_bssgp_test.c
gb_gprs_bssgp_test_LDADD = $(top_builddir)/src/vty/libosmovty.la \
			   $(top_builddir)/src/gsm/libosmogsm.la \
			   $(top_builddir)/src/gb/libosmogb.la \
			   $(LDADD) \
			   $(LIBRARY_DLSYM)

gb_gprs_bssgp_rim_test_SOURCES = gb/gprs_bssgp_rim_test.c
gb_gprs_bssgp_rim_test_LDADD = $(top_builddir)/src/gb/libosmogb.la \
			       $(LDADD) \
			       $(LIBRARY_DLSYM)

gb_gprs_ns_test_SOURCES = gb/gprs_ns_test.c
gb_gprs_ns_test_LDADD = $(top_builddir)/src/gb/libosmogb.la \
			$(top_builddir)/src/vty/libosmovty.la \
			$(top_builddir)/src/gsm/libosmogsm.la \
			$(LDADD) \
			$(LIBRARY_DLSYM)

gb_gprs_ns2_test_SOURCES = gb/gprs_ns2_test.c
gb_gprs_ns2_test_LDADD = $(top_builddir)/src/vty/libosmovty.la \
			$(top_builddir)/src/gsm/libosmogsm.la \
			$(top_builddir)/src/core/libosmocore.la \
			$(top_builddir)/src/gb/libosmogb-test.la \
			$(LDADD) \
			$(LIBRARY_DLSYM)

logging_logging_test_SOURCES = logging/logging_test.c

logging_logging_vty_test_SOURCES = logging/logging_vty_test.c
logging_logging_vty_test_LDADD = $(top_builddir)/src/vty/libosmovty.la $(LDADD)

logging_logging_test_gsmtap_SOURCES = logging/logging_test_gsmtap.c

vty_vty_transcript_test_SOURCES = vty/vty_transcript_test.c
vty_vty_transcript_test_LDADD = $(top_builddir)/src/vty/libosmovty.la $(LDADD)

fr_fr_test_SOURCES = fr/fr_test.c
fr_fr_test_LDADD = $(top_builddir)/src/gb/libosmogb.la \
		   $(top_builddir)/src/vty/libosmovty.la \
		   $(top_builddir)/src/gsm/libosmogsm.la \
		   $(LDADD) \
		   $(LIBRARY_DLSYM)

codec_codec_test_SOURCES = codec/codec_test.c
codec_codec_test_LDADD = $(top_builddir)/src/codec/libosmocodec.la $(LDADD)

codec_codec_ecu_fr_test_SOURCES = codec/codec_ecu_fr_test.c
codec_codec_ecu_fr_test_LDADD = $(top_builddir)/src/codec/libosmocodec.la $(LDADD)

loggingrb_loggingrb_test_SOURCES = loggingrb/loggingrb_test.c
loggingrb_loggingrb_test_LDADD = $(LDADD)

strrb_strrb_test_SOURCES = strrb/strrb_test.c

vty_vty_test_SOURCES = vty/vty_test.c
vty_vty_test_LDADD = $(top_builddir)/src/vty/libosmovty.la $(LDADD)

sim_sim_test_SOURCES = sim/sim_test.c
sim_sim_test_LDADD = $(top_builddir)/src/sim/libosmosim.la \
		     $(top_builddir)/src/gsm/libosmogsm.la \
		     $(LDADD)

tlv_tlv_test_SOURCES = tlv/tlv_test.c
tlv_tlv_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

gsup_gsup_test_SOURCES = gsup/gsup_test.c
gsup_gsup_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

oap_oap_test_SOURCES = oap/oap_test.c
oap_oap_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

oap_oap_client_test_SOURCES = oap/oap_client_test.c
oap_oap_client_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

fsm_fsm_test_SOURCES = fsm/fsm_test.c
fsm_fsm_test_LDADD = \
	$(top_builddir)/src/ctrl/libosmoctrl.la \
	$(top_builddir)/src/gsm/libosmogsm.la \
	$(top_builddir)/src/vty/libosmovty.la \
	$(LDADD)

fsm_fsm_dealloc_test_SOURCES = fsm/fsm_dealloc_test.c
fsm_fsm_dealloc_test_LDADD = $(LDADD)

write_queue_wqueue_test_SOURCES = write_queue/wqueue_test.c

socket_socket_test_SOURCES = socket/socket_test.c

coding_coding_test_SOURCES = coding/coding_test.c
coding_coding_test_LDADD = \
  $(top_builddir)/src/gsm/libosmogsm.la \
  $(top_builddir)/src/codec/libosmocodec.la \
  $(top_builddir)/src/coding/libosmocoding.la \
  $(LDADD)

endian_endian_test_SOURCES = endian/endian_test.c

sercomm_sercomm_test_SOURCES = sercomm/sercomm_test.c

prbs_prbs_test_SOURCES = prbs/prbs_test.c

gsm23003_gsm23003_test_SOURCES = gsm23003/gsm23003_test.c
gsm23003_gsm23003_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

gsm23236_gsm23236_test_SOURCES = gsm23236/gsm23236_test.c
gsm23236_gsm23236_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

tdef_tdef_test_SOURCES = tdef/tdef_test.c
tdef_tdef_test_LDADD = $(LDADD)

tdef_tdef_vty_config_root_test_SOURCES = tdef/tdef_vty_config_root_test.c
tdef_tdef_vty_config_root_test_LDADD = $(top_builddir)/src/vty/libosmovty.la $(LDADD)

tdef_tdef_vty_config_subnode_test_SOURCES = tdef/tdef_vty_config_subnode_test.c
tdef_tdef_vty_config_subnode_test_LDADD = $(top_builddir)/src/vty/libosmovty.la $(LDADD)

tdef_tdef_vty_dynamic_test_SOURCES = tdef/tdef_vty_dynamic_test.c
tdef_tdef_vty_dynamic_test_LDADD = $(top_builddir)/src/vty/libosmovty.la $(LDADD)

sockaddr_str_sockaddr_str_test_SOURCES = sockaddr_str/sockaddr_str_test.c
sockaddr_str_sockaddr_str_test_LDADD = $(LDADD)

use_count_use_count_test_SOURCES = use_count/use_count_test.c
use_count_use_count_test_LDADD = $(LDADD)

context_context_test_SOURCES = context/context_test.c
context_context_test_LDADD = $(LDADD)

exec_exec_test_SOURCES = exec/exec_test.c
exec_exec_test_LDADD = $(LDADD)

i460_mux_i460_mux_test_SOURCES = i460_mux/i460_mux_test.c
i460_mux_i460_mux_test_LDADD = $(top_builddir)/src/isdn/libosmoisdn.la $(LDADD)

bitgen_bitgen_test_SOURCES = bitgen/bitgen_test.c
bitgen_bitgen_test_LDADD = $(LDADD)

gad_gad_test_SOURCES = gad/gad_test.c
gad_gad_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

bsslap_bsslap_test_SOURCES = bsslap/bsslap_test.c
bsslap_bsslap_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

bssmap_le_bssmap_le_test_SOURCES = bssmap_le/bssmap_le_test.c
bssmap_le_bssmap_le_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

it_q_it_q_test_SOURCES = it_q/it_q_test.c
it_q_it_q_test_LDADD = $(LDADD)

time_cc_time_cc_test_SOURCES = time_cc/time_cc_test.c
time_cc_time_cc_test_LDADD = $(LDADD)

iuup_iuup_test_SOURCES = iuup/iuup_test.c
iuup_iuup_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)

v110_frame_test_SOURCES = v110/frame_test.c
v110_frame_test_LDADD = $(top_builddir)/src/isdn/libosmoisdn.la $(LDADD)

v110_ra1_test_SOURCES = v110/ra1_test.c
v110_ra1_test_LDADD = $(top_builddir)/src/isdn/libosmoisdn.la $(LDADD)

v110_ta_test_SOURCES = v110/ta_test.c
v110_ta_test_LDADD = $(top_builddir)/src/isdn/libosmoisdn.la $(LDADD)

gsm44021_frame_csd_test_SOURCES = gsm44021/frame_csd_test.c
gsm44021_frame_csd_test_LDADD = $(top_builddir)/src/isdn/libosmoisdn.la \
				$(top_builddir)/src/gsm/libosmogsm.la \
				$(LDADD)

osmo_io_osmo_io_test_SOURCES = osmo_io/osmo_io_test.c

soft_uart_soft_uart_test_SOURCES = soft_uart/soft_uart_test.c

rlp_rlp_test_SOURCES = rlp/rlp_test.c
rlp_rlp_test_LDADD = $(top_builddir)/src/gsm/libosmogsm.la $(LDADD)


# The `:;' works around a Bash 3.2 bug when the output is not writeable.
$(srcdir)/package.m4: $(top_srcdir)/configure.ac
	:;{ \
               echo '# Signature of the current package.' && \
               echo 'm4_define([AT_PACKAGE_NAME],' && \
               echo '  [$(PACKAGE_NAME)])' && \
               echo 'm4_define([AT_PACKAGE_TARNAME],' && \
               echo '  [$(PACKAGE_TARNAME)])' && \
               echo 'm4_define([AT_PACKAGE_VERSION],' && \
               echo '  [$(PACKAGE_VERSION)])' && \
               echo 'm4_define([AT_PACKAGE_STRING],' && \
               echo '  [$(PACKAGE_STRING)])' && \
               echo 'm4_define([AT_PACKAGE_BUGREPORT],' && \
               echo '  [$(PACKAGE_BUGREPORT)])'; \
               echo 'm4_define([AT_PACKAGE_URL],' && \
               echo '  [$(PACKAGE_URL)])'; \
             } >'$(srcdir)/package.m4'

EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE)		\
             timer/timer_test.ok sms/sms_test.ok ussd/ussd_test.ok	\
             bits/bitrev_test.ok a5/a5_test.ok				\
             conv/conv_test.ok auth/milenage_test.ok ctrl/ctrl_test.ok	\
	     auth/tuak_test.ok					\
             auth/xor2g_test.ok						\
             lapd/lapd_test.ok						\
             gsm0408/gsm0408_test.ok gsm0408/gsm0408_test.err		\
             gsm0808/gsm0808_test.ok gb/bssgp_fc_tests.err		\
             gb/bssgp_fc_tests.ok gb/bssgp_fc_tests.sh			\
             gb/gprs_bssgp_test.ok gea/gea_test.ok			\
	     gb/gprs_bssgp_rim_test.ok					\
             gb/gprs_ns2_vty.vty gb/osmoappdesc.py gb/osmo-ns-dummy.cfg \
             gb/gprs_ns_test.ok						\
             gb/gprs_ns_test.err					\
             gb/gprs_ns2_test.ok					\
             gb/gprs_ns2_test.err					\
             gprs/gprs_test.ok kasumi/kasumi_test.ok			\
             msgfile/msgfile_test.ok msgfile/msgconfig.cfg		\
             logging/logging_test.ok logging/logging_test.err		\
             logging/logging_vty_test.vty				\
	     logging/logging_test_gsmtap.err				\
             fr/fr_test.ok loggingrb/logging_test.ok			\
             loggingrb/logging_test.err	strrb/strrb_test.ok		\
             codec/codec_test.ok \
             codec/codec_ecu_fr_test.ok \
	     vty/vty_test.ok vty/vty_test.err \
	     vty/fail_not_de-indented.cfg \
	     vty/fail_tabs_and_spaces.cfg \
	     vty/fail_too_much_indent.cfg \
	     vty/fail_cmd_ret_warning.cfg \
	     vty/ok.cfg \
	     vty/ok_empty_parent.cfg \
	     vty/ok_ignore_blank.cfg \
	     vty/ok_ignore_comment.cfg \
	     vty/ok_indented_root.cfg \
	     vty/ok_more_spaces.cfg \
	     vty/ok_tabs_and_spaces.cfg \
	     vty/ok_tabs.cfg \
	     vty/ok_deprecated_logging.cfg \
	     comp128/comp128_test.ok bits/bitfield_test.ok		\
	     utils/utils_test.ok utils/utils_test.err 			\
	     stats/stats_test.ok stats/stats_test.err			\
	     stats/stats_vty_test.vty					\
	     bitvec/bitvec_test.ok msgb/msgb_test.ok bits/bitcomp_test.ok \
	     sim/sim_test.ok tlv/tlv_test.ok abis/abis_test.ok		\
	     gsup/gsup_test.ok gsup/gsup_test.err			\
	     oap/oap_test.ok fsm/fsm_test.ok fsm/fsm_test.err		\
	     fsm/fsm_dealloc_test.err					\
	     write_queue/wqueue_test.ok socket/socket_test.ok		\
	     socket/socket_test.err coding/coding_test.ok		\
	     osmo-auc-gen/osmo-auc-gen_test.sh				\
	     osmo-auc-gen/osmo-auc-gen_test.ok				\
	     osmo-auc-gen/osmo-auc-gen_test.err				\
	     conv/conv_gsm0503_test.ok endian/endian_test.ok 		\
	     sercomm/sercomm_test.ok prbs/prbs_test.ok			\
	     gsm29205/gsm29205_test.ok gsm23003/gsm23003_test.ok        \
	     gsm23236/gsm23236_test.ok                                  \
	     timer/clk_override_test.ok					\
	     oap/oap_client_test.ok oap/oap_client_test.err		\
	     vty/vty_transcript_test.vty				\
	     tdef/tdef_test.ok \
	     tdef/tdef_test.err \
	     tdef/tdef_test_range_64bit.ok \
	     tdef/tdef_vty_config_root_test.vty	\
	     tdef/tdef_vty_config_subnode_test.vty \
	     tdef/tdef_vty_dynamic_test.vty \
	     sockaddr_str/sockaddr_str_test.ok \
	     use_count/use_count_test.ok use_count/use_count_test.err \
	     context/context_test.ok \
	     gsm0502/gsm0502_test.ok \
	     dtx/dtx_gsm0503_test.ok \
	     exec/exec_test.ok exec/exec_test.err \
	     i460_mux/i460_mux_test.ok \
	     bitgen/bitgen_test.ok \
	     gad/gad_test.ok \
	     bsslap/bsslap_test.ok \
	     bssmap_le/bssmap_le_test.ok \
	     it_q/it_q_test.ok \
	     time_cc/time_cc_test.ok \
	     gsm48/rest_octets_test.ok \
	     base64/base64_test.ok \
	     iuup/iuup_test.ok \
	     iuup/iuup_test.err \
	     smscb/smscb_test.ok \
	     smscb/gsm0341_test.ok \
	     smscb/cbsp_test.ok \
	     v110/frame_test.ok \
	     v110/ra1_test.ok \
	     v110/ta_test.err \
	     gsm44021/frame_csd_test.ok \
	     osmo_io/osmo_io_test.ok osmo_io/osmo_io_test.err \
	     soft_uart/soft_uart_test.ok \
	     rlp/rlp_test.ok \
	     $(NULL)

if ENABLE_LIBSCTP
if ENABLE_SCTP_TESTS
EXTRA_DIST += socket/socket_sctp_test.ok socket/socket_sctp_test.err
check_PROGRAMS += socket/socket_sctp_test
socket_socket_sctp_test_SOURCES = socket/socket_sctp_test.c
endif
endif

DISTCLEANFILES = atconfig atlocal conv/gsm0503_test_vectors.c
BUILT_SOURCES = conv/gsm0503_test_vectors.c
noinst_HEADERS = conv/conv.h

TESTSUITE = $(srcdir)/testsuite

update_exp: $(check_PROGRAMS)
	a5/a5_test \
		>$(srcdir)/a5/a5_test.ok
	abis/abis_test \
		>$(srcdir)/abis/abis_test.ok
if ENABLE_CTRL
	ctrl/ctrl_test \
		>$(srcdir)/ctrl/ctrl_test.ok
endif
	kasumi/kasumi_test \
		>$(srcdir)/kasumi/kasumi_test.ok
	bits/bitrev_test \
		>$(srcdir)/bits/bitrev_test.ok
	bitvec/bitvec_test \
		>$(srcdir)/bitvec/bitvec_test.ok
	bits/bitcomp_test \
		>$(srcdir)/bits/bitcomp_test.ok
	bits/bitfield_test \
		>$(srcdir)/bits/bitfield_test.ok
	conv/conv_test \
		>$(srcdir)/conv/conv_test.ok
	conv/conv_gsm0503_test \
		>$(srcdir)/conv/conv_gsm0503_test.ok
	coding/coding_test \
		>$(srcdir)/coding/coding_test.ok
	msgb/msgb_test \
		>$(srcdir)/msgb/msgb_test.ok
	gea/gea_test \
		>$(srcdir)/gea/gea_test.ok
if ENABLE_MSGFILE
	cp $(srcdir)/msgfile/msgconfig.cfg .
	msgfile/msgfile_test \
		>$(srcdir)/msgfile/msgfile_test.ok
endif
	sms/sms_test \
		>$(srcdir)/sms/sms_test.ok
	smscb/smscb_test \
		>$(srcdir)/smscb/smscb_test.ok
	smscb/gsm0341_test \
		>$(srcdir)/smscb/gsm0341_test.ok
	smscb/cbsp_test \
		>$(srcdir)/smscb/cbsp_test.ok
	ussd/ussd_test \
		>$(srcdir)/ussd/ussd_test.ok
	auth/milenage_test \
		>$(srcdir)/auth/milenage_test.ok
	auth/tuak_test \
		>$(srcdir)/auth/tuak_test.ok
	comp128/comp128_test \
		>$(srcdir)/comp128/comp128_test.ok
	lapd/lapd_test \
		>$(srcdir)/lapd/lapd_test.ok
	gsm0502/gsm0502_test \
		>$(srcdir)/gsm0502/gsm0502_test.ok
	dtx/dtx_gsm0503_test \
		>$(srcdir)/dtx/dtx_gsm0503_test.ok
	gsm0808/gsm0808_test \
		>$(srcdir)/gsm0808/gsm0808_test.ok
	gsm29205/gsm29205_test \
		>$(srcdir)/gsm29205/gsm29205_test.ok
	gsm0408/gsm0408_test \
		2>$(srcdir)/gsm0408/gsm0408_test.err \
		1>$(srcdir)/gsm0408/gsm0408_test.ok
	gsm48/rest_octets_test \
		>$(srcdir)/gsm48/rest_octets_test.ok
	gprs/gprs_test \
		>$(srcdir)/gprs/gprs_test.ok
	logging/logging_test \
		>$(srcdir)/logging/logging_test.ok \
		2>$(srcdir)/logging/logging_test.err
	logging/logging_test_gsmtap \
		2>&1 |grep -v "enqueueing message failed" >$(srcdir)/logging/logging_test_gsmtap.err
	codec/codec_test \
		>$(srcdir)/codec/codec_test.ok
	codec/codec_ecu_fr_test \
		>$(srcdir)/codec/codec_ecu_fr_test.ok
if ENABLE_GB
	fr/fr_test \
		>$(srcdir)/fr/fr_test.ok
endif
	loggingrb/loggingrb_test \
		>$(srcdir)/loggingrb/logging_test.ok \
		2>$(srcdir)/loggingrb/logging_test.err
	strrb/strrb_test \
		>$(srcdir)/strrb/strrb_test.ok
if ENABLE_VTY
	cp $(srcdir)/vty/*.cfg .
	vty/vty_test \
		>$(srcdir)/vty/vty_test.ok \
		2>$(srcdir)/vty/vty_test.err
endif
if ENABLE_GB
	gb/gprs_bssgp_test \
		>$(srcdir)/gb/gprs_bssgp_test.ok
	gb/gprs_bssgp_rim_test \
		>$(srcdir)/gb/gprs_bssgp_rim_test.ok
	gb/gprs_ns_test \
		>$(srcdir)/gb/gprs_ns_test.ok \
		2>$(srcdir)/gb/gprs_ns_test.err
	gb/gprs_ns2_test \
		>$(srcdir)/gb/gprs_ns2_test.ok \
		2>$(srcdir)/gb/gprs_ns2_test.err
endif
if ENABLE_UTILITIES
	utils/utils_test \
		>$(srcdir)/utils/utils_test.ok
endif
if !EMBEDDED
	stats/stats_test \
		>$(srcdir)/stats/stats_test.ok \
		2>$(srcdir)/stats/stats_test.err
endif
	write_queue/wqueue_test \
		>$(srcdir)/write_queue/wqueue_test.ok
if ENABLE_GB
	$(srcdir)/gb/bssgp_fc_tests.sh gb \
		>$(srcdir)/gb/bssgp_fc_tests.ok \
		2>$(srcdir)/gb/bssgp_fc_tests.err
endif
if ENABLE_PCSC
	sim/sim_test \
		>$(srcdir)/sim/sim_test.ok
endif
	timer/timer_test \
		>$(srcdir)/timer/timer_test.ok
	timer/clk_override_test \
		>$(srcdir)/timer/clk_override_test.ok
	tlv/tlv_test \
		>$(srcdir)/tlv/tlv_test.ok
	gsup/gsup_test \
		>$(srcdir)/gsup/gsup_test.ok \
		2>$(srcdir)/gsup/gsup_test.err
if ENABLE_CTRL
	fsm/fsm_test \
		>$(srcdir)/fsm/fsm_test.ok \
		2>$(srcdir)/fsm/fsm_test.err
	fsm/fsm_dealloc_test \
		2>$(srcdir)/fsm/fsm_dealloc_test.err
endif
	oap/oap_test \
		>$(srcdir)/oap/oap_test.ok
	oap/oap_client_test \
		>$(srcdir)/oap/oap_client_test.ok \
		2>$(srcdir)/oap/oap_client_test.err
	socket/socket_test \
		>$(srcdir)/socket/socket_test.ok \
		2>$(srcdir)/socket/socket_test.err
	socket/socket_sctp_test \
		>$(srcdir)/socket/socket_sctp_test.ok \
		2>$(srcdir)/socket/socket_sctp_test.err
	$(srcdir)/osmo-auc-gen/osmo-auc-gen_test.sh ../utils/osmo-auc-gen \
		>$(srcdir)/osmo-auc-gen/osmo-auc-gen_test.ok \
		2>$(srcdir)/osmo-auc-gen/osmo-auc-gen_test.err
	endian/endian_test \
		>$(srcdir)/endian/endian_test.ok
	sercomm/sercomm_test \
		>$(srcdir)/sercomm/sercomm_test.ok
	prbs/prbs_test \
		>$(srcdir)/prbs/prbs_test.ok
	gsm23003/gsm23003_test \
		>$(srcdir)/gsm23003/gsm23003_test.ok
	gsm23236/gsm23236_test \
		>$(srcdir)/gsm23236/gsm23236_test.ok
	tdef/tdef_test \
		>$(srcdir)/tdef/tdef_test.ok \
		2>$(srcdir)/tdef/tdef_test.err
	sockaddr_str/sockaddr_str_test \
		>$(srcdir)/sockaddr_str/sockaddr_str_test.ok
	use_count/use_count_test \
		>$(srcdir)/use_count/use_count_test.ok \
		2>$(srcdir)/use_count/use_count_test.err
	context/context_test \
		>$(srcdir)/context/context_test.ok
if !EMBEDDED
	exec/exec_test \
		>$(srcdir)/exec/exec_test.ok \
		2>$(srcdir)/exec/exec_test.err
endif
	i460_mux/i460_mux_test \
		>$(srcdir)/i460_mux/i460_mux_test.ok
	bitgen/bitgen_test \
		>$(srcdir)/bitgen/bitgen_test.ok
	gad/gad_test \
		>$(srcdir)/gad/gad_test.ok
	bsslap/bsslap_test \
		>$(srcdir)/bsslap/bsslap_test.ok
	bssmap_le/bssmap_le_test \
		>$(srcdir)/bssmap_le/bssmap_le_test.ok
	it_q/it_q_test \
		>$(srcdir)/it_q/it_q_test.ok
	time_cc/time_cc_test \
		>$(srcdir)/time_cc/time_cc_test.ok
	iuup/iuup_test \
		>$(srcdir)/iuup/iuup_test.ok \
		2>$(srcdir)/iuup/iuup_test.err
	v110/frame_test \
		>$(srcdir)/v110/frame_test.ok
	v110/ra1_test \
		>$(srcdir)/v110/ra1_test.ok
	v110/ta_test \
		2>$(srcdir)/v110/ta_test.err
	gsm44021/frame_csd_test \
		>$(srcdir)/gsm44021/frame_csd_test.ok
	osmo_io/osmo_io_test \
		>$(srcdir)/osmo_io/osmo_io_test.ok \
		2>$(srcdir)/osmo_io/osmo_io_test.err
	soft_uart/soft_uart_test \
		>$(srcdir)/soft_uart/soft_uart.ok
	rlp/rlp_test \
		>$(srcdir)/rlp/rlp_test.ok \
	$(NULL)


check-local: atconfig $(TESTSUITE)
	[ -e /proc/cpuinfo ] && cat /proc/cpuinfo
	$(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS)
	$(MAKE) $(AM_MAKEFLAGS) ext-tests

installcheck-local: atconfig $(TESTSUITE)
	$(SHELL) '$(TESTSUITE)' AUTOTEST_PATH='$(bindir)' \
		$(TESTSUITEFLAGS)

clean-local:
	test ! -f '$(TESTSUITE)' || \
		$(SHELL) '$(TESTSUITE)' --clean

AUTOM4TE = $(SHELL) $(top_srcdir)/missing --run autom4te
AUTOTEST = $(AUTOM4TE) --language=autotest
$(TESTSUITE): $(srcdir)/testsuite.at $(srcdir)/package.m4
	$(AUTOTEST) -I '$(srcdir)' -o $@.tmp $@.at
	mv $@.tmp $@

conv/gsm0503_test_vectors.c: $(top_srcdir)/utils/conv_gen.py $(top_srcdir)/utils/conv_codes_gsm.py
	$(AM_V_GEN)python3 $(top_srcdir)/utils/conv_gen.py gen_vectors gsm \
		--target-path $(builddir)/conv

if ENABLE_EXT_TESTS
ext-tests:
# don't run vty and ctrl tests concurrently so that the ports don't conflict
	$(MAKE) vty-test
	$(MAKE) ctrl-test
else
ext-tests:
	echo "Not running python-based external tests (determined at configure-time)"
endif

# To update the VTY script from current application behavior,
# pass -u to osmo_verify_transcript_vty.py by doing:
#   make vty-test U=-u

if ENABLE_GB
vty-test-ns2: $(top_builddir)/utils/osmo-ns-dummy
	$(MAKE) -C $(top_builddir)/utils osmo-ns-dummy
	osmo_verify_transcript_vty.py -v \
		-p 42042 \
		-r "$(top_builddir)/utils/osmo-ns-dummy -p 42042" \
		$(U) $(srcdir)/gb/gprs_ns2*.vty
	osmotestvty.py -p $(abs_top_srcdir)/tests/gb -w $(abs_top_builddir)/tests/gb -v
	osmotestconfig.py -p $(abs_top_srcdir)/tests/gb -w $(abs_top_builddir)/tests/gb -v
else
vty-test-ns2:
	echo "Not running vty-test-ns2 because osmo-ns-dummy is not built (--disable-gb)"
endif

vty-test-logging: $(top_builddir)/tests/logging/logging_vty_test
	osmo_verify_transcript_vty.py -v \
		-p 42042 \
		-r "$(top_builddir)/tests/logging/logging_vty_test" \
		$(U) $(srcdir)/logging/*.vty

vty-test-vty: $(top_builddir)/tests/vty/vty_transcript_test
	osmo_verify_transcript_vty.py -v \
		-p 42042 \
		-r "$(top_builddir)/tests/vty/vty_transcript_test" \
		$(U) $(srcdir)/vty/*.vty

vty-test-tdef: $(top_builddir)/tests/tdef/tdef_vty_config_root_test \
	       $(top_builddir)/tests/tdef/tdef_vty_config_subnode_test \
	       $(top_builddir)/tests/tdef/tdef_vty_dynamic_test
	osmo_verify_transcript_vty.py -v \
		-p 42042 \
		-r "$(top_builddir)/tests/tdef/tdef_vty_config_root_test" \
		$(U) $(srcdir)/tdef/tdef_vty_config_root_test.vty
	osmo_verify_transcript_vty.py -v \
		-p 42042 \
		-r "$(top_builddir)/tests/tdef/tdef_vty_config_subnode_test" \
		$(U) $(srcdir)/tdef/tdef_vty_config_subnode_test.vty
	osmo_verify_transcript_vty.py -v \
		-p 42042 \
		-r "$(top_builddir)/tests/tdef/tdef_vty_dynamic_test" \
		$(U) $(srcdir)/tdef/tdef_vty_dynamic_test.vty

vty-test-stats: $(top_builddir)/tests/stats/stats_vty_test
	osmo_verify_transcript_vty.py -v \
		-p 42042 \
		-r "$(top_builddir)/tests/stats/stats_vty_test" \
		$(U) $(srcdir)/stats/*.vty

# don't run vty tests concurrently so that the ports don't conflict
vty-test:
	$(MAKE) vty-test-logging
	$(MAKE) vty-test-vty
	$(MAKE) vty-test-tdef
	$(MAKE) vty-test-ns2
	$(MAKE) vty-test-stats

ctrl-test:
	echo "No CTRL tests exist currently"
