source: debwrt/trunk/openwrt/openwrt-deliver.mk @ 10

Last change on this file since 10 was 10, checked in by amain, 10 years ago

Add support for WGT634u box

File size: 3.8 KB
RevLine 
[3]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
[5]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#
[10]27-include $(OPENWRT_SAVE_CONFIG_FILE)
[3]28
[5]29ERROR_MSG_NOCONF:=" not defined. Make sure OpenWrt build finished."
30
31openwrt/deliver: openwrt/deliver/prepare  openwrt/deliver/clean                         \
32                                 openwrt/deliver/image    openwrt/deliver/kernel-modules        \
33                                 openwrt/deliver/packages openwrt/deliver/config
34
35openwrt/deliver/prepare: openwrt/deliver/import-config openwrt/deliver/check
36
37openwrt/deliver/import-config:
38        @echo OPENWRT_BIN_DIR=$(OPENWRT_BIN_DIR)
39        @echo OPENWRT_PACKAGE_DIR=$(OPENWRT_PACKAGE_DIR)
40        @echo OPENWRT_TMP_DIR=$(OPENWRT_TMP_DIR)
41        @echo OPENWRT_LINUX_VERSION=$(OPENWRT_LINUX_VERSION)
42        @echo OPENWRT_LINUX_DIR=$(OPENWRT_LINUX_DIR)
43
44openwrt/deliver/check: ${OPENWRT_BIN_DIR} openwrt/deliver/import-config
45  ifndef OPENWRT_PACKAGE_DIR
46        @echo OPENWRT_PACKAGE_DIR$(ERROR_MSG_NOCONF) && false
47  endif
48  ifndef OPENWRT_TMP_DIR
49        @echo OPENWRT_TMP_DIR$(ERROR_MSG_NOCONF) && false
50  endif
51  ifndef OPENWRT_LINUX_VERSION
52        @echo OPENWRT_LINUX_VERSION$(ERROR_MSG_NOCONF) && false
53  endif
54  ifndef OPENWRT_LINUX_DIR
55        @echo OPENWRT_LINUX_DIR$(ERROR_MSG_NOCONF) && false
56  endif
57  ifndef OPENWRT_PACKAGE_DIR
58        @echo OPENWRT_PACKAGE_DIR$(ERROR_MSG_NOCONF) && false
59  endif
60
61openwrt/deliver/image: openwrt/deliver/prepare
62        mkdir -p $(INSTALL_DIR)
[10]63        if  [ "" != $(call qstrip,$(CONFIG_OPENWRT_TARGET_IMAGE_NAME)) ]; then \
64                cp -a ${OPENWRT_BIN_DIR}/$(call qstrip,$(CONFIG_OPENWRT_TARGET_IMAGE_NAME)) $(INSTALL_DIR)/$(TARGET_IMAGE_NAME); \
[8]65        else  \
[10]66                echo "TODO: openwrt/deliver/image"; \
[8]67        fi
[5]68
69openwrt/deliver/kernel-modules: openwrt/deliver/prepare
70        mkdir -p $(INSTALL_DIR) $(INSTALL_DIR_OPENWRT) $(INSTALL_DIR_OPENWRT_MODULES)
71        mkdir -p $(INSTALL_DIR_OPENWRT_MODULES)/lib/modules
72        cp -r ${OPENWRT_TMP_DIR}/modules/lib/modules/${OPENWRT_LINUX_VERSION} $(INSTALL_DIR_OPENWRT_MODULES)/lib/modules
73        rm -f $(INSTALL_DIR_OPENWRT_MODULES)/lib/modules/${OPENWRT_LINUX_VERSION}/build
74        rm -f $(INSTALL_DIR_OPENWRT_MODULES)/lib/modules/${OPENWRT_LINUX_VERSION}/source
75        find $(OPENWRT_PACKAGE_DIR) -name "kmod-*" | while read fkmod; do \
76            $(SCRIPT_EXTRACT_KMODPKG) $$fkmod $(INSTALL_DIR_OPENWRT_MODULES) $(TMP_DIR) || true; \
77        done
78        depmod -a -b $(INSTALL_DIR_OPENWRT_MODULES) ${OPENWRT_LINUX_VERSION}
79        tar czf $(INSTALL_DIR)/$(MODULES_TAR_GZ) -C $(INSTALL_DIR_OPENWRT_MODULES) .
80
81openwrt/deliver/packages: openwrt/deliver/prepare
82        mkdir -p $(INSTALL_DIR_OPENWRT_PACKAGES)
83        cp -ra $(OPENWRT_PACKAGE_DIR)/* $(INSTALL_DIR_OPENWRT_PACKAGES)
84
85openwrt/deliver/config: openwrt/deliver/prepare
86        cp ${TOPDIR}/.config $(INSTALL_DIR)/config-debwrt
87        cp ${OPENWRT_BUILD_DIR}/.config $(INSTALL_DIR)/config-openwrt
88        cp ${OPENWRT_LINUX_DIR}/.config $(INSTALL_DIR)/config-kernel-${OPENWRT_LINUX_VERSION}
89
90openwrt/deliver/clean:
91        rm -rf $(INSTALL_DIR)
92
Note: See TracBrowser for help on using the repository browser.