OpenWrt集成非官方包之Makefile规则

原创 2012年03月24日 17:41:50

原文地址:http://www.right.com.cn/forum/thread-48530-1-1.html

其他可参考:http://www.asxzy.net/?p=228


最近看到有人问这个就写个吧
转载请注明出处

首先进入源码包根目录里的package 创建个文件夹 自己起个名字
然后进入那个文件夹 创建Makefile
注意: 一定要用linux文本编辑器创建 否则不认 或者用UltraEdit转换成unix换行符
文件内容: (方括号为需要自己修改的内容)

include $(TOPDIR)/rules.mk

PKG_NAME:=[软件包名字 和文件夹名称一样]
PKG_VERSION:=[软件包版本 自己写个]
PKG_RELEASE:=1

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

include $(INCLUDE_DIR)/package.mk

define Package/$(PKG_NAME)
        SECTION:=utils
        CATEGORY:=[软件包在menuconfig里的位置 比如Base system]
        DEPENDS:=[依赖包 两个之间通过空格分隔 前面加+为默认显示 选中该软件包自动选中依赖包 不加+为默认不显示 选中依赖包才显示]
        TITLE:=[标题]
        PKGARCH:=[平台 比如ar71xx 全部写all]
        MAINTAINER:=[作者]
endef

define Package/$(PKG_NAME)/description
        [软件包简介]
endef

define Build/Prepare
endef

define Build/Configure
endef

define Build/Compile
endef

define Package/$(PKG_NAME)/conffiles
[升级时保留文件/备份时备份文件 一个文件一行]
endef

define Package/$(PKG_NAME)/install
        $(CP) ./files/* $(1)/
[安装(编译)时执行的脚本 记得加上#!/bin/sh 没有就空着]
endef

define Package/$(PKG_NAME)/preinst
[安装前执行的脚本 记得加上#!/bin/sh 没有就空着]
endef

define Package/$(PKG_NAME)/postinst
[安装后执行的脚本 记得加上#!/bin/sh 没有就空着]
endef

Package/$(PKG_NAME)/prerm
[删除前执行的脚本 记得加上#!/bin/sh 没有就空着]
endef

Package/$(PKG_NAME)/postrm
[删除后执行的脚本 记得加上#!/bin/sh 没有就空着]
endef

$(eval $(call BuildPackage,$(PKG_NAME)))

然后在文件夹里新建个files文件夹 把需要集成的东西一起扔进去(把files当作路由根目录 注意如果文件有冲突需要在安装前脚本里加入删除命令)

ok 这样就好了 进menuconfig选中软件包编译就行了 ipk在源码包根目录的bin/[系列]/packages里

附: 安装前/后 删除前/后的脚本里请用变量 如: $(CP) $(RM) 根目录表示为$(1)









版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

OpenWRT开发之——研究包的Makefile

目录[-] include $(TOPDIR)/rules.mk 自定义 PKG_XXXX 变量 include $(INCLUDE_DIR)/package.mk (1)它会配置默认...

OpenWRT开发之——研究包的Makefile

本文将带大家一起深入地学习一下OpenWrt包的 Makefile。我们不仅要知其然,还要知其所以然。 在上篇博文里,包里的 Makefile 内容如下: ? 1 2 ...

SpringBoot非官方教程 | 第十三篇:springboot集成spring cache

本文介绍如何在springboot中使用默认的spring cache,声明式缓存Spring 定义 CacheManager 和 Cache 接口用来统一不同的缓存技术。例如 JCache、 EhC...
  • forezp
  • forezp
  • 2017年04月30日 16:23
  • 18685

SpringBoot非官方教程 | 第二十一篇: springboot集成JMS

springboot对JMS提供了很好的支持,对其做了起步依赖。构架工程创建一个springboot工程。...
  • forezp
  • forezp
  • 2017年04月30日 16:58
  • 16395

SpringBoot非官方教程 | 第十二篇:springboot集成apidoc

转载请标明出处:  http://blog.csdn.net/forezp/article/details/71023579  本文出自方志朋的博客 首先声明下,apidoc是基于注释来生成文档的...

SpringBoot非官方教程 | 第十三篇:springboot集成spring cache

转载请标明出处: http://blog.csdn.net/forezp/article/details/71023614 本文出自方志朋的博客 本文介绍如何在springboot中使...
  • zwfmu
  • zwfmu
  • 2017年05月03日 22:50
  • 747

SpringBoot非官方教程 | 第十一篇:springboot集成swagger2,构建优雅的Restful API

swagger,中文“拽”的意思。它是一个功能强大的api框架,它的集成非常简单,不仅提供了在线文档的查阅,而且还提供了在线文档的测试。另外swagger很容易构建restful风格的api,简单优雅...
  • forezp
  • forezp
  • 2017年04月30日 16:13
  • 20997

SpringBoot非官方教程 | 第二十一篇: springboot集成JMS

转载请标明出处: http://blog.csdn.net/forezp/article/details/71024024 本文出自方志朋的博客 springboot对JMS提供了很好...
  • zwfmu
  • zwfmu
  • 2017年05月04日 09:51
  • 499

SpringBoot非官方教程 | 第十一篇:springboot集成swagger2,构建优雅的Restful API

转载请标明出处: http://blog.csdn.net/forezp/article/details/71023536 本文出自方志朋的博客 swagger,中文“拽”的意思。它是...
  • zwfmu
  • zwfmu
  • 2017年05月03日 22:49
  • 259
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OpenWrt集成非官方包之Makefile规则
举报原因:
原因补充:

(最多只允许输入30个字)