source: freewrt/target/linux/rules.mk@ 475ad56

freewrt_1_0 freewrt_2_0
Last change on this file since 475ad56 was 475ad56, checked in by Waldemar Brodkorb <wbx@…>, 20 years ago

add OpenWrt trunk revision 3830.

git-svn-id: svn://www.freewrt.org/trunk/freewrt@1 afb5a338-a214-0410-bd46-81f09a774fd1

  • Property mode set to 100644
File size: 2.7 KB
Line 
1KERNEL:=unknown
2ifneq (,$(findstring 2.4.,$(LINUX_VERSION)))
3KERNEL:=2.4
4endif
5ifneq (,$(findstring 2.6.,$(LINUX_VERSION)))
6KERNEL:=2.6
7endif
8
9MODULES_SUBDIR:=lib/modules/$(LINUX_VERSION)
10
11LINUX_BUILD_DIR:=$(BUILD_DIR)/linux-$(KERNEL)-$(BOARD)
12LINUX_DIR := $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION)
13LINUX_KERNEL:=$(LINUX_BUILD_DIR)/vmlinux
14
15LINUX_TARGET_DIR:=$(LINUX_BUILD_DIR)/root
16IPKG_KERNEL:=IPKG_TMP=$(BUILD_DIR)/tmp IPKG_INSTROOT=$(LINUX_TARGET_DIR) IPKG_CONF_DIR=$(LINUX_BUILD_DIR) $(SCRIPT_DIR)/ipkg -force-defaults -force-depends
17
18LINUX_KARCH:=$(shell echo $(ARCH) | sed -e 's/i[3-9]86/i386/' \
19 -e 's/mipsel/mips/' \
20 -e 's/mipseb/mips/' \
21 -e 's/powerpc/ppc/' \
22 -e 's/sh[234]/sh/' \
23 -e 's/armeb/arm/' \
24)
25
26KPKG_MAKEOPTS:= IPKG="$(IPKG_KERNEL)" \
27 BOARD="$(BOARD)" \
28 KERNEL="$(KERNEL)" \
29 TARGET_DIR="$(LINUX_TARGET_DIR)" \
30 LINUX_BUILD_DIR="$(LINUX_BUILD_DIR)" \
31 LINUX_DIR="$(LINUX_DIR)" \
32 LINUX_VERSION="$(LINUX_VERSION)" \
33 LINUX_RELEASE="$(LINUX_RELEASE)"
34
35KMOD_BUILD_DIR := $(LINUX_BUILD_DIR)/linux-modules
36MODULES_DIR := $(LINUX_BUILD_DIR)/modules/$(MODULES_SUBDIR)
37TARGET_MODULES_DIR := $(LINUX_TARGET_DIR)/$(MODULES_SUBDIR)
38
39ifeq ($(KERNEL),2.6)
40LINUX_KMOD_SUFFIX=ko
41else
42LINUX_KMOD_SUFFIX=o
43endif
44
45define KMOD_template
46ifeq ($$(strip $(4)),)
47KDEPEND_$(1):=m
48else
49KDEPEND_$(1):=$($(4))
50endif
51
52IDEPEND_$(1):=kernel ($(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE)) $(foreach pkg,$(5),", $(pkg)")
53
54PKG_$(1) := $(PACKAGE_DIR)/kmod-$(2)_$(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE)_$(ARCH).ipk
55I_$(1) := $(KMOD_BUILD_DIR)/ipkg/$(2)
56
57ifeq ($$(KDEPEND_$(1)),m)
58ifneq ($(BR2_PACKAGE_KMOD_$(1)),)
59TARGETS += $$(PKG_$(1))
60endif
61ifeq ($(BR2_PACKAGE_KMOD_$(1)),y)
62INSTALL_TARGETS += $$(PKG_$(1))
63endif
64endif
65
66$$(PKG_$(1)): $(LINUX_DIR)/.modules_done
67 rm -rf $$(I_$(1))
68 $(SCRIPT_DIR)/make-ipkg-dir.sh $$(I_$(1)) ../control/kmod-$(2).control $(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE) $(ARCH)
69 echo "Depends: $$(IDEPEND_$(1))" >> $$(I_$(1))/CONTROL/control
70ifneq ($(strip $(3)),)
71 mkdir -p $$(I_$(1))/lib/modules/$(LINUX_VERSION)
72 $(CP) $(3) $$(I_$(1))/lib/modules/$(LINUX_VERSION)
73endif
74ifneq ($(6),)
75 mkdir -p $$(I_$(1))/etc/modules.d
76 for module in $(7); do \
77 echo $$$$module >> $$(I_$(1))/etc/modules.d/$(6)-$(2); \
78 done
79 echo "#!/bin/sh" >> $$(I_$(1))/CONTROL/postinst
80 echo "[ -z \"\$$$$IPKG_INSTROOT\" ] || exit" >> $$(I_$(1))/CONTROL/postinst
81 echo ". /etc/functions.sh" >> $$(I_$(1))/CONTROL/postinst
82 echo "load_modules /etc/modules.d/$(6)-$(2)" >> $$(I_$(1))/CONTROL/postinst
83 chmod 0755 $$(I_$(1))/CONTROL/postinst
84endif
85 $(8)
86 $(IPKG_BUILD) $$(I_$(1)) $(PACKAGE_DIR) $(MAKE_TRACE)
87
88endef
89
90KERNEL_IPKG:=$(LINUX_BUILD_DIR)/kernel_$(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE)_$(ARCH).ipk
91INSTALL_TARGETS := $(KERNEL_IPKG)
92TARGETS :=
93
Note: See TracBrowser for help on using the repository browser.