export LC_ALL=C SHELL:=/bin/bash CURRENT_DIR := $(shell pwd) RK_SDK_BASE ?= /opt/jetkvm-native-buildkit RK_APP_CROSS := $(RK_SDK_BASE)/bin/arm-rockchip830-linux-uclibcgnueabihf RK_MEDIA_OUTPUT := $(RK_SDK_BASE)/arm-rockchip830-linux-uclibcgnueabihf RK_MEDIA_INCLUDE_PATH := $(RK_MEDIA_OUTPUT)/include RK_APP_MEDIA_LIBS_PATH := $(RK_MEDIA_OUTPUT)/lib RK_APP_LDFLAGS = -L $(RK_APP_MEDIA_LIBS_PATH) -lpthread -lrockit -lrockchip_mpp -lrga LVGL_DIR_NAME ?= lvgl LVGL_DIR ?= . CC = $(RK_APP_CROSS)-gcc CFLAGS = -I $(RK_MEDIA_INCLUDE_PATH) -I $(RK_MEDIA_INCLUDE_PATH)/libdrm -I$(LVGL_DIR)/ -I./ui LDFLAGS ?= -L $(RK_APP_MEDIA_LIBS_PATH) -lpthread -lrockit -lrockchip_mpp -lrga -lm -O3 -g0 BIN = jetkvm_native #Collect the files to compile MAINSRC = $(wildcard ./*.c ./ui/*.c) BUILD_DIR = ./build BUILD_OBJ_DIR = $(BUILD_DIR)/obj BUILD_BIN_DIR = $(BUILD_DIR)/bin include $(LVGL_DIR)/lvgl/lvgl.mk include $(LVGL_DIR)/lv_drivers/lv_drivers.mk OBJEXT ?= .o AOBJS = $(ASRCS:.S=$(OBJEXT)) COBJS = $(CSRCS:.c=$(OBJEXT)) MAINOBJ = $(MAINSRC:.c=$(OBJEXT)) SRCS = $(ASRCS) $(CSRCS) $(MAINSRC) OBJS = $(AOBJS) $(COBJS) $(MAINOBJ) TARGET = $(addprefix $(BUILD_OBJ_DIR)/, $(patsubst ./%, %, $(OBJS))) all: default $(BUILD_OBJ_DIR)/%.o: %.c @mkdir -p $(dir $@) @$(CC) $(CFLAGS) -c $< -o $@ @echo "CC $<" default: $(TARGET) @mkdir -p $(dir $(BUILD_BIN_DIR)/) $(CC) -o $(BUILD_BIN_DIR)/$(BIN) $(TARGET) $(LDFLAGS) clean: @echo "clean" @rm -rf build