source: freewrt/target/linux/kernel.mk@ a3abab6

freewrt_1_0 freewrt_2_0
Last change on this file since a3abab6 was 918291b, checked in by Thorsten Glaser <tg@…>, 19 years ago

remove more dead code, and fix my fix to gcom's Makefile...
of course you set WRKSRC not WRKBUILD

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

  • Property mode set to 100644
File size: 4.2 KB
Line 
1LINUX_SOURCE:=linux-$(LINUX_VERSION).tar.bz2
2LINUX_SITE=http://www.us.kernel.org/pub/linux/kernel/v$(KERNEL) \
3 http://www.us.kernel.org/pub/linux/kernel/v$(KERNEL) \
4 http://www.kernel.org/pub/linux/kernel/v$(KERNEL) \
5 http://www.de.kernel.org/pub/linux/kernel/v$(KERNEL)
6
7KERNEL_IDIR:=$(LINUX_BUILD_DIR)/kernel-ipkg
8
9$(TARGETS): $(PACKAGE_DIR)
10
11$(PACKAGE_DIR):
12 @mkdir -p $(PACKAGE_DIR)
13
14$(DL_DIR)/$(LINUX_SOURCE):
15 -mkdir -p $(DL_DIR)
16 $(SCRIPT_DIR)/download.pl $(DL_DIR) $(LINUX_SOURCE) $(LINUX_KERNEL_MD5SUM) $(LINUX_SITE) $(MAKE_TRACE)
17
18$(LINUX_DIR)/.unpacked: $(DL_DIR)/$(LINUX_SOURCE)
19 -mkdir -p $(LINUX_BUILD_DIR)
20 bzcat $(DL_DIR)/$(LINUX_SOURCE) | (cd $(LINUX_BUILD_DIR); tar xf - )
21 rm -f $(BUILD_DIR)/linux
22 ln -s $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION) $(BUILD_DIR)/linux
23 touch $@
24
25ifeq ($(KERNEL),2.4)
26$(LINUX_DIR)/.configured: $(LINUX_DIR)/.patched
27 $(SED) "s,^CROSS_COMPILE.*,CROSS_COMPILE=$(KERNEL_CROSS),g;" \
28 $(LINUX_DIR)/Makefile \
29 $(LINUX_DIR)/arch/*/Makefile
30 $(MAKE) -C $(LINUX_DIR) ARCH=$(LINUX_KARCH) oldconfig include/linux/compile.h include/linux/version.h $(MAKE_TRACE)
31 touch $@
32
33$(LINUX_DIR)/.depend_done: $(LINUX_DIR)/.configured
34 $(MAKE) -C $(LINUX_DIR) CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) dep $(MAKE_TRACE)
35 touch $@
36
37$(LINUX_DIR)/vmlinux: $(LINUX_DIR)/.depend_done
38else
39$(LINUX_DIR)/.configured: $(LINUX_DIR)/.patched
40 $(MAKE) -C $(LINUX_DIR) CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) oldconfig prepare scripts $(MAKE_TRACE)
41 touch $@
42endif
43
44$(LINUX_DIR)/vmlinux: $(STAMP_DIR)/.linux-compile
45 $(MAKE) -C $(LINUX_DIR) CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) PATH=$(TARGET_PATH) $(MAKE_TRACE)
46
47$(LINUX_KERNEL): $(LINUX_DIR)/vmlinux
48 $(TARGET_CROSS)objcopy -O binary -R .reginfo -R .note -R .comment -R .mdebug -S $< $@ $(MAKE_TRACE)
49 touch -c $(LINUX_KERNEL)
50
51$(LINUX_DIR)/.modules_done:
52 rm -rf $(LINUX_BUILD_DIR)/modules
53 $(MAKE) -C "$(LINUX_DIR)" CROSS_COMPILE="$(KERNEL_CROSS)" ARCH=$(LINUX_KARCH) PATH="$(TARGET_PATH)" modules $(MAKE_TRACE)
54 $(MAKE) -C "$(LINUX_DIR)" CROSS_COMPILE="$(KERNEL_CROSS)" DEPMOD=true INSTALL_MOD_PATH=$(LINUX_BUILD_DIR)/modules modules_install $(MAKE_TRACE)
55 touch $(LINUX_DIR)/.modules_done
56
57$(STAMP_DIR)/.linux-compile:
58 @$(MAKE) $(LINUX_DIR)/.modules_done $(TARGETS) $(KERNEL_IPKG) $(MAKE_TRACE)
59 ln -sf $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION) $(BUILD_DIR)/linux $(MAKE_TRACE)
60 @$(TRACE) target/linux/package-compile
61 $(MAKE) -C $(TOPDIR)/target/linux/package \
62 $(KPKG_MAKEOPTS) \
63 compile
64 touch $@
65
66.PHONY: pkg-install
67pkg-install:
68 @mkdir -p $(TARGET_MODULES_DIR)
69 @rm -rf $(LINUX_BUILD_DIR)/root*
70 @$(CP) $(BUILD_DIR)/root $(LINUX_BUILD_DIR)/
71 echo -e 'dest root /\noption offline_root $(LINUX_BUILD_DIR)/root' > $(LINUX_BUILD_DIR)/ipkg.conf
72 $(MAKE) -C $(TOPDIR)/target/linux/package \
73 $(KPKG_MAKEOPTS) \
74 install
75 [ "$(INSTALL_TARGETS)" != "" ] && $(IPKG_KERNEL) install $(INSTALL_TARGETS)
76
77$(KERNEL_IPKG):
78 rm -rf $(KERNEL_IDIR)
79 mkdir -p $(KERNEL_IDIR)/etc
80 $(SCRIPT_DIR)/make-ipkg-dir.sh $(KERNEL_IDIR) ../control/kernel.control $(LINUX_VERSION)-$(BOARD)-$(LINUX_RELEASE) $(ARCH)
81 if [ -f ./config/$(BOARD).modules ]; then \
82 cp ./config/$(BOARD).modules $(KERNEL_IDIR)/etc/modules; \
83 fi
84 $(IPKG_BUILD) $(KERNEL_IDIR) $(LINUX_BUILD_DIR) $(MAKE_TRACE)
85
86source: $(DL_DIR)/$(LINUX_SOURCE)
87prepare:
88 @mkdir -p $(STAMP_DIR) $(PACKAGE_DIR)
89 @$(MAKE) $(LINUX_DIR)/.configured $(MAKE_TRACE)
90
91compile: prepare $(STAMP_DIR)/.linux-compile
92
93install: compile
94 @$(TRACE) target/linux/package-install
95 $(MAKE) $(KPKG_MAKEOPTS) pkg-install $(MAKE_TRACE)
96 $(MAKE) $(KPKG_MAKEOPTS) $(LINUX_KERNEL) $(MAKE_TRACE)
97
98mostlyclean:
99 rm -f $(STAMP_DIR)/.linux-compile
100 rm -f $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION)/.modules_done
101 rm -f $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION)/.drivers-unpacked
102 $(MAKE) -C $(LINUX_BUILD_DIR)/linux-$(LINUX_VERSION) clean $(MAKE_TRACE)
103 rm -f $(LINUX_KERNEL)
104
105rebuild:
106 -$(MAKE) mostlyclean
107 if [ -f $(LINUX_KERNEL) ]; then \
108 $(MAKE) clean $(MAKE_TRACE); \
109 fi
110 $(MAKE) compile $(MAKE_TRACE)
111
112clean:
113 rm -f $(STAMP_DIR)/.linux-compile
114 rm -rf $(LINUX_BUILD_DIR)
115 rm -f $(TARGETS)
116
117package/%:
118 $(MAKE) -C $(TOPDIR)/target/linux/package \
119 $(KPKG_MAKEOPTS) \
120 $(patsubst package/%,%,$@)
Note: See TracBrowser for help on using the repository browser.