wpa_supplicant-2.6交叉编译

编译wpa_supplicant时经常会遇到一些链接问题,导致编译失败,下面介绍一种方法,可以直接make出wpa工具。

wpa_supplicant编译依赖openssl的库,而openssl又依赖libnl的库,为方便编译,将wpa_supplicant、openssl、libnl源码放到同一级目录下,编写makefile,依次编译libnl、openssl,最终编译wpa_supplicant。

准备工作:

wpa_supplicant、openssl、libnl的源码:

wpa_suppliant: http://hostap.epitest.fi/releases/wpa_supplicant-2.6.tar.gz

openssl:https://www.openssl.org/source/old/1.0.1/openssl-1.0.1s.tar.gz

libnl:https://www.infradead.org/~tgr/libnl/files/libnl-1.1.4.tar.gz

交叉编译器:选择自己用的交叉编译器,我用的是arm-none-linux-gnueabi-

重点来了:Makefile


MAKE := make -w
PWD := $(shell pwd)

PATH := 你的jdk环境
PATH := $(PATH):$(PWD)/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin  // 交叉编译器路径
CROSS_COMPILE :=   //暂时清空.bashrc中指定的环境变量,避免冲突

SYSROOT := $(PWD)/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/multi-libs/default

LIBNL_DIR = $(PWD)/libnl-1.1.4
OPENSSL_DIR = $(PWD)/openssl-1.0.1s
WPA_SUPPLICANT_DIR = $(PWD)/wpa_supplicant-2.6/wpa_supplicant

all:wpa_supplicant

wpa_supplicant:openssl libnl
        cp -rf $(WPA_SUPPLICANT_DIR)/defconfig $(WPA_SUPPLICANT_DIR)/.config
        $(MAKE) -C $(WPA_SUPPLICANT_DIR) CC=arm-none-linux-gnueabi-gcc
        cp -rf $(WPA_SUPPLICANT_DIR)/wpa_cli $(WPA_SUPPLICANT_DIR)/wpa_supplicant $(PWD)

openssl:
        if [ ! -f $(OPENSSL_DIR)/config.log ];then cd $(OPENSSL_DIR) && ./config no-asm --prefix=$(SYSROOT)/usr os/compiler:arm-none-linux-gnueabi-gcc;fi
        $(MAKE) -C $(OPENSSL_DIR)
        arm-none-linux-gnueabi-gcc -shared -o libcrypto.so $(OPENSSL_DIR)/libcrypto.a
        arm-none-linux-gnueabi-gcc -shared -o libssl.so $(OPENSSL_DIR)/libssl.a
        $(MAKE) -C $(OPENSSL_DIR) install DESTDIR=$(SYSROOT)
        cp -rf libcrypto.so libssl.so $(SYSROOT)/usr/lib

libnl:
        if [ ! -f $(LIBNL_DIR)/config.log ];then cd $(LIBNL_DIR) && ./configure --prefix=/usr --host=arm-none-linux-gnueabi;fi
        $(MAKE) -C $(LIBNL_DIR)
        $(MAKE) -C $(LIBNL_DIR) install DESTDIR=$(SYSROOT)

clean:
        rm -rf *.so *.so.* wpa_cli wpa_supplicant
尊重原创,转载请说明出处

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值