- 重命名和重构了多个文件,包括 lexer、parser 和 AST 相关代码 - 添加了日志功能,使用 LOG_* 宏替代原有的 error 和 warn 函数 - 优化了错误处理和内存分配方式 - 调整了代码结构,提高了模块化和可读性
36 lines
464 B
Makefile
36 lines
464 B
Makefile
# 编译器设置
|
|
CC = gcc
|
|
AR = ar
|
|
CFLAGS = -g -Wall -I..
|
|
|
|
# 源文件路径
|
|
RT_DIR = ./rt
|
|
LOG_DIR = ./rt/log
|
|
|
|
# 源文件列表
|
|
SRCS = \
|
|
$(RT_DIR)/std/rt_std.c \
|
|
./core.c \
|
|
$(RT_DIR)/rt.c \
|
|
$(RT_DIR)/rt_alloc.c \
|
|
$(LOG_DIR)/log.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
|