在openwrt上添加lua-cjson,并打补丁

在OPENWRT上添加开源模块

  • OPENWRT的开源模块添加通用方法
    • 在package下创建目录

OPENWRT的开源模块添加通用方法

以一个案例说明添加通用模块的方法。
从网上下载一个lua-cjson-2.1.0.tar.gz,如何集成到自己的嵌入式OPENWRT环境里呢?

在package下创建目录

openwrt要求要编译的包,需要在package目录下创建有相应的目录。
简单的方法是,把lua-cjson-2.1.0.tar.gz放到dl目录,再在package下创建一个目录,如
package/feeds/packages/lua-cjson/
再写一个Makefile

include ( T O P D I R ) / r u l e s . m k 包 括 这 个 通 用 的 r u l e . m k P K G N A M E : = l u a − c j s o n P K G V E R S I O N : = 2.1.0 − − 指 定 版 本 号 组 成 源 码 包 : P K G S O U R C E : = (TOPDIR)/rules.mk 包括这个通用的rule.mk PKG_NAME:=lua-cjson PKG_VERSION:=2.1.0 --指定版本号 组成源码包: PKG_SOURCE:= (TOPDIR)/rules.mkrule.mkPKGNAME:=luacjsonPKGVERSION:=2.1.0PKGSOURCE:=(PKG_NAME)- ( P K G V E R S I O N ) . t a r . g z 编 译 目 录 : 会 自 动 解 压 到 这 里 进 行 编 译 P K G B U I L D D I R : = (PKG_VERSION).tar.gz 编译目录:会自动解压到这里进行编译 PKG_BUILD_DIR:= (PKGVERSION).tar.gzPKGBUILDDIR:=(BUILD_DIR)/ ( P K G N A M E ) − (PKG_NAME)- (PKGNAME)(PKG_VERSION)
要用到cmake.mk的,这里引入进来
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
定义名称Package/lua-cjson,对应于.config Package_lua-cjson=y
define Package/lua-cjson
SUBMENU:=Lua
SECTION:=lang
CATEGORY:=Languages
TITLE:=Lua CJSON parser
URL:=https://github.com/mpx/lua-cjson
DEPENDS:= +lua
endef

define Package/lua-cjson/description
Lua CJSON is a fast JSON encoding/parsing module for Lua.
endef

CMAKE_OPTIONS +=
-DUSE_LUA=ON

define Package/lua-cjson/install
安装路径指定
$(INSTALL_DIR) $(1)/usr/lib/lua
安装文件指定
$(INSTALL_BIN) $(PKG_BUILD_DIR)/cjson.so $(1)/usr/lib/lua/
其他安装的文件
$(INSTALL_DIR) $(1)/usr/lib/lua/cjson
$(INSTALL_DATA) $(PKG_BUILD_DIR)/lua/cjson/util.lua $(1)/usr/lib/lua/cjson
endef
最后结束行
$(eval $(call BuildPackage,lua-cjson))

你可能感兴趣的:(linux)