# 编译器设置 CC = gcc AR = ar CFLAGS = -g -Wall -I.. # 源文件路径 RT_DIR = ./rt LOG_DIR = ./rt/log # basic rt lib SRCS = \ $(RT_DIR)/std/rt_std.c \ ./core.c \ $(RT_DIR)/rt.c \ $(RT_DIR)/rt_alloc.c \ $(RT_DIR)/rt_string.c \ $(LOG_DIR)/log.c # utils lib UTILS_DIR = ./utils DS_DIR = $(UTILS_DIR)/ds STRPOOL_DIR = $(UTILS_DIR)/strpool SYMTAB_DIR = $(UTILS_DIR)/symtab TOKBUF_DIR = $(UTILS_DIR)/tokbuf SRCS += \ $(DS_DIR)/hashtable.c \ $(STRPOOL_DIR)/strpool.c \ # $(SYMTAB_DIR)/symtab.c \ # $(TOKBUF_DIR)/tokbuf.c # 生成目标文件列表 OBJS = $(SRCS:.c=.o) # 最终目标 TARGET = libcore.a all: $(TARGET) $(TARGET): $(OBJS) $(AR) rcs $@ $^ %.o: %.c $(CC) $(CFLAGS) -c -o $@ $< clean: rm -f $(OBJS) $(TARGET) .PHONY: all clean