add modules.d to kernel modules
[openwrt-10.03/.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 ifneq ($(6),)
33         mkdir -p $$(I_$(1))/etc/modules.d
34         for module in $(7); do \
35                 echo $$$$module >> $$(I_$(1))/etc/modules.d/$(6)-$(2); \
36         done
37 endif
38         $(8)
39         $(IPKG_BUILD) $$(I_$(1)) $(PACKAGE_DIR)
40
41 endef