- 重命名和重构了多个文件,包括 lexer、parser 和 AST 相关代码 - 添加了日志功能,使用 LOG_* 宏替代原有的 error 和 warn 函数 - 优化了错误处理和内存分配方式 - 调整了代码结构,提高了模块化和可读性
30 lines
587 B
Makefile
30 lines
587 B
Makefile
# VM := ../../rv32-vm
|
|
# CC := ../../ccompiler
|
|
# STD_CC := gcc
|
|
|
|
# TESTS := $(wildcard *.c)
|
|
|
|
# # 定义所有测试目标
|
|
# TEST_TARGETS := $(patsubst %.c, %_test, $(TESTS))
|
|
|
|
# all: $(TEST_TARGETS)
|
|
|
|
# %_test: %.c
|
|
# @$(STD_CC) -g -o $@ $<
|
|
# @$(CC) $< flat.bin
|
|
# @./$@ ; ret_gcc=$$?
|
|
# @$(VM) flat.bin ; ret_vm=$$?
|
|
# @echo "Testing $@"
|
|
# @if [ $$ret_gcc -eq $$ret_vm ]; then \
|
|
# echo "$@ passed"; \
|
|
# else \
|
|
# echo "$@ failed: GCC returned $$ret_gcc, VM returned $$ret_vm"; \
|
|
# exit 1; \
|
|
# fi
|
|
|
|
# clean:
|
|
# rm -f $(TEST_TARGETS) flat.bin
|
|
|
|
# .PHONY: all clean
|
|
all:
|
|
python test.py
|