- 重命名和重构了多个文件,包括 lexer、parser 和 AST 相关代码 - 添加了日志功能,使用 LOG_* 宏替代原有的 error 和 warn 函数 - 优化了错误处理和内存分配方式 - 调整了代码结构,提高了模块化和可读性
34 lines
435 B
Makefile
34 lines
435 B
Makefile
# 编译器设置
|
|
CC = gcc
|
|
AR = ar
|
|
CFLAGS = -g -Wall -I../..
|
|
|
|
IR_DIR = ./ir
|
|
|
|
# 源文件列表
|
|
SRCS = \
|
|
middleend.c \
|
|
$(IR_DIR)/ir.c \
|
|
$(IR_DIR)/ir_ast.c \
|
|
$(IR_DIR)/ir_lib.c \
|
|
$(IR_DIR)/ir_type.c
|
|
|
|
# 生成目标文件列表
|
|
OBJS = $(SRCS:.c=.o)
|
|
|
|
# 最终目标
|
|
TARGET = libmiddleend.a
|
|
|
|
all: $(TARGET)
|
|
|
|
$(TARGET): $(OBJS)
|
|
$(AR) rcs $@ $^
|
|
|
|
%.o: %.c
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
clean:
|
|
rm -f $(OBJS) $(TARGET)
|
|
|
|
.PHONY: all clean
|