15.6_demo/Makefile

60 lines
1.2 KiB
Makefile

# 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"