source: freewrt/mk/kernel-build.mk@ 88bdf69

Last change on this file since 88bdf69 was 88bdf69, checked in by Thorsten Glaser <tg@…>, 18 years ago

make linux builds verbose

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

  • Property mode set to 100644
File size: 4.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
7DISTFILES:= linux-$(LINUX_VERSION).tar.bz2
8MASTER_SITES= 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)/
12PKG_MD5SUM:= ${LINUX_KERNEL_MD5SUM}
13
14include ${TOPDIR}/mk/buildhlp.mk
15
16KERNEL_IDIR:=$(LINUX_BUILD_DIR)/kernel-ipkg
17
18$(LINUX_BUILD_DIR)/.extract: ${_CHECKSUM_COOKIE}
19 $(TRACE) target/linux/$(BOARD)-$(KERNEL)-kernel-prepare
20 test ! -e ${LINUX_BUILD_DIR}/linux-${LINUX_VERSION}/Rules.make || \
21 rm -rf ${LINUX_BUILD_DIR}
22 -mkdir -p $(LINUX_BUILD_DIR)
23 bzcat ${FULLDISTFILES} | (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 $(TRACE) target/linux/$(BOARD)-$(KERNEL)-kernel-patch
27 -[ -d ../generic-$(KERNEL)/patches ] && $(PATCH) $(LINUX_DIR) ../generic-$(KERNEL)/patches $(MAKE_TRACE)
28 -[ -d ../generic-${UNAME_R}/patches ] && $(PATCH) $(LINUX_DIR) ../generic-${UNAME_R}/patches $(MAKE_TRACE)
29 -[ -d ./patches ] && $(PATCH) $(LINUX_DIR) ./patches $(MAKE_TRACE)
30 -[ -d ./$(DEVICE)/patches ] && $(PATCH) $(LINUX_DIR) ./$(DEVICE)/patches $(MAKE_TRACE)
31 touch $@
32
33$(LINUX_DIR)/.config: $(LINUX_BUILD_DIR)/.extract $(BUILD_DIR)/.fwrtkernelconfig
34 $(TRACE) target/linux/$(BOARD)-$(KERNEL)-kernel-configure
35 $(CP) $(BUILD_DIR)/.fwrtkernelconfig $(LINUX_DIR)/.config
36ifeq ($(KERNEL),2.4)
37 $(SED) "s,^CROSS_COMPILE.*,CROSS_COMPILE=$(KERNEL_CROSS),g;" \
38 $(LINUX_DIR)/Makefile \
39 $(LINUX_DIR)/arch/*/Makefile
40 env GCC_HONOUR_COPTS=s $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_KARCH) CC="$(TARGET_CC)" oldconfig include/linux/compile.h include/linux/version.h $(MAKE_TRACE)
41 env GCC_HONOUR_COPTS=s $(MAKE) -C $(LINUX_DIR) CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) CC="$(TARGET_CC)" dep $(MAKE_TRACE)
42else
43 echo N | env GCC_HONOUR_COPTS=s $(MAKE) -C $(LINUX_DIR) CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) CC="$(TARGET_CC)" oldconfig $(MAKE_TRACE)
44 env GCC_HONOUR_COPTS=s $(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) CC="$(TARGET_CC)" prepare scripts $(MAKE_TRACE)
45endif
46 touch -c $(LINUX_DIR)/.config
47
48$(LINUX_DIR)/vmlinux: $(LINUX_DIR)/.config
49 $(TRACE) target/linux/$(BOARD)-$(KERNEL)-kernel-compile
50 env GCC_HONOUR_COPTS=s $(MAKE) -C $(LINUX_DIR) V=1 CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) CC="$(TARGET_CC)" $(MAKE_TRACE)
51 $(TRACE) target/linux/$(BOARD)-$(KERNEL)-modules-compile
52 env GCC_HONOUR_COPTS=s $(MAKE) -C "$(LINUX_DIR)" V=1 CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) CC="$(TARGET_CC)" modules $(MAKE_TRACE)
53 $(TRACE) target/linux/$(BOARD)-$(KERNEL)-modules-install
54 rm -rf $(LINUX_BUILD_DIR)/modules
55 env GCC_HONOUR_COPTS=s $(MAKE) -C "$(LINUX_DIR)" V=1 CROSS_COMPILE="$(KERNEL_CROSS)" DEPMOD=true INSTALL_MOD_PATH=$(LINUX_BUILD_DIR)/modules modules_install $(MAKE_TRACE)
56 $(TRACE) target/linux/$(BOARD)-$(KERNEL)-create-packages
57 -mkdir $(BUILD_DIR)/kmod-control
58 env GCC_HONOUR_COPTS=s $(MAKE) $(KERNEL_IPKG) $(TARGETS) $(MAKE_TRACE)
59 touch -c $(LINUX_DIR)/vmlinux
60
61$(LINUX_KERNEL): $(LINUX_DIR)/vmlinux
62 $(TRACE) target/linux/$(BOARD)-$(KERNEL)-kernel-strip
63ifeq ($(KERNEL),2.4)
64ifeq ($(BOARD),brcm)
65ifneq ($(FS),nfs)
66 $(TARGET_CROSS)objcopy -O binary -R .reginfo -R .note -R .comment -R .mdebug -S $< $@ $(MAKE_TRACE)
67else
68 $(TARGET_CROSS)objcopy -R .reginfo -R .note -R .comment -R .mdebug -S $< $@ $(MAKE_TRACE)
69endif
70else
71 $(TARGET_CROSS)objcopy -R .reginfo -R .note -R .comment -R .mdebug -S $< $@ $(MAKE_TRACE)
72endif
73endif
74
75$(KERNEL_IPKG):
76 $(TRACE) target/linux/$(BOARD)-$(KERNEL)-$(DEVICE)-$(FS)-create-kernel-package
77 rm -rf $(KERNEL_IDIR)
78 mkdir -p $(KERNEL_IDIR)/etc
79 ${MBSH} ${SCRIPT_DIR}/make-ipkg-dir.sh ${KERNEL_IDIR} \
80 ../kernel.control ${BOARD}-${KERNEL}-${LINUX_VERSION} ${ARCH}
81 $(IPKG_BUILD) $(KERNEL_IDIR) $(PACKAGE_DIR) $(MAKE_TRACE)
82
83prepare:
84compile: $(LINUX_KERNEL)
85
86install: compile
87 env GCC_HONOUR_COPTS=s $(MAKE) $(KPKG_MAKEOPTS) $(LINUX_KERNEL) $(MAKE_TRACE)
88 $(TRACE) target/linux/$(BOARD)-$(KERNEL)-modules-install
89 rm -rf ${LINUX_BUILD_DIR}/root*
90 cd ${BUILD_DIR} && pax -rw -pe root ${LINUX_BUILD_DIR}/
91 printf '%s\n%s\n' 'dest root /' \
92 'option offline_root $(LINUX_BUILD_DIR)/root' \
93 >$(LINUX_BUILD_DIR)/ipkg.conf
94ifneq ($(strip $(INSTALL_TARGETS)),)
95 $(IPKG_KERNEL) install $(INSTALL_TARGETS) $(MAKE_TRACE)
96endif
97
98clean:
99 rm -rf $(LINUX_BUILD_DIR)
100 rm -f $(TARGETS)
Note: See TracBrowser for help on using the repository browser.