Chinaunix首页 | 论坛 | 博客
  • 博客访问: 732612
  • 博文数量: 77
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1173
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-16 11:20
个人简介

将技术做到极致...

文章分类

全部博文(77)

文章存档

2019年(3)

2015年(27)

2014年(47)

分类: LINUX

2015-05-22 15:06:28

以创建一个最简单的hello world为例。

一、在packages中创建hello目录,在hello目录下创建src目录。

二、hello/Makefile内容:

点击(此处)折叠或打开

  1. include $(TOPDIR)/rules.mk
  2.    
  3.     
  4. PKG_NAME:=hello
  5. PKG_VERSION:=5.0
  6. PKG_RELEASE:=1
  7.     
  8. PKG_BUILD_DIR:= $(BUILD_DIR)/$(PKG_NAME)
  9.     
  10. include $(INCLUDE_DIR)/package.mk
  11.     
  12. define Package/$(PKG_NAME)
  13.     SECTION:=utils
  14.     CATEGORY:=Utilities
  15.     TITLE:=hello -- a Test Program
  16.     MAINTAINER:=wuzhiwen
  17. endef
  18.     
  19. define Package/$(PKG_NAME)/description
  20.     a test program
  21. endef
  22.     
  23. define Build/Prepare
  24.     mkdir -p $(PKG_BUILD_DIR)
  25.     $(CP) ./src/* $(PKG_BUILD_DIR)/
  26. endef
  27.     
  28. define Package/hello/install
  29.     $(INSTALL_DIR) $(1)/bin
  30.     $(INSTALL_BIN) $(PKG_BUILD_DIR)/hello $(1)/bin/
  31. endef
  32.     
  33. $(eval $(call BuildPackage,hello))

三、/hello/src/main.c内容:

点击(此处)折叠或打开

  1. OBJECTS = hello
  2.     
  3. all : $(OBJECTS)
  4.     
  5. PKG_NAME=docs
  6.     
  7. hello: main.o
  8.     $(CC) $(LDFLAGS) $^ -o $@
  9.     
  10. main.o:main.c
  11.     $(CC) $(CFLAGS) -c $<
  12.     
  13. .PHONY:clean
  14. clean:
  15.     @-rm *.o hello

五、make menuconfig,在Utilities中找到hello,选择上,保存退出。make V=99,编译固件,刷到路由器上,在终端输入hello,一行Hello World打印出来,说明编译成功了(在backfire/bin/brcm47xx/packages目录下能找到hello.ipk)。或者make package/hello/compile V=99也可单独编译hello的ipk包。

六、将生成的ipk包用ftp工具上传到路由器上的/tmp目录下,用ssh连接到路由器上到/tmp目录下执行opkg install xxxx.ipk

阅读(1507) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~