# 仅保留一次模块定义
obj-m += kx_sound_driver.o

# 合并所有需要的目标文件（必须包含kx_audio_modules.o）
kx_sound_driver-objs := kx_driver.o kx_compressor.o kx_audio_modules.o \
                       kx_pci.o kx_hw.o kx_eq.o kx_scr_plugin.o kx_adc.o kx_reverb.o kx_noise_reducer.o
# 编译选项（保持不变）
EXTRA_CFLAGS += -Wall -Wextra -Wno-unused-parameter

# 内核源码路径（保持不变）
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)

# 编译/安装/清理规则（保持不变）
default:
	$(MAKE) -C $(KERNELDIR) M=$(PWD) modules

install:
	# 1. 创建安装目录（如果不存在）
	install -d /media/qyxz/_dde_data/home/qyxz/kx/lib/modules/6.12.41-amd64-desktop-rolling/kernel/sound/pci/
	# 2. 安装 .ko 文件（替换成你实际的.ko文件名）
	install -m 644 kx_sound_driver.ko /media/qyxz/_dde_data/home/qyxz/kx/lib/modules/6.12.41-amd64-desktop-rolling/kernel/sound/pci/
	# 3. 可选：更新模块依赖（避免加载时找不到依赖）
	depmod -a
	@echo "模块安装成功！可通过 'modprobe kx_driver' 加载"

clean:
	$(MAKE) -C $(KERNELDIR) M=$(PWD) clean

uninstall:
	rm -f /lib/modules/$(shell uname -r)/kernel/sound/pci/kx_driver.ko
	depmod -a
	@echo "模块已卸载"