
ifeq ($(MAKELEVEL),0)
export BASE_DIR:=$(realpath $(dir $(MAKEFILE_LIST)))/
endif
include $(BASE_DIR)helper.mk

BOARD ?= cx311h
MODULE_NAME ?= $(BOARD)
UTILS_DIR := $(BASE_DIR)utils/

ifdef CONFIG_64BIT
lib_file:=../AverMediaLib_64.a
else
lib_file:=../AverMediaLib.a
endif

basic-objs := entry.o cxt_mgr.o images.o
utils := $(call dirs, $(UTILS_DIR))
utils_src := $(call rpath, $(foreach util, $(utils), $(call list_files_from_file, $(UTILS_DIR)$(util)SOURCE)))
utils_objs := $(patsubst %.c, %.o, $(utils_src))
utils_inc := $(foreach util, $(utils), $(addprefix -I, $(UTILS_DIR)$(util)include))

common-include-dir := $(BASE_DIR)include
common-include := $(addprefix -I, $(common-include-dir))
common-include += $(utils_inc)

$(MODULE_NAME)-objs += $(basic-objs)
$(MODULE_NAME)-objs += $(utils_objs)
$(MODULE_NAME)-objs += $(lib_file)

#$(call add_cflags, $(MODULE_NAME)-objs, common-include)

EXTRA_CFLAGS += $(common-include)
EXTRA_LDFLAGS += --whole-archive

obj-m += $(MODULE_NAME).o

all:
	make -C $(KDIR) SUBDIRS=$(BASE_DIR) modules

clean:
	$(MAKE) -C $(KDIR) M=$(BASE_DIR) clean

.PHONY: all clean

