1 | # DebWrt - Debian on Embedded devices |
---|
2 | # |
---|
3 | # Copyright (C) 2010 Johan van Zoomeren <amain@debwrt.net> |
---|
4 | # |
---|
5 | # This program is free software: you can redistribute it and/or modify |
---|
6 | # it under the terms of the GNU General Public License as published by |
---|
7 | # the Free Software Foundation, either version 3 of the License, or |
---|
8 | # (at your option) any later version. |
---|
9 | # |
---|
10 | # This program is distributed in the hope that it will be useful, |
---|
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
13 | # GNU General Public License for more details. |
---|
14 | # |
---|
15 | # You should have received a copy of the GNU General Public License |
---|
16 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
---|
17 | |
---|
18 | # The following function imports some environment variables |
---|
19 | # save in a special config file during OpenWrt's build process |
---|
20 | # |
---|
21 | # OPENWRT_BIN_DIR - directory where OpenWrt firmware is stored |
---|
22 | # OPENWRT_PACKAGE_DIR - directory where OpenWrt packages are stored |
---|
23 | # OPENWRT_TMP_DIR - directory where OpenWrt stored all kernel modules |
---|
24 | # OPENWRT_LINUX_VERSION - kernel version of the kernel build by OpenWrt |
---|
25 | # OPENWRT_LINUX_DIR - OpenWrt's kernel build directory |
---|
26 | # |
---|
27 | -include $(OPENWRT_SAVE_CONFIG_FILE) |
---|
28 | |
---|
29 | ERROR_MSG_NOCONF:=" not defined. Make sure OpenWrt build finished." |
---|
30 | |
---|
31 | openwrt/deliver: \ |
---|
32 | openwrt/deliver/prepare \ |
---|
33 | openwrt/deliver/clean \ |
---|
34 | openwrt/deliver/image \ |
---|
35 | openwrt/deliver/kernel-modules \ |
---|
36 | openwrt/deliver/packages \ |
---|
37 | openwrt/deliver/config\ |
---|
38 | openwrt/deliver/kernel-headers \ |
---|
39 | # end openwrt/deliver: |
---|
40 | |
---|
41 | openwrt/deliver/prepare: openwrt/deliver/import-config openwrt/deliver/check |
---|
42 | |
---|
43 | openwrt/deliver/import-config: |
---|
44 | @echo OPENWRT_BIN_DIR=$(OPENWRT_BIN_DIR) |
---|
45 | @echo OPENWRT_PACKAGE_DIR=$(OPENWRT_PACKAGE_DIR) |
---|
46 | @echo OPENWRT_TMP_DIR=$(OPENWRT_TMP_DIR) |
---|
47 | @echo OPENWRT_LINUX_VERSION=$(OPENWRT_LINUX_VERSION) |
---|
48 | @echo OPENWRT_LINUX_DIR=$(OPENWRT_LINUX_DIR) |
---|
49 | |
---|
50 | openwrt/deliver/check: ${OPENWRT_BIN_DIR} openwrt/deliver/import-config |
---|
51 | ifndef OPENWRT_PACKAGE_DIR |
---|
52 | @echo OPENWRT_PACKAGE_DIR$(ERROR_MSG_NOCONF) && false |
---|
53 | endif |
---|
54 | ifndef OPENWRT_TMP_DIR |
---|
55 | @echo OPENWRT_TMP_DIR$(ERROR_MSG_NOCONF) && false |
---|
56 | endif |
---|
57 | ifndef OPENWRT_LINUX_VERSION |
---|
58 | @echo OPENWRT_LINUX_VERSION$(ERROR_MSG_NOCONF) && false |
---|
59 | endif |
---|
60 | ifndef OPENWRT_LINUX_DIR |
---|
61 | @echo OPENWRT_LINUX_DIR$(ERROR_MSG_NOCONF) && false |
---|
62 | endif |
---|
63 | ifndef OPENWRT_PACKAGE_DIR |
---|
64 | @echo OPENWRT_PACKAGE_DIR$(ERROR_MSG_NOCONF) && false |
---|
65 | endif |
---|
66 | |
---|
67 | openwrt/deliver/image: openwrt/deliver/prepare |
---|
68 | mkdir -p $(INSTALL_DIR) |
---|
69 | find ${OPENWRT_BIN_DIR} -maxdepth 1 -type f | while read fname; do \ |
---|
70 | tfname=`basename $$fname`; \ |
---|
71 | tfname=`echo $$tfname | sed 's/openwrt/debwrt-firmware/'`; \ |
---|
72 | cp -av $$fname $(INSTALL_DIR)/$$tfname; \ |
---|
73 | done |
---|
74 | |
---|
75 | openwrt/deliver/kernel-modules: openwrt/deliver/prepare |
---|
76 | mkdir -p $(INSTALL_DIR) $(INSTALL_DIR_OPENWRT) $(INSTALL_DIR_OPENWRT_MODULES) |
---|
77 | mkdir -p $(INSTALL_DIR_OPENWRT_MODULES)/lib/modules |
---|
78 | cp -r ${OPENWRT_TMP_DIR}/modules/lib/modules/${OPENWRT_LINUX_VERSION} $(INSTALL_DIR_OPENWRT_MODULES)/lib/modules |
---|
79 | rm -f $(INSTALL_DIR_OPENWRT_MODULES)/lib/modules/${OPENWRT_LINUX_VERSION}/build |
---|
80 | rm -f $(INSTALL_DIR_OPENWRT_MODULES)/lib/modules/${OPENWRT_LINUX_VERSION}/source |
---|
81 | find $(OPENWRT_PACKAGE_DIR) -name "kmod-*" | while read fkmod; do \ |
---|
82 | $(SCRIPT_EXTRACT_KMODPKG) $$fkmod $(INSTALL_DIR_OPENWRT_MODULES) $(TMP_DIR) || true; \ |
---|
83 | done |
---|
84 | PATH="/sbin:/bin:/usr/sbin:/usr/bin" depmod -a -b $(INSTALL_DIR_OPENWRT_MODULES) ${OPENWRT_LINUX_VERSION} |
---|
85 | tar czf $(INSTALL_DIR)/$(MODULES_TAR_GZ) -C $(INSTALL_DIR_OPENWRT_MODULES) . |
---|
86 | |
---|
87 | openwrt/deliver/kernel-headers: openwrt/deliver/prepare |
---|
88 | rm -rf $(INSTALL_DIR_OPENWRT_HEADERS) |
---|
89 | mkdir -p $(INSTALL_DIR_OPENWRT_HEADERS) |
---|
90 | mkdir -p $(INSTALL_DIR_OPENWRT_HEADERS)/usr/src/linux-headers-${OPENWRT_LINUX_VERSION} |
---|
91 | cd $(OPENWRT_LINUX_DIR) && make headers_install ARCH=$(patsubst %el,%,$(TARGET_ARCH)) INSTALL_HDR_PATH=$(INSTALL_DIR_OPENWRT_HEADERS)/usr/src/linux-headers-${OPENWRT_LINUX_VERSION} |
---|
92 | # some overrides which are not cleanly installed by make headers_install |
---|
93 | cp $(OPENWRT_LINUX_DIR)/include/linux/switch.h $(INSTALL_DIR_OPENWRT_HEADERS)/usr/src/linux-headers-${OPENWRT_LINUX_VERSION}/include/linux/switch.h |
---|
94 | cp ${OPENWRT_LINUX_DIR}/.config $(INSTALL_DIR_OPENWRT_HEADERS)/usr/src/linux-headers-${OPENWRT_LINUX_VERSION} |
---|
95 | tar czf $(INSTALL_DIR)/$(HEADERS_TAR_GZ) -C $(INSTALL_DIR_OPENWRT_HEADERS) . |
---|
96 | |
---|
97 | openwrt/deliver/packages: openwrt/deliver/prepare |
---|
98 | mkdir -p $(INSTALL_DIR_OPENWRT_PACKAGES) |
---|
99 | cp -ra $(OPENWRT_PACKAGE_DIR)/* $(INSTALL_DIR_OPENWRT_PACKAGES) |
---|
100 | |
---|
101 | openwrt/deliver/config: openwrt/deliver/prepare |
---|
102 | cp ${TOPDIR}/.config $(INSTALL_DIR)/config-debwrt |
---|
103 | cp ${OPENWRT_BUILD_DIR}/.config $(INSTALL_DIR)/config-openwrt |
---|
104 | cp ${OPENWRT_LINUX_DIR}/.config $(INSTALL_DIR)/config-kernel-${OPENWRT_LINUX_VERSION} |
---|
105 | $(SCRIPT_GET_SVN_REVISION) $(OPENWRT_LINUX_DIR) > $(INSTALL_DIR)/openwrt-svn-revision |
---|
106 | $(SCRIPT_GET_SVN_REVISION) $(TOPDIR) > $(INSTALL_DIR)/debwrt-svn-revision |
---|
107 | |
---|
108 | openwrt/deliver/clean: |
---|
109 | rm -rf $(INSTALL_DIR) |
---|
110 | |
---|