openwrt下软件包的编译

转自:http://www.right.com.cn/forum/thread-48530-1-1.html


首先进入源码包根目录里的package 创建个文件夹 自己起个名字

然后进入那个文件夹 创建Makefile
注意: 一定要用linux文本编辑器创建 否则不认 或者用UltraEdit转换成unix换行符
文件内容: (方括号为需要自己修改的内容)
  1. include $(TOPDIR)/rules.mk

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

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

  6. include $(INCLUDE_DIR)/package.mk

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

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

  18. define Build/Prepare
  19. endef

  20. define Build/Configure
  21. endef

  22. define Build/Compile
  23. endef

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

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

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

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

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

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

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

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

附: 安装前/后 删除前/后的脚本里请用变量 如: $(CP) $(RM) 根目录表示为$(1)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值