LOCAL_ARCH := $(ARCH)
LOCAL_KDIR := $(KDIR)
LOCAL_CROSS_COMPILE := $(CROSS_COMPILE)
LOCAL_PATH := $(shell dirname $(lastword $(MAKEFILE_LIST)))

obj-m += control.o

# Build C4 connection/LUT only; keep aml_c3_*.c in tree but out of the link.
TUNING_C3_EXCLUDE := $(LOCAL_PATH)/src/aml_c3_connection.c $(LOCAL_PATH)/src/aml_c3_lut.c

DRV_SRC := $(wildcard $(LOCAL_PATH)/*.c) \
			$(filter-out $(TUNING_C3_EXCLUDE),$(wildcard $(LOCAL_PATH)/src/*.c))
# module_init/exit lives here; explicit + $(sort) avoids duplicate if also matched by wildcard
DRV_SRC := $(sort $(DRV_SRC) $(LOCAL_PATH)/src/aml_ctrl_init.c)

M_DRV_SRC := $(DRV_SRC:$(LOCAL_PATH)/%=%)
DRV_SRC_OBJ := $(M_DRV_SRC:.c=.o)

ccflags-y := -I$(PWD)/ -I$(PWD)/include -Wno-implicit-fallthrough

ccflags-y += -Wno-unused-function
ccflags-y += -Wno-unused-variable
ccflags-y += -Wno-declaration-after-statement

control-objs := $(DRV_SRC_OBJ)

all:
	make ARCH=$(LOCAL_ARCH) CROSS_COMPILE=$(LOCAL_CROSS_COMPILE) -C $(LOCAL_KDIR)  M=$(PWD) modules

clean:
	make ARCH=$(LOCAL_ARCH) CROSS_COMPILE=$(LOCAL_CROSS_COMPILE) -C $(LOCAL_KDIR)  M=$(PWD) clean






