2 # Copyright (C) 2006 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(INCLUDE_DIR
)/kernel-version.mk
13 LINUX_VERSION?
=<LINUX_VERSION
>
15 include $(INCLUDE_DIR
)/target.mk
17 export GCC_HONOUR_COPTS
=s
25 ifneq (,$(findstring uml
,$(BOARD
)))
29 KERNEL_CC
:=$(TARGET_CC
)
30 KERNEL_CROSS
:=$(TARGET_CROSS
)
33 PLATFORM_DIR
:= $(TOPDIR
)/target
/linux
/$(BOARD
)-$(KERNEL
)
34 PATCH_DIR ?
= .
/patches
$(shell [ -d
"./patches-$(KERNEL_PATCHVER)" ] && printf
-- "-$(KERNEL_PATCHVER)" || true
)
35 KERNEL_BUILD_DIR ?
= $(BUILD_DIR_BASE
)/linux-
$(KERNEL
)-$(BOARD
)$(if
$(BUILD_SUFFIX
),_
$(BUILD_SUFFIX
))
36 LINUX_DIR ?
= $(KERNEL_BUILD_DIR
)/linux-
$(LINUX_VERSION
)
38 MODULES_SUBDIR
:=lib
/modules
/$(LINUX_VERSION
)
39 TARGET_MODULES_DIR
:= $(LINUX_TARGET_DIR
)/$(MODULES_SUBDIR
)
41 LINUX_KERNEL
:=$(KERNEL_BUILD_DIR
)/vmlinux
43 LINUX_SOURCE
:=linux-
$(LINUX_VERSION
).
tar.bz2
44 TESTING
:=$(if
$(findstring -rc
,$(LINUX_VERSION
)),/testing
,)
45 LINUX_SITE
:=http
://www.us.kernel.org
/pub
/linux
/kernel
/v
$(KERNEL
)$(TESTING
) \
46 http
://www.us.kernel.org
/pub
/linux
/kernel
/v
$(KERNEL
)$(TESTING
) \
47 http
://www.kernel.org
/pub
/linux
/kernel
/v
$(KERNEL
)$(TESTING
) \
48 http
://www.de.kernel.org
/pub
/linux
/kernel
/v
$(KERNEL
)$(TESTING
)
50 PKG_BUILD_DIR ?
= $(KERNEL_BUILD_DIR
)/$(PKG_NAME
)-$(PKG_VERSION
)
52 GENERIC_PLATFORM_DIR
:= $(TOPDIR
)/target
/linux
/generic-
$(KERNEL
)
53 GENERIC_PATCH_DIR
:= $(GENERIC_PLATFORM_DIR
)/patches
$(shell [ -d
"$(GENERIC_PLATFORM_DIR)/patches-$(KERNEL_PATCHVER)" ] && printf
-- "-$(KERNEL_PATCHVER)" || true
)
56 define KernelPackage
/Defaults
64 mkdir
-p
$(2)/etc
/modules.d
; \
66 for mod in
$$$$$$$$2; do \
69 ) > $(2)/etc
/modules.d
/$$$$$$$$1-$(1); \
70 modules
="$$$$$$$${modules:+$$$$$$$$modules }$$$$$$$$1-$(1)"; \
73 if
[ -n
"$$$$$$$$modules" ]; then \
74 mkdir
-p
$(2)/etc
/modules.d
; \
75 echo
"#!/bin/sh" > $(2)/CONTROL
/postinst
; \
76 echo
"[ -z \"\$$$$$$$$IPKG_INSTROOT\" ] || exit 0" >> $(2)/CONTROL
/postinst
; \
77 echo
". /etc/functions.sh" >> $(2)/CONTROL
/postinst
; \
78 echo
"load_modules $$$$$$$$modules" >> $(2)/CONTROL
/postinst
; \
79 chmod
0755 $(2)/CONTROL
/postinst
; \
86 $(eval
$(call Package
/Default
))
87 $(eval
$(call KernelPackage
/Defaults
))
88 $(eval
$(call KernelPackage
/$(1)))
89 $(eval
$(call KernelPackage
/$(1)/$(KERNEL
)))
90 $(eval
$(call KernelPackage
/$(1)/$(BOARD
)-$(KERNEL
)))
92 define Package
/kmod-
$(1)
95 CATEGORY
:=Kernel modules
96 DESCRIPTION
:=$(DESCRIPTION
)
97 EXTRA_DEPENDS
:=kernel
(=$(LINUX_VERSION
)-$(BOARD
)-$(LINUX_RELEASE
))
98 $(call KernelPackage
/$(1))
99 $(call KernelPackage
/$(1)/$(KERNEL
))
100 $(call KernelPackage
/$(1)/$(BOARD
)-$(KERNEL
))
103 ifdef KernelPackage
/$(1)/description
104 define Package
/kmod-
$(1)/description
105 $(call KernelPackage
/$(1)/description
)
109 ifneq ($(if
$(KCONFIG
),$(filter m
,$(foreach c
,$(filter-out %=y
%=n
%=m
,$(KCONFIG
)),$($(c
)))),.
),)
110 ifneq ($(strip $(FILES
)),)
111 define Package
/kmod-
$(1)/install
112 mkdir
-p
$$(1)/lib
/modules
/$(LINUX_VERSION
)
113 $(CP
) -L
$$(FILES
) $$(1)/lib
/modules
/$(LINUX_VERSION
)/
114 $(call ModuleAutoLoad
,$(1),$$(1),$(AUTOLOAD
))
115 $(call KernelPackage
/$(1)/install,$$(1))
119 $$(eval
$$(call BuildPackage
,kmod-
$(1)))
121 $$(IPKG_kmod-
$(1)): $$(wildcard $$(FILES
))
125 add_module
$(1) "$(2)";