From cbc8d0a7c51cdd5bf48ff090130e287852bd2bc2 Mon Sep 17 00:00:00 2001 From: Elaina Claus Date: Thu, 15 Jan 2026 17:23:15 -0500 Subject: [PATCH] add rules to build allocator lib --- make/rules.mk | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/make/rules.mk b/make/rules.mk index fcc2429..e8c7458 100644 --- a/make/rules.mk +++ b/make/rules.mk @@ -1,9 +1,13 @@ +ALLOC_LIB := $(BUILD_DIR)/lib/libnia.a LIB := $(BUILD_DIR)/lib/libnickel.a BIN_DIR := $(BUILD_DIR)/bin OBJ_DIR := $(BUILD_DIR)/obj +NI_ALLOC_SRCS := $(wildcard src/nickel/ni_alloc/*.c) +NI_ALLOC_OBJS := $(patsubst src/ni_alloc/%.c,$(OBJ_DIR)/ni_alloc/%.o,$(NI_ALLOC_SRCS)) + NICKEL_SRCS := $(wildcard src/nickel/*.c) -NICKEL_OBJS := $(patsubst src/%.c,$(OBJ_DIR)/%.o,$(NICKEL_SRCS)) +NICKEL_OBJS := $(patsubst src/nickel/%.c,$(OBJ_DIR)/nickel/%.o,$(NICKEL_SRCS)) TEST_SRCS := $(wildcard tests/*.c) TEST_BIN := $(BIN_DIR)/tests @@ -14,7 +18,12 @@ TOOL_BINS := \ .PHONY: all clean test tools examples -all: $(LIB) tools $(TEST_BIN) +all: $(ALLOC_LIB) $(LIB) tools $(TEST_BIN) + +$(ALLOC_LIB): $(NI_ALLOC_OBJS) + @mkdir -p $(dir $@) + $(AR) rcs $@ $^ + $(RANLIB) $@ $(LIB): $(NICKEL_OBJS) @mkdir -p $(dir $@) @@ -26,9 +35,9 @@ $(OBJ_DIR)/%.o: src/%.c $(CC) $(CFLAGS) -c $< -o $@ # Tests link against libnickel.a -$(TEST_BIN): $(TEST_SRCS) $(LIB) +$(TEST_BIN): $(TEST_SRCS) $(ALLOC_LIB) $(LIB) @mkdir -p $(BIN_DIR) - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(TEST_SRCS) $(LIB) $(LDLIBS) + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(TEST_SRCS) $(ALLOC_LIB) $(LIB) $(LDLIBS) # Tools (one main.c each; expand as needed) #$(BIN_DIR)/logscan: tools/logscan/main.c $(LIB) @@ -39,10 +48,10 @@ $(TEST_BIN): $(TEST_SRCS) $(LIB) # @mkdir -p $(BIN_DIR) # $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIB) $(LDLIBS) +tools: $(TOOL_BINS) + test: $(TEST_BIN) $(TEST_BIN) -tools: $(TOOL_BINS) - clean: rm -rf $(BUILD_DIR)