#
# Makefile
#
#编译器
CC = aarch64-linux-gnu-gcc
#当前项目目录
VIDEO_DIR ?= ${shell pwd}
#所需头文件路径
CFLAGS = -Wall -O2 -g -I./include/drm/ -I./include/mpp -I./src/ -I./ui/ -I./ui/src -I./ui/lv_drivers/display/
#所需的库
LDFLAGS = -L./lib -lrockchip_mpp -lpthread -lrt -lm -ldrm
#生成的可执行文件
TARGET = video_test
#需要编译的源文件
MAINSRC = ./main.c
include $(VIDEO_DIR)/ui/ui.mk
include $(VIDEO_DIR)/src/src.mk
COBJS = $(CSRCS:.c=.o)
MAINOBJ = $(MAINSRC:.c=.o)
SRCS = $(CSRCS) $(MAINSRC)
#.o文件存放路径
OBJ_DIR := $(VIDEO_DIR)/obj
#以下操作开始编译,并把.o放到指定位置
CXX_OBJCTS = $(patsubst %.c, $(OBJ_DIR)/%.o, $(notdir $(SRCS)))
SOURSE_DIR = $(dir $(SRCS))
vpath %.c $(SOURSE_DIR)
all: default
$(OBJ_DIR)/%.o: %.c
@$(CC) $(CFLAGS) -c $< -o $@
@echo "CC $<"
default: $(CXX_OBJCTS)
$(CC) -o $(TARGET) $(CXX_OBJCTS) $(CFLAGS) $(LDFLAGS)
clean:
rm -f $(TARGET) $(CXX_OBJCTS)
此文件编译出来的.o文件全部存放在obj文件夹下,需要自行创建obj文件夹,否则无法正使用