source: freewrt/mk/kernel-build.mk@ fe8c8c9

Last change on this file since fe8c8c9 was b9492d5, checked in by Phil Sutter <n0-1@…>, 19 years ago

merged from branches/common-adk 1310:1685

the following packages are not converted yet:

  • alsa
  • asterisk
  • pmacct
  • zaptel
  • elinks
  • libgd
  • lua
  • mypackage
  • openser
  • php*
  • snort*
  • tmsnc

additionally, freeradius doesn't compile.

happy fixing :P

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

  • Property mode set to 100644
File size: 5.6 KB
Line 
1# $FreeWRT$
2#-
3# This file is part of the FreeWRT project. FreeWRT is copyrighted
4# material, please see the LICENCE file in the top-level directory
5# or at http://www.freewrt.org/licence for details.
6
7LINUX_SOURCE:=linux-$(LINUX_VERSION).tar.bz2
8LINUX_SITE=http://www.us.kernel.org/pub/linux/kernel/v$(KERNEL) \
9 http://www.us.kernel.org/pub/linux/kernel/v$(KERNEL) \
10 http://www.kernel.org/pub/linux/kernel/v$(KERNEL) \
11 http://www.de.kernel.org/pub/linux/kernel/v$(KERNEL)
12
13KERNEL_IDIR:=$(LINUX_BUILD_DIR)/kernel-ipkg
14
15$(DL_DIR)/$(LINUX_SOURCE):
16 -mkdir -p $(DL_DIR)
17 @$(TRACE) target/linux/$(BOARD)-$(KERNEL)-kernel-download
18 $(SCRIPT_DIR)/download.pl $(DL_DIR) $(LINUX_SOURCE) $(LINUX_KERNEL_MD5SUM) $(LINUX_SITE) $(MAKE_TRACE)
19
20$(LINUX_DIR)/.unpacked: $(DL_DIR)/$(LINUX_SOURCE)
21 @$(TRACE) target/linux/$(BOARD)-$(KERNEL)-kernel-prepare
22 -mkdir -p $(LINUX_BUILD_DIR)
23 bzcat $(DL_DIR)/$(LINUX_SOURCE) | (cd $(LINUX_BUILD_DIR); tar xf - )
24 rm -f $(BUILD_DIR)/linux
25 ln -s $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION) $(BUILD_DIR)/linux
26 touch $@
27
28$(LINUX_DIR)/.patched: $(LINUX_DIR)/.unpacked
29 @$(TRACE) target/linux/$(BOARD)-$(KERNEL)-kernel-patch
30 -[ -d ../generic-$(KERNEL)/patches ] && $(PATCH) $(LINUX_DIR) ../generic-$(KERNEL)/patches $(MAKE_TRACE)
31 -[ -d ./patches ] && $(PATCH) $(LINUX_DIR) ./patches $(MAKE_TRACE)
32 -[ -d ./$(DEVICE)/patches ] && $(PATCH) $(LINUX_DIR) ./$(DEVICE)/patches $(MAKE_TRACE)
33ifeq ($(FS),squashfs-overlay)
34ifneq ($(strip $(DEVICECONFIG)),)
35 $(CP) $(DEVICE)/config/config.squashfs_overlay $(LINUX_DIR)/.config
36else
37 $(CP) $(FS)/config/config.squashfs_overlay $(LINUX_DIR)/.config
38endif
39endif
40ifeq ($(FS),squashfs-symlinks)
41ifneq ($(strip $(DEVICECONFIG)),)
42 $(CP) $(DEVICE)/config/config.squashfs_symlinks $(LINUX_DIR)/.config
43else
44 $(CP) $(FS)/config/config.squashfs_symlinks $(LINUX_DIR)/.config
45endif
46endif
47ifeq ($(FS),jffs2)
48ifneq ($(strip $(DEVICECONFIG)),)
49 $(CP) $(DEVICE)/config/config.jffs2 $(LINUX_DIR)/.config
50else
51 $(CP) $(FS)/config/config.jffs2 $(LINUX_DIR)/.config
52endif
53endif
54ifeq ($(FS),nfs)
55ifneq ($(strip $(DEVICECONFIG)),)
56 $(CP) $(DEVICE)/config/config.nfs $(LINUX_DIR)/.config
57else
58 $(CP) $(FS)/config/config.nfs $(LINUX_DIR)/.config
59endif
60endif
61ifeq ($(FS),ext2-cf)
62ifneq ($(strip $(DEVICECONFIG)),)
63 $(CP) $(DEVICE)/config/config.ext2 $(LINUX_DIR)/.config
64else
65 $(CP) $(FS)/config/config.ext2 $(LINUX_DIR)/.config
66endif
67endif
68ifeq ($(FS),yaffs2)
69ifneq ($(strip $(DEVICECONFIG)),)
70 $(CP) $(DEVICE)/config/config.yaffs2 $(LINUX_DIR)/.config
71else
72 $(CP) $(FS)/config/config.yaffs2 $(LINUX_DIR)/.config
73endif
74endif
75 touch $@
76
77ifeq ($(KERNEL),2.4)
78$(LINUX_DIR)/.configured: $(LINUX_DIR)/.patched
79 @$(TRACE) target/linux/$(BOARD)-$(KERNEL)-kernel-configure
80 $(SED) "s,^CROSS_COMPILE.*,CROSS_COMPILE=$(KERNEL_CROSS),g;" \
81 $(LINUX_DIR)/Makefile \
82 $(LINUX_DIR)/arch/*/Makefile
83 $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_KARCH) oldconfig include/linux/compile.h include/linux/version.h $(MAKE_TRACE)
84 $(MAKE) -C $(LINUX_DIR) CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) dep $(MAKE_TRACE)
85 touch $@
86else
87$(LINUX_DIR)/.configured: $(LINUX_DIR)/.patched
88 @$(TRACE) target/linux/$(BOARD)-$(KERNEL)-kernel-configure
89 $(MAKE) -C $(LINUX_DIR) CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) oldconfig prepare scripts $(MAKE_TRACE)
90 touch $@
91endif
92
93$(LINUX_DIR)/vmlinux: $(LINUX_DIR)/.configured
94 @$(TRACE) target/linux/$(BOARD)-$(KERNEL)-kernel-compile
95 $(MAKE) -C $(LINUX_DIR) CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) PATH=$(TARGET_PATH) $(MAKE_TRACE)
96
97$(LINUX_KERNEL): $(LINUX_DIR)/vmlinux
98 @$(TRACE) target/linux/$(BOARD)-$(KERNEL)-kernel-strip
99ifeq ($(BOARD),brcm)
100 $(TARGET_CROSS)objcopy -O binary -R .reginfo -R .note -R .comment -R .mdebug -S $< $@ $(MAKE_TRACE)
101else
102 $(TARGET_CROSS)objcopy -R .reginfo -R .note -R .comment -R .mdebug -S $< $@ $(MAKE_TRACE)
103endif
104 touch -c $(LINUX_KERNEL)
105
106$(LINUX_DIR)/.modules-compile:
107 @$(TRACE) target/linux/$(BOARD)-$(KERNEL)-modules-compile
108 $(MAKE) -C "$(LINUX_DIR)" CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) PATH="$(TARGET_PATH)" modules $(MAKE_TRACE)
109 touch $@
110
111$(LINUX_DIR)/.modules-install: $(LINUX_DIR)/.modules-compile
112 @$(TRACE) target/linux/$(BOARD)-$(KERNEL)-modules-install
113 rm -rf $(LINUX_BUILD_DIR)/modules
114 $(MAKE) -C "$(LINUX_DIR)" CROSS_COMPILE="$(KERNEL_CROSS)" DEPMOD=true INSTALL_MOD_PATH=$(LINUX_BUILD_DIR)/modules modules_install $(MAKE_TRACE)
115 touch $@
116
117$(LINUX_DIR)/.linux-compile: $(LINUX_KERNEL) $(LINUX_DIR)/.modules-install
118 @$(TRACE) target/linux/$(BOARD)-$(KERNEL)-create-packages
119 @$(MAKE) $(KERNEL_IPKG) $(TARGETS) $(MAKE_TRACE)
120 touch $@
121
122$(KERNEL_IPKG):
123 @$(TRACE) target/linux/$(BOARD)-$(KERNEL)-$(DEVICE)-$(FS)-create-kernel-package
124 rm -rf $(KERNEL_IDIR)
125 mkdir -p $(KERNEL_IDIR)/etc
126 $(SCRIPT_DIR)/make-ipkg-dir.sh $(KERNEL_IDIR) ../control/kernel.control $(BOARD)-$(KERNEL)-$(LINUX_VERSION) $(ARCH)
127 $(IPKG_BUILD) $(KERNEL_IDIR) $(PACKAGE_DIR) $(MAKE_TRACE)
128
129
130prepare:
131 -mkdir -p $(PACKAGE_DIR)
132
133compile: prepare $(LINUX_DIR)/.linux-compile
134compile-kernel: prepare $(LINUX_KERNEL)
135
136install: compile
137 $(MAKE) $(KPKG_MAKEOPTS) $(LINUX_KERNEL) $(MAKE_TRACE)
138 @$(TRACE) target/linux/$(BOARD)-$(KERNEL)-modules-install
139 @rm -rf $(LINUX_BUILD_DIR)/root*
140 @$(CP) $(BUILD_DIR)/root $(LINUX_BUILD_DIR)/
141 echo -e 'dest root /\noption offline_root $(LINUX_BUILD_DIR)/root' > $(LINUX_BUILD_DIR)/ipkg.conf
142ifneq ($(strip $(INSTALL_TARGETS)),)
143 $(IPKG_KERNEL) install $(INSTALL_TARGETS) $(MAKE_TRACE)
144endif
145
146rebuild:
147 @$(TRACE) target/linux/$(BOARD)-$(KERNEL)-rebuild
148 rm -rf $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION)
149 rm -f $(TARGETS)
150 $(MAKE) compile $(MAKE_TRACE)
151
152clean:
153 rm -rf $(LINUX_BUILD_DIR)
154 rm -f $(TARGETS)
155
Note: See TracBrowser for help on using the repository browser.