60 lines
1.2 KiB
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"
|