Sat, 30 Dec 2023 14:32:42 +0100
migrate allocator 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_string.c test_printf.c test_mempool.c ucxtest.c
33 OBJ_EXT=.o
34 OBJ=$(SRC:%.c=$(TEST_DIR)/%$(OBJ_EXT))
36 all: $(TEST_DIR) $(TEST_DIR)/ucxtest
38 $(TEST_DIR)/ucxtest: $(OBJ) $(build_dir)/libucx_static.a
39 $(CC) -o $@ $(LDFLAGS) $+
41 $(build_dir)/libucx_static.a:
42 test -f "$@"
44 $(TEST_DIR):
45 $(MKDIR) $@
47 FORCE:
49 $(TEST_DIR)/test_allocator$(OBJ_EXT): test_allocator.c ../src/cx/test.h \
50 ../src/cx/allocator.h ../src/cx/common.h
51 @echo "Compiling $<"
52 $(CC) -o $@ $(CFLAGS) -c $<
54 $(TEST_DIR)/test_hash_key$(OBJ_EXT): test_hash_key.c ../src/cx/test.h \
55 ../src/cx/hash_key.h ../src/cx/common.h ../src/cx/string.h \
56 ../src/cx/allocator.h
57 @echo "Compiling $<"
58 $(CC) -o $@ $(CFLAGS) -c $<
60 $(TEST_DIR)/test_map_generics$(OBJ_EXT): test_map_generics.c \
61 test_map_generics.h ../src/cx/map.h ../src/cx/common.h \
62 ../src/cx/collection.h ../src/cx/allocator.h ../src/cx/iterator.h \
63 ../src/cx/string.h ../src/cx/hash_key.h ../src/cx/hash_map.h \
64 ../src/cx/map.h
65 @echo "Compiling $<"
66 $(CC) -o $@ $(CFLAGS) -c $<
68 $(TEST_DIR)/test_mempool$(OBJ_EXT): test_mempool.c ../src/cx/test.h \
69 util_allocator.h ../src/cx/allocator.h ../src/cx/common.h \
70 ../src/cx/mempool.h ../src/cx/allocator.h
71 @echo "Compiling $<"
72 $(CC) -o $@ $(CFLAGS) -c $<
74 $(TEST_DIR)/test_printf$(OBJ_EXT): test_printf.c ../src/cx/test.h \
75 util_allocator.h ../src/cx/allocator.h ../src/cx/common.h \
76 ../src/cx/printf.h ../src/cx/string.h ../src/cx/allocator.h \
77 ../src/cx/buffer.h
78 @echo "Compiling $<"
79 $(CC) -o $@ $(CFLAGS) -c $<
81 $(TEST_DIR)/test_string$(OBJ_EXT): test_string.c ../src/cx/test.h \
82 util_allocator.h ../src/cx/allocator.h ../src/cx/common.h \
83 ../src/cx/string.h ../src/cx/allocator.h
84 @echo "Compiling $<"
85 $(CC) -o $@ $(CFLAGS) -c $<
87 $(TEST_DIR)/test_utils$(OBJ_EXT): test_utils.c ../src/cx/test.h \
88 ../src/cx/utils.h ../src/cx/common.h ../src/cx/buffer.h \
89 ../src/cx/allocator.h ../src/szmul.c
90 @echo "Compiling $<"
91 $(CC) -o $@ $(CFLAGS) -c $<
93 $(TEST_DIR)/ucxtest$(OBJ_EXT): ucxtest.c ../src/cx/test.h
94 @echo "Compiling $<"
95 $(CC) -o $@ $(CFLAGS) -c $<
97 $(TEST_DIR)/util_allocator$(OBJ_EXT): util_allocator.c util_allocator.h \
98 ../src/cx/allocator.h ../src/cx/common.h ../src/cx/test.h
99 @echo "Compiling $<"
100 $(CC) -o $@ $(CFLAGS) -c $<