|  | 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. | 
|  | 23 | 
|  | 24 include ../config.mk | 
|  | 25 | 
|  | 26 SRC = allocator.c array_list.c buffer.c compare.c hash_key.c hash_map.c \ | 
|  | 27   linked_list.c list.c map.c mempool.c printf.c string.c utils.c | 
|  | 28 | 
|  | 29 OBJ_EXT=.o | 
|  | 30 OBJ=$(SRC:%.c=$(BUILD_DIR)/%$(OBJ_EXT)) | 
|  | 31 | 
|  | 32 static: $(BUILD_DIR)/libucx$(STLIB_EXT) | 
|  | 33 | 
|  | 34 shared: $(BUILD_DIR)/libucx$(SHLIB_EXT) | 
|  | 35 | 
|  | 36 $(BUILD_DIR)/libucx$(STLIB_EXT): $(OBJ) | 
|  | 37 	$(AR) $(ARFLAGS) $@ $^ | 
|  | 38 | 
|  | 39 $(BUILD_DIR)/libucx$(SHLIB_EXT): $(OBJ) | 
|  | 40 	$(CC) $(LDFLAGS) -o $@ $^ | 
|  | 41 | 
|  | 42 install: | 
|  | 43 	@echo "[ not supported yet ]" | 
|  | 44 | 
|  | 45 | 
|  | 46 $(BUILD_DIR)/allocator$(OBJ_EXT): allocator.c cx/allocator.h cx/common.h | 
|  | 47 	echo "Compiling $<" | 
|  | 48 	$(CC) -o $@ $(CFLAGS) -c $< | 
|  | 49 | 
|  | 50 $(BUILD_DIR)/array_list$(OBJ_EXT): array_list.c cx/array_list.h cx/list.h \ | 
|  | 51  cx/common.h cx/collection.h cx/allocator.h cx/iterator.h | 
|  | 52 	echo "Compiling $<" | 
|  | 53 	$(CC) -o $@ $(CFLAGS) -c $< | 
|  | 54 | 
|  | 55 $(BUILD_DIR)/buffer$(OBJ_EXT): buffer.c cx/buffer.h cx/common.h cx/allocator.h \ | 
|  | 56  cx/utils.h | 
|  | 57 	echo "Compiling $<" | 
|  | 58 	$(CC) -o $@ $(CFLAGS) -c $< | 
|  | 59 | 
|  | 60 $(BUILD_DIR)/compare$(OBJ_EXT): compare.c cx/compare.h cx/common.h | 
|  | 61 	echo "Compiling $<" | 
|  | 62 	$(CC) -o $@ $(CFLAGS) -c $< | 
|  | 63 | 
|  | 64 $(BUILD_DIR)/hash_key$(OBJ_EXT): hash_key.c cx/hash_key.h cx/common.h | 
|  | 65 	echo "Compiling $<" | 
|  | 66 	$(CC) -o $@ $(CFLAGS) -c $< | 
|  | 67 | 
|  | 68 $(BUILD_DIR)/hash_map$(OBJ_EXT): hash_map.c cx/hash_map.h cx/map.h cx/common.h \ | 
|  | 69  cx/collection.h cx/allocator.h cx/iterator.h cx/string.h cx/hash_key.h \ | 
|  | 70  cx/utils.h | 
|  | 71 	echo "Compiling $<" | 
|  | 72 	$(CC) -o $@ $(CFLAGS) -c $< | 
|  | 73 | 
|  | 74 $(BUILD_DIR)/linked_list$(OBJ_EXT): linked_list.c cx/linked_list.h cx/common.h \ | 
|  | 75  cx/list.h cx/collection.h cx/allocator.h cx/iterator.h cx/utils.h | 
|  | 76 	echo "Compiling $<" | 
|  | 77 	$(CC) -o $@ $(CFLAGS) -c $< | 
|  | 78 | 
|  | 79 $(BUILD_DIR)/list$(OBJ_EXT): list.c cx/list.h cx/common.h cx/collection.h \ | 
|  | 80  cx/allocator.h cx/iterator.h | 
|  | 81 	echo "Compiling $<" | 
|  | 82 	$(CC) -o $@ $(CFLAGS) -c $< | 
|  | 83 | 
|  | 84 $(BUILD_DIR)/map$(OBJ_EXT): map.c cx/map.h cx/common.h cx/collection.h \ | 
|  | 85  cx/allocator.h cx/iterator.h cx/string.h cx/hash_key.h | 
|  | 86 	echo "Compiling $<" | 
|  | 87 	$(CC) -o $@ $(CFLAGS) -c $< | 
|  | 88 | 
|  | 89 $(BUILD_DIR)/mempool$(OBJ_EXT): mempool.c cx/mempool.h cx/common.h cx/allocator.h \ | 
|  | 90  cx/utils.h | 
|  | 91 	echo "Compiling $<" | 
|  | 92 	$(CC) -o $@ $(CFLAGS) -c $< | 
|  | 93 | 
|  | 94 $(BUILD_DIR)/printf$(OBJ_EXT): printf.c cx/printf.h cx/common.h cx/string.h \ | 
|  | 95  cx/allocator.h | 
|  | 96 	echo "Compiling $<" | 
|  | 97 	$(CC) -o $@ $(CFLAGS) -c $< | 
|  | 98 | 
|  | 99 $(BUILD_DIR)/string$(OBJ_EXT): string.c cx/string.h cx/common.h cx/allocator.h \ | 
|  | 100  cx/utils.h | 
|  | 101 	echo "Compiling $<" | 
|  | 102 	$(CC) -o $@ $(CFLAGS) -c $< | 
|  | 103 | 
|  | 104 $(BUILD_DIR)/utils$(OBJ_EXT): utils.c cx/utils.h cx/common.h | 
|  | 105 	echo "Compiling $<" | 
|  | 106 	$(CC) -o $@ $(CFLAGS) -c $< | 
|  | 107 |