add board tag to kernel module version and add versioned depend (does not work with...
[openwrt.git] / target / linux / rules.mk
1 define KMOD_template
2 ifeq ($$(strip $(4)),)
3 KDEPEND_$(1):=m
4 else
5 KDEPEND_$(1):=$($(4))
6 endif
7
8 ifeq ($$(strip $(5)),)
9 IDEPEND_$(1):=kernel ($(LINUX_VERSION)-$(BOARD)-$(PKG_RELEASE))
10 else
11 IDEPEND_$(1):=kernel ($(LINUX_VERSION)-$(BOARD)-$(PKG_RELEASE)), $(5)
12 endif
13
14 PKG_$(1) := $(PACKAGE_DIR)/kmod-$(2)_$(LINUX_VERSION)-$(BOARD)-$(PKG_RELEASE)_$(ARCH).ipk
15 I_$(1) := $(PKG_BUILD_DIR)/ipkg/$(2)
16
17 ifeq ($$(KDEPEND_$(1)),m)
18 ifneq ($(BR2_PACKAGE_KMOD_$(1)),)
19 TARGETS += $$(PKG_$(1))
20 endif
21 ifeq ($(BR2_PACKAGE_KMOD_$(1)),y)
22 INSTALL_TARGETS += $$(PKG_$(1))
23 endif
24 endif
25
26 $$(PKG_$(1)): $(LINUX_DIR)/.modules_done
27         rm -rf $$(I_$(1))
28         mkdir -p $$(I_$(1))/lib/modules/$(LINUX_VERSION)
29         $(SCRIPT_DIR)/make-ipkg-dir.sh $$(I_$(1)) ../control/kmod-$(2).control $(LINUX_VERSION)-$(BOARD)-$(PKG_RELEASE) $(ARCH)
30         echo "Depends: $$(IDEPEND_$(1))" >> $$(I_$(1))/CONTROL/control
31         cp $(3) $$(I_$(1))/lib/modules/$(LINUX_VERSION)
32         $(IPKG_BUILD) $$(I_$(1)) $(PACKAGE_DIR)
33
34 endef