ifneq ($(src),)
export SOURCE ?= $(srctree)/$(src)
else
export SOURCE ?= $(abspath .)
endif
INC_DIRS :=
SRC_DIRS :=
SRC_FILES :=
OBJ_FILES :=
CFLAGS :=

include $(SOURCE)/config.mk

## source files
SRC_DIRS += $(SOURCE)/api
SRC_DIRS += $(SOURCE)/chip/jl11x1
SRC_DIRS += $(SOURCE)/chip/jl23x8
SRC_DIRS += $(SOURCE)/chip/jl2xx1
SRC_DIRS += $(SOURCE)/chip/jl4201
SRC_DIRS += $(SOURCE)/common
SRC_DIRS += $(SOURCE)/common/smi
SRC_DIRS += $(SOURCE)/kernel
SRC_DIRS += $(SOURCE)/probe
SRC_DIRS += $(SOURCE)/portable

SRC_FILES += $(foreach dir, $(SRC_DIRS), $(wildcard $(dir)/*.c))

## include directory
INC_DIRS += $(SRC_DIRS)
INC_DIRS += $(SOURCE)/include
INC_DIRS += $(SOURCE)/portable
CFLAGS += $(addprefix -I, $(INC_DIRS))

## object files
OBJ_FILES += $(patsubst $(SOURCE)/%.c, %.o, $(SRC_FILES))

## add ccflags
ccflags-y += $(CFLAGS) -DJLSEMI_PHY_KERNEL_DRIVER

#$(info CONFIG_BUILD_MODE = $(CONFIG_BUILD_MODE))

## module name
CONFIG_MODULE_NAME := jlsemi_phy

## module object files
$(CONFIG_MODULE_NAME)-$(CONFIG_BUILD_MODE) += $(OBJ_FILES)
obj-$(CONFIG_BUILD_MODE) += $(CONFIG_MODULE_NAME).o