Tue, 09 Jan 2024 00:01:03 +0100
migrate low level linked list tests - relates to #342
1 # Copyright 2023 Mike Becker. All rights reserved.
2 #
3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions are met:
5 #
6 # 1. Redistributions of source code must retain the above copyright
7 # notice, this list of conditions and the following disclaimer.
8 #
9 # 2. Redistributions in binary form must reproduce the above copyright
10 # notice, this list of conditions and the following disclaimer in the
11 # documentation and/or other materials provided with the distribution.
12 #
13 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
14 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16 # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
17 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
19 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
20 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
21 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
22 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 include ../config.mk
26 CFLAGS += -I../src -Wno-clobbered
28 TEST_DIR=$(build_dir)/tests
30 SRC = util_allocator.c test_utils.c test_hash_key.c test_allocator.c \
31 test_compare.c test_string.c test_buffer.c test_list.c \
32 test_printf.c test_mempool.c test_hash_map.c ucxtest.c
34 OBJ_EXT=.o
35 OBJ=$(SRC:%.c=$(TEST_DIR)/%$(OBJ_EXT))
37 all: $(TEST_DIR) $(TEST_DIR)/ucxtest
39 $(TEST_DIR)/ucxtest: $(OBJ) $(build_dir)/libucx_static.a
40 $(CC) -o $@ $(LDFLAGS) $+
42 $(build_dir)/libucx_static.a:
43 test -f "$@"
45 $(TEST_DIR):
46 $(MKDIR) $@
48 FORCE:
50 $(TEST_DIR)/test_allocator$(OBJ_EXT): test_allocator.c ../src/cx/test.h \
51 ../src/cx/allocator.h ../src/cx/common.h
52 @echo "Compiling $<"
53 $(CC) -o $@ $(CFLAGS) -c $<
55 $(TEST_DIR)/test_buffer$(OBJ_EXT): test_buffer.c ../src/cx/test.h \
56 util_allocator.h ../src/cx/allocator.h ../src/cx/common.h \
57 ../src/cx/buffer.h ../src/cx/allocator.h
58 @echo "Compiling $<"
59 $(CC) -o $@ $(CFLAGS) -c $<
61 $(TEST_DIR)/test_compare$(OBJ_EXT): test_compare.c ../src/cx/test.h \
62 ../src/cx/compare.h ../src/cx/common.h
63 @echo "Compiling $<"
64 $(CC) -o $@ $(CFLAGS) -c $<
66 $(TEST_DIR)/test_hash_key$(OBJ_EXT): test_hash_key.c ../src/cx/test.h \
67 ../src/cx/hash_key.h ../src/cx/common.h ../src/cx/string.h \
68 ../src/cx/allocator.h
69 @echo "Compiling $<"
70 $(CC) -o $@ $(CFLAGS) -c $<
72 $(TEST_DIR)/test_hash_map$(OBJ_EXT): test_hash_map.c ../src/cx/test.h \
73 util_allocator.h ../src/cx/allocator.h ../src/cx/common.h \
74 ../src/cx/hash_map.h ../src/cx/map.h ../src/cx/collection.h \
75 ../src/cx/allocator.h ../src/cx/iterator.h ../src/cx/string.h \
76 ../src/cx/hash_key.h
77 @echo "Compiling $<"
78 $(CC) -o $@ $(CFLAGS) -c $<
80 $(TEST_DIR)/test_list$(OBJ_EXT): test_list.c ../src/cx/test.h \
81 util_allocator.h ../src/cx/allocator.h ../src/cx/common.h \
82 ../src/cx/array_list.h ../src/cx/list.h ../src/cx/collection.h \
83 ../src/cx/allocator.h ../src/cx/iterator.h ../src/cx/linked_list.h
84 @echo "Compiling $<"
85 $(CC) -o $@ $(CFLAGS) -c $<
87 $(TEST_DIR)/test_mempool$(OBJ_EXT): test_mempool.c ../src/cx/test.h \
88 util_allocator.h ../src/cx/allocator.h ../src/cx/common.h \
89 ../src/cx/mempool.h ../src/cx/allocator.h
90 @echo "Compiling $<"
91 $(CC) -o $@ $(CFLAGS) -c $<
93 $(TEST_DIR)/test_printf$(OBJ_EXT): test_printf.c ../src/cx/test.h \
94 util_allocator.h ../src/cx/allocator.h ../src/cx/common.h \
95 ../src/cx/printf.h ../src/cx/string.h ../src/cx/allocator.h \
96 ../src/cx/buffer.h
97 @echo "Compiling $<"
98 $(CC) -o $@ $(CFLAGS) -c $<
100 $(TEST_DIR)/test_string$(OBJ_EXT): test_string.c ../src/cx/test.h \
101 util_allocator.h ../src/cx/allocator.h ../src/cx/common.h \
102 ../src/cx/string.h ../src/cx/allocator.h
103 @echo "Compiling $<"
104 $(CC) -o $@ $(CFLAGS) -c $<
106 $(TEST_DIR)/test_utils$(OBJ_EXT): test_utils.c ../src/cx/test.h \
107 ../src/cx/utils.h ../src/cx/common.h ../src/cx/buffer.h \
108 ../src/cx/allocator.h ../src/szmul.c
109 @echo "Compiling $<"
110 $(CC) -o $@ $(CFLAGS) -c $<
112 $(TEST_DIR)/ucxtest$(OBJ_EXT): ucxtest.c ../src/cx/test.h
113 @echo "Compiling $<"
114 $(CC) -o $@ $(CFLAGS) -c $<
116 $(TEST_DIR)/util_allocator$(OBJ_EXT): util_allocator.c util_allocator.h \
117 ../src/cx/allocator.h ../src/cx/common.h ../src/cx/test.h
118 @echo "Compiling $<"
119 $(CC) -o $@ $(CFLAGS) -c $<