You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
210 lines
8.9 KiB
210 lines
8.9 KiB
# Tests Makefile.am for utun - all tests with new ll_queue library |
|
|
|
# Object directories |
|
OBJDIR = $(top_builddir)/.objs/tests |
|
SRC_OBJDIR = $(top_builddir)/.objs/src |
|
TINYCRYPT_OBJDIR = $(top_builddir)/.objs/tinycrypt |
|
|
|
# All available tests |
|
check_PROGRAMS = \ |
|
test_etcp_crypto \ |
|
test_crypto \ |
|
test_etcp_two_instances \ |
|
test_etcp_simple_traffic \ |
|
test_etcp_minimal \ |
|
test_etcp_100_packets \ |
|
test_pkt_normalizer_etcp \ |
|
test_pkt_normalizer_standalone \ |
|
test_ll_queue \ |
|
test_ecc_encrypt \ |
|
test_intensive_memory_pool \ |
|
test_memory_pool_and_config \ |
|
test_packet_dump \ |
|
test_u_async_comprehensive \ |
|
test_u_async_performance \ |
|
test_debug_categories \ |
|
test_config_debug \ |
|
bench_timeout_heap \ |
|
bench_uasync_timeouts |
|
|
|
# Basic includes |
|
AM_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source |
|
|
|
# TinyCrypt source files |
|
TINYCRYPT_SRCDIR = $(top_srcdir)/tinycrypt/lib/source |
|
|
|
# TinyCrypt object files (with utun- prefix as built by automake) |
|
TINYCRYPT_OBJS = \ |
|
$(TINYCRYPT_OBJDIR)/utun-aes_encrypt.o \ |
|
$(TINYCRYPT_OBJDIR)/utun-aes_decrypt.o \ |
|
$(TINYCRYPT_OBJDIR)/utun-ccm_mode.o \ |
|
$(TINYCRYPT_OBJDIR)/utun-cmac_mode.o \ |
|
$(TINYCRYPT_OBJDIR)/utun-ctr_mode.o \ |
|
$(TINYCRYPT_OBJDIR)/utun-ecc.o \ |
|
$(TINYCRYPT_OBJDIR)/utun-ecc_dh.o \ |
|
$(TINYCRYPT_OBJDIR)/utun-ecc_dsa.o \ |
|
$(TINYCRYPT_OBJDIR)/utun-sha256.o \ |
|
$(TINYCRYPT_OBJDIR)/utun-ecc_platform_specific.o \ |
|
$(TINYCRYPT_OBJDIR)/utun-utils.o |
|
|
|
# Secure channel and CRC objects |
|
SECURE_CHANNEL_OBJS = $(SRC_OBJDIR)/utun-secure_channel.o $(SRC_OBJDIR)/utun-crc32.o |
|
|
|
# ETCP core objects |
|
ETCP_CORE_OBJS = \ |
|
$(SRC_OBJDIR)/utun-etcp.o \ |
|
$(SRC_OBJDIR)/utun-etcp_connections.o \ |
|
$(SRC_OBJDIR)/utun-etcp_loadbalancer.o \ |
|
$(SRC_OBJDIR)/utun-pkt_normalizer.o \ |
|
$(SRC_OBJDIR)/utun-etcp_api.o |
|
|
|
# Full ETCP objects |
|
ETCP_FULL_OBJS = \ |
|
$(SRC_OBJDIR)/utun-config_parser.o \ |
|
$(SRC_OBJDIR)/utun-config_updater.o \ |
|
$(SRC_OBJDIR)/utun-route_lib.o \ |
|
$(SRC_OBJDIR)/utun-routing.o \ |
|
$(SRC_OBJDIR)/utun-tun_if.o \ |
|
$(SRC_OBJDIR)/utun-utun_instance.o \ |
|
$(ETCP_CORE_OBJS) |
|
|
|
# Common libraries |
|
COMMON_LIBS = $(top_builddir)/lib/libuasync.a -lpthread |
|
|
|
# Crypto libraries (conditional) |
|
if USE_OPENSSL |
|
CRYPTO_LIBS = -lcrypto |
|
TINYCRYPT_BUILT = |
|
else |
|
CRYPTO_LIBS = $(TINYCRYPT_OBJS) |
|
TINYCRYPT_BUILT = tinycrypt-objects |
|
endif |
|
|
|
# Register tests |
|
TESTS = $(check_PROGRAMS) |
|
|
|
# Build TinyCrypt objects as a group |
|
tinycrypt-objects: $(TINYCRYPT_OBJS) |
|
|
|
# Explicit rules for TinyCrypt objects - NOTE: no newlines in recipe |
|
$(TINYCRYPT_OBJDIR)/utun-aes_encrypt.o: $(TINYCRYPT_SRCDIR)/aes_encrypt.c ; @$(MKDIR_P) $(TINYCRYPT_OBJDIR) ; $(AM_V_CC)$(COMPILE) -c -o $@ $< |
|
|
|
$(TINYCRYPT_OBJDIR)/utun-aes_decrypt.o: $(TINYCRYPT_SRCDIR)/aes_decrypt.c ; @$(MKDIR_P) $(TINYCRYPT_OBJDIR) ; $(AM_V_CC)$(COMPILE) -c -o $@ $< |
|
|
|
$(TINYCRYPT_OBJDIR)/utun-ccm_mode.o: $(TINYCRYPT_SRCDIR)/ccm_mode.c ; @$(MKDIR_P) $(TINYCRYPT_OBJDIR) ; $(AM_V_CC)$(COMPILE) -c -o $@ $< |
|
|
|
$(TINYCRYPT_OBJDIR)/utun-cmac_mode.o: $(TINYCRYPT_SRCDIR)/cmac_mode.c ; @$(MKDIR_P) $(TINYCRYPT_OBJDIR) ; $(AM_V_CC)$(COMPILE) -c -o $@ $< |
|
|
|
$(TINYCRYPT_OBJDIR)/utun-ctr_mode.o: $(TINYCRYPT_SRCDIR)/ctr_mode.c ; @$(MKDIR_P) $(TINYCRYPT_OBJDIR) ; $(AM_V_CC)$(COMPILE) -c -o $@ $< |
|
|
|
$(TINYCRYPT_OBJDIR)/utun-ecc.o: $(TINYCRYPT_SRCDIR)/ecc.c ; @$(MKDIR_P) $(TINYCRYPT_OBJDIR) ; $(AM_V_CC)$(COMPILE) -c -o $@ $< |
|
|
|
$(TINYCRYPT_OBJDIR)/utun-ecc_dh.o: $(TINYCRYPT_SRCDIR)/ecc_dh.c ; @$(MKDIR_P) $(TINYCRYPT_OBJDIR) ; $(AM_V_CC)$(COMPILE) -c -o $@ $< |
|
|
|
$(TINYCRYPT_OBJDIR)/utun-ecc_dsa.o: $(TINYCRYPT_SRCDIR)/ecc_dsa.c ; @$(MKDIR_P) $(TINYCRYPT_OBJDIR) ; $(AM_V_CC)$(COMPILE) -c -o $@ $< |
|
|
|
$(TINYCRYPT_OBJDIR)/utun-sha256.o: $(TINYCRYPT_SRCDIR)/sha256.c ; @$(MKDIR_P) $(TINYCRYPT_OBJDIR) ; $(AM_V_CC)$(COMPILE) -c -o $@ $< |
|
|
|
$(TINYCRYPT_OBJDIR)/utun-ecc_platform_specific.o: $(TINYCRYPT_SRCDIR)/ecc_platform_specific.c ; @$(MKDIR_P) $(TINYCRYPT_OBJDIR) ; $(AM_V_CC)$(COMPILE) -c -o $@ $< |
|
|
|
$(TINYCRYPT_OBJDIR)/utun-utils.o: $(TINYCRYPT_SRCDIR)/utils.c ; @$(MKDIR_P) $(TINYCRYPT_OBJDIR) ; $(AM_V_CC)$(COMPILE) -c -o $@ $< |
|
|
|
# Test definitions with standard automake variables |
|
test_etcp_crypto_SOURCES = test_etcp_crypto.c |
|
test_etcp_crypto_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source |
|
test_etcp_crypto_LDADD = $(SECURE_CHANNEL_OBJS) $(CRYPTO_LIBS) $(COMMON_LIBS) |
|
|
|
test_crypto_SOURCES = test_crypto.c |
|
test_crypto_CFLAGS = -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source -I$(top_srcdir)/lib |
|
test_crypto_LDADD = $(TINYCRYPT_OBJS) $(COMMON_LIBS) |
|
|
|
test_etcp_two_instances_SOURCES = test_etcp_two_instances.c |
|
test_etcp_two_instances_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source |
|
test_etcp_two_instances_LDADD = $(ETCP_FULL_OBJS) $(SECURE_CHANNEL_OBJS) $(CRYPTO_LIBS) $(COMMON_LIBS) |
|
|
|
test_etcp_simple_traffic_SOURCES = test_etcp_simple_traffic.c |
|
test_etcp_simple_traffic_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source |
|
test_etcp_simple_traffic_LDADD = $(ETCP_FULL_OBJS) $(SECURE_CHANNEL_OBJS) $(CRYPTO_LIBS) $(COMMON_LIBS) |
|
|
|
test_etcp_minimal_SOURCES = test_etcp_minimal.c |
|
test_etcp_minimal_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source |
|
test_etcp_minimal_LDADD = $(ETCP_FULL_OBJS) $(SECURE_CHANNEL_OBJS) $(CRYPTO_LIBS) $(COMMON_LIBS) |
|
|
|
test_etcp_100_packets_SOURCES = test_etcp_100_packets.c |
|
test_etcp_100_packets_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source |
|
test_etcp_100_packets_LDADD = $(ETCP_FULL_OBJS) $(SECURE_CHANNEL_OBJS) $(CRYPTO_LIBS) $(COMMON_LIBS) |
|
|
|
test_pkt_normalizer_etcp_SOURCES = test_pkt_normalizer_etcp.c |
|
test_pkt_normalizer_etcp_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source |
|
test_pkt_normalizer_etcp_LDADD = $(ETCP_FULL_OBJS) $(SECURE_CHANNEL_OBJS) $(CRYPTO_LIBS) $(COMMON_LIBS) |
|
|
|
test_pkt_normalizer_standalone_SOURCES = test_pkt_normalizer_standalone.c |
|
test_pkt_normalizer_standalone_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source |
|
test_pkt_normalizer_standalone_LDADD = $(SRC_OBJDIR)/utun-pkt_normalizer.o $(SRC_OBJDIR)/utun-route_lib.o $(SRC_OBJDIR)/utun-routing.o $(SRC_OBJDIR)/utun-etcp_api.o $(TINYCRYPT_OBJS) $(COMMON_LIBS) |
|
|
|
test_ll_queue_SOURCES = test_ll_queue.c |
|
test_ll_queue_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib |
|
test_ll_queue_LDADD = $(COMMON_LIBS) |
|
|
|
test_ecc_encrypt_SOURCES = test_ecc_encrypt.c |
|
test_ecc_encrypt_CFLAGS = -I$(top_srcdir)/tinycrypt/lib/include -I$(top_srcdir)/tinycrypt/lib/source -I$(top_srcdir)/lib |
|
test_ecc_encrypt_LDADD = $(SECURE_CHANNEL_OBJS) $(TINYCRYPT_OBJS) $(COMMON_LIBS) -lcrypto |
|
|
|
test_intensive_memory_pool_SOURCES = test_intensive_memory_pool.c |
|
test_intensive_memory_pool_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib |
|
test_intensive_memory_pool_LDADD = $(COMMON_LIBS) |
|
|
|
test_memory_pool_and_config_SOURCES = test_memory_pool_and_config.c |
|
test_memory_pool_and_config_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib |
|
test_memory_pool_and_config_LDADD = $(COMMON_LIBS) |
|
|
|
test_packet_dump_SOURCES = test_packet_dump.c |
|
test_packet_dump_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib |
|
test_packet_dump_LDADD = $(COMMON_LIBS) |
|
|
|
test_u_async_comprehensive_SOURCES = test_u_async_comprehensive.c |
|
test_u_async_comprehensive_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib |
|
test_u_async_comprehensive_LDADD = $(COMMON_LIBS) |
|
|
|
test_u_async_performance_SOURCES = test_u_async_performance.c |
|
test_u_async_performance_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib |
|
test_u_async_performance_LDADD = $(COMMON_LIBS) |
|
|
|
test_debug_categories_SOURCES = test_debug_categories.c |
|
test_debug_categories_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib |
|
test_debug_categories_LDADD = $(COMMON_LIBS) |
|
|
|
test_config_debug_SOURCES = test_config_debug.c |
|
test_config_debug_CFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/lib |
|
test_config_debug_LDADD = $(SRC_OBJDIR)/utun-config_parser.o $(COMMON_LIBS) |
|
|
|
bench_timeout_heap_SOURCES = bench_timeout_heap.c |
|
bench_timeout_heap_CFLAGS = -I$(top_srcdir)/lib |
|
bench_timeout_heap_LDADD = $(COMMON_LIBS) |
|
|
|
bench_uasync_timeouts_SOURCES = bench_uasync_timeouts.c |
|
bench_uasync_timeouts_CFLAGS = -I$(top_srcdir)/lib |
|
bench_uasync_timeouts_LDADD = $(COMMON_LIBS) |
|
|
|
# Build tinycrypt objects before tests that need them |
|
BUILT_SOURCES = $(TINYCRYPT_BUILT) |
|
|
|
# After building tests, move their object files to shadow directory |
|
all-local: shadow-test-objects |
|
|
|
shadow-test-objects: $(check_PROGRAMS) |
|
@$(MKDIR_P) $(OBJDIR) |
|
@for prog in $(check_PROGRAMS); do \ |
|
prog_obj=$${prog}_OBJECTS; \ |
|
eval "objs=\"\$$prog_obj\""; \ |
|
for obj in $$objs; do \ |
|
if test -f "$$obj"; then \ |
|
mv -f "$$obj" $(OBJDIR)/ 2>/dev/null || true; \ |
|
fi; \ |
|
done; \ |
|
done |
|
|
|
# Clean |
|
clean-local: |
|
-rm -f $(check_PROGRAMS) |
|
-rm -rf $(OBJDIR)
|
|
|