summaryrefslogtreecommitdiffstats
path: root/package/kmod/kmod.mk
diff options
context:
space:
mode:
Diffstat (limited to 'package/kmod/kmod.mk')
-rw-r--r--package/kmod/kmod.mk26
1 files changed, 26 insertions, 0 deletions
diff --git a/package/kmod/kmod.mk b/package/kmod/kmod.mk
index f71087c65..55cbdbbfd 100644
--- a/package/kmod/kmod.mk
+++ b/package/kmod/kmod.mk
@@ -4,4 +4,30 @@ KMOD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kmod/
KMOD_INSTALL_STAGING = YES
KMOD_DEPENDENCIES = host-pkg-config
+ifeq ($(BR2_PACKAGE_ZLIB),y)
+KMOD_DEPENDENCIES += zlib
+KMOD_CONF_OPT += --with-zlib
+endif
+
+ifeq ($(BR2_PACKAGE_XZ),y)
+KMOD_DEPENDENCIES += xz
+KMOD_CONF_OPT += --with-xz
+endif
+
+ifeq ($(BR2_PACKAGE_KMOD_TOOLS),y)
+# take precedence over busybox / module-init-tools implementations
+KMOD_DEPENDENCIES += \
+ $(if $(BR2_PACKAGE_BUSYBOX),busybox) \
+ $(if $(BR2_PACKAGE_MODULE_INIT_TOOLS),module-init-tools)
+
+define KMOD_INSTALL_TOOLS
+ for i in depmod insmod lsmod modinfo modprobe rmmod; \
+ do ln -sf ../usr/bin/kmod $(TARGET_DIR)/sbin/$$i; done
+endef
+
+KMOD_POST_INSTALL_TARGET_HOOKS += KMOD_INSTALL_TOOLS
+else
+KMOD_CONF_OPT += --disable-tools
+endif
+
$(eval $(call AUTOTARGETS))