add rules to build allocator lib
This commit is contained in:
@@ -1,9 +1,13 @@
|
|||||||
|
ALLOC_LIB := $(BUILD_DIR)/lib/libnia.a
|
||||||
LIB := $(BUILD_DIR)/lib/libnickel.a
|
LIB := $(BUILD_DIR)/lib/libnickel.a
|
||||||
BIN_DIR := $(BUILD_DIR)/bin
|
BIN_DIR := $(BUILD_DIR)/bin
|
||||||
OBJ_DIR := $(BUILD_DIR)/obj
|
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_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_SRCS := $(wildcard tests/*.c)
|
||||||
TEST_BIN := $(BIN_DIR)/tests
|
TEST_BIN := $(BIN_DIR)/tests
|
||||||
@@ -14,7 +18,12 @@ TOOL_BINS := \
|
|||||||
|
|
||||||
.PHONY: all clean test tools examples
|
.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)
|
$(LIB): $(NICKEL_OBJS)
|
||||||
@mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
@@ -26,9 +35,9 @@ $(OBJ_DIR)/%.o: src/%.c
|
|||||||
$(CC) $(CFLAGS) -c $< -o $@
|
$(CC) $(CFLAGS) -c $< -o $@
|
||||||
|
|
||||||
# Tests link against libnickel.a
|
# Tests link against libnickel.a
|
||||||
$(TEST_BIN): $(TEST_SRCS) $(LIB)
|
$(TEST_BIN): $(TEST_SRCS) $(ALLOC_LIB) $(LIB)
|
||||||
@mkdir -p $(BIN_DIR)
|
@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)
|
# Tools (one main.c each; expand as needed)
|
||||||
#$(BIN_DIR)/logscan: tools/logscan/main.c $(LIB)
|
#$(BIN_DIR)/logscan: tools/logscan/main.c $(LIB)
|
||||||
@@ -39,10 +48,10 @@ $(TEST_BIN): $(TEST_SRCS) $(LIB)
|
|||||||
# @mkdir -p $(BIN_DIR)
|
# @mkdir -p $(BIN_DIR)
|
||||||
# $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIB) $(LDLIBS)
|
# $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LIB) $(LDLIBS)
|
||||||
|
|
||||||
|
tools: $(TOOL_BINS)
|
||||||
|
|
||||||
test: $(TEST_BIN)
|
test: $(TEST_BIN)
|
||||||
$(TEST_BIN)
|
$(TEST_BIN)
|
||||||
|
|
||||||
tools: $(TOOL_BINS)
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(BUILD_DIR)
|
rm -rf $(BUILD_DIR)
|
||||||
|
|||||||
Reference in New Issue
Block a user