# D213ECV RISC-V Demo Makefile # 工具链配置 TOOLCHAIN_PREFIX = /home/hyx/work/15.6/riscv64-linux-glibc-x86_64-V2.10.1 CROSS_COMPILE = $(TOOLCHAIN_PREFIX)/bin/riscv64-unknown-linux-gnu- CC = $(CROSS_COMPILE)gcc CXX = $(CROSS_COMPILE)g++ AR = $(CROSS_COMPILE)ar # 编译标志 CFLAGS = -Wall -O2 -I. -Iinclude -Ilvgl LDFLAGS = -lpthread -lm # 源文件 SRCS = src/main.c src/fbdev.c src/lv_port_disp.c OBJS = $(SRCS:.c=.o) # LVGL 库 LVGL_DIR = lvgl LVGL_LIB = $(LVGL_DIR)/liblvgl.a # 目标 TARGET = d213_demo .PHONY: all clean lvgl all: $(TARGET) $(TARGET): $(OBJS) $(LVGL_LIB) @echo "Linking $@..." $(CC) -o $@ $(OBJS) $(LVGL_LIB) $(LDFLAGS) @echo "Build complete: $@" @file $@ %.o: %.c @echo "Compiling $<..." $(CC) $(CFLAGS) -c $< -o $@ $(LVGL_LIB): lvgl @echo "LVGL library ready" lvgl: @echo "Building LVGL library..." @$(MAKE) -C $(LVGL_DIR) -f ../Makefile.lvgl CC="$(CC)" AR="$(AR)" CFLAGS="$(CFLAGS)" clean: @echo "Cleaning..." rm -f $(OBJS) $(TARGET) rm -f $(LVGL_DIR)/*.o $(LVGL_LIB) @echo "Clean complete" help: @echo "D213ECV RISC-V Demo Build System" @echo "" @echo "Targets:" @echo " all - Build everything (default)" @echo " clean - Remove build artifacts" @echo " help - Show this help"