Chinaunix首页 | 论坛 | 博客
  • 博客访问: 13847
  • 博文数量: 3
  • 博客积分: 230
  • 博客等级: 二等列兵
  • 技术积分: 65
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-19 11:45
文章分类

全部博文(3)

文章存档

2010年(3)

我的朋友

分类: 嵌入式

2010-10-04 02:21:17

关于Click参考主页:
OpenWrt的安装包中也有Click但是版本很旧已经被标注BROKEN,所以在menuconfig里面是不可见的,现在介绍一下我安装最新版的步骤。
1.下载代码,我下载的版本是Release 1.8.0,地址:
2.删除feeds/pacages/net/click文件夹中所有内容,新建src文件夹,将click代码解压到src中
3.新建Makefile文件,写入(由旧有click安装包里的Makefile修改而来)

include $(TOPDIR)/rules.mk

PKG_NAME:=click
PKG_RELEASE:=1.8.0


include $(INCLUDE_DIR)/package.mk

define Package/click
  SECTION:=net
  CATEGORY:=Network
  MENU:=1
  TITLE:=The Click Modular Router
  URL:=http://www.read.cs.ucla.edu/click/
endef

define Package/click/description
The Click Modular Router
endef

BUILDOPTS = \
        BUILD_CXX="g++ -I $(PKG_BUILD_DIR)/include-host" \
        BUILD_DL_LIBS="-ldl"

define Build/Prepare
    mkdir -p $(PKG_BUILD_DIR)
    $(CP) ./src/* $(PKG_BUILD_DIR)/
endef

define Build/Configure
    (cd $(PKG_BUILD_DIR); \
        rm -rf config.{cache,status} ; \
        CONFIG_SITE= \
        ./configure; \
        rm -rf include-host; \
        $(CP) include include-host; \
        rm -rf config.{cache,status} ; \
        $(TARGET_CONFIGURE_OPTS) \
        CXXFLAGS="-static -Os -MD" \
        CFLAGS="-static -MD" \
        CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
        LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
        $(BUILDOPTS) \
        ./configure \
         --prefix=/usr \
         --target=$(GNU_TARGET_NAME) \
         --host=$(GNU_TARGET_NAME) \
         --build=$(GNU_HOST_NAME) \
         --enable-wifi \
         --disable-linuxmodule \
         --enable-tools=mixed \
          --disable-dynamic-linking \
    )
endef


define Build/Compile
    rm -rf $(PKG_INSTALL_DIR)
    mkdir -p $(PKG_INSTALL_DIR)
    $(CONF_OPTS) \
    $(MAKE) -C $(PKG_BUILD_DIR) \
        $(BUILDOPTS) \
        install
endef

define Package/click/install
    $(INSTALL_DIR) $(1)/usr/bin
    $(INSTALL_BIN) $(PKG_BUILD_DIR)/userlevel/click $(1)/usr/bin/click
    $(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/click-align/click-align $(1)/usr/bin/click-align
    mkdir -p $(1)/usr/share/click
    $(CP) $(PKG_BUILD_DIR)/elementmap.xml $(1)/usr/share/click
endef

$(eval $(call BuildPackage,click))

4.编译click(root权限),在生成的ipk包中包含click主程序,click-align用于生字节成对齐的代码,elementmap.xml组件信息

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