openwrt 中添加新的文件、脚本、可执行程序到固件

网上有许多介绍如何编译程序到固件的文章,写一篇将多个文件编译到固件中的方法的文章。

#
# Copyright (C) 2007-2016 OpenWrt.org
# Copyright (C) 2010 Vertical Communications
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk

PKG_NAME:=luceyi
PKG_RELEASE:=1

PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)

#include $(INCLUDE_DIR)/package.mk

define Package/luceyi
  SECTION:=base
  CATEGORY:=Utilities
  TITLE:=Luceyi cfg and script 
  DEPENDS:=+librt +libcurl +libpthread                          #可以程序所依赖的库
  VERSION:=$(PKG_RELEASE)-$(REVISION)
endef


define Package/luceyi/description
 This package contains Configure and  scripts for Luceyi.
endef


define Build/Prepare
    mkdir -p $(PKG_BUILD_DIR)                                  #编译时创立的文件夹
endef

define Build/Compile                                           #默认安装,不能少
    echo
endef

define Package/luceyi/install
    $(INSTALL_DIR) $(1)/lib/ $(1)/etc/ $(1)/usr/              #在openwrt 中建立新的目录
    $(CP) -rf ./files/etc  $(1)/                              #从本地复制文件到openwrt下目录
    $(CP) -rf ./files/lib  $(1)/

    $(INSTALL_DIR) $(1)/usr/local/scanner/                    #安装可执行文件
    $(INSTALL_BIN) ./files/usr/local/scanner/scanner $(1)/usr/local/scanner/

    (cd $(1)/usr/local/scanner; $(LN)  workspace back1)      #建立连接目录
endef


$(eval $(call BuildPackage,luceyi))                          #不能少

你可能感兴趣的:(openwrt)