BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #7981同步于 2010/3/29
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

求教关于Makefile的跨平台改写?

zjxpsetp
2010/3/29镜像同步5 回复
以下是一个网卡在Linux下的驱动程序的Makefile,现在想把它改写成ARM下的Makefile(问过原公司,说是ARM下可以移植),改写主要是编译器gcc要改成arm-gcc,还有就是链接库的改写,可是这里编译器的改写怎么改呢?开来看去好像找不到 gcc或者相应的变量啊? ###################################################################### # Module Name: Makefile # Abstract: Makefile for aq3 linux driver on kernel series 2.6 ###################################################################### PLATFORM=PC #MODE - STA or AP or APSTA. AQ3_MODE = APSTA #Client of NIC User #NIC_USER=MPRC NIC_USER=USER WFLAGS := -Wall -Wstrict-prototypes -Wno-trigraphs ## Comment/uncomment the following line to enable/disable debugging EXTRA_CFLAGS += -DDBG ##Function for reset usb when urbs are pending out #ifneq ($(NIC_USER),MPRC) EXTRA_CFLAGS += -DRESET_ENABLE #endif AUTORATE = STAT ifeq ($(AUTORATE),STAT) EXTRA_CFLAGS += -DSTAT EXTRA_CFLAGS += -DUP_TXSTATUS endif ## Comment/uncomment the following line to enable/disable UpTxStatus #EXTRA_CFLAGS += -DUP_TXSTATUS ## Comment/uncomment the following line to enable/disable TxPowerAdapt #EXTRA_CFLAGS += -DTXPOWER_ADAPT ## Big Endian Option #EXTRA_CFLAGS += -DBIG_ENDIAN ## Work Mode Option ifeq ($(AQ3_MODE),AP) EXTRA_CFLAGS += -DDEVICE_AP else ifeq ($(AQ3_MODE),APSTA) EXTRA_CFLAGS += -DDEVICE_AP EXTRA_CFLAGS += -DDEVICE_STA else EXTRA_CFLAGS += -DDEVICE_STA ##CONTROL PowerSave Option #EXTRA_CFLAGS += -DPS ##CONTROL GPIO CTRL for Wireless Control Option #EXTRA_CFLAGS += -DGPIO_CTRL ## Comment/uncomment the following line to enable/disable SoftAnt #EXTRA_CFLAGS += -DSOFT_ANT ## CONTROL For NetWorkManager #EXTRA_CFLAGS += -DNETWORKMANAGER endif endif ##Add Funtions for Clients ifeq ($(NIC_USER),MPRC) ##CONTROL PowerSave Option EXTRA_CFLAGS += -DPS ##CONTROL GPIO CTRL for Wireless Control Option EXTRA_CFLAGS += -DGPIO_CTRL ## CONTROL For NetWorkManager EXTRA_CFLAGS += -DNETWORKMANAGER endif EXTRA_CFLAGS += $(WFLAGS) ifeq ($(PLATFORM),PC) LINUX_SRC =/lib/modules/$(shell uname -r)/build endif EXTRA_CFLAGS += -I$(LINUX_SRC)/include obj-m := aq3.o aq3-objs := \ whed_main.o \ whed_bulk.o \ whed_data.o \ whed_io.o \ whed_info.o\ whed_init.o\ whed_enc.o\ mlme_ctrl.o ifeq ($(AUTORATE),STAT) aq3-objs += whed_stat.o endif ifeq ($(AQ3_MODE),AP) aq3-objs += \ ./ap/ap_connect.o \ ./ap/ap_sync.o \ ./ap/ap_assoc.o \ ./ap/ap_auth.o \ ./ap/ap_auth_rsp.o \ ./ap/ap_sanity.o \ ./ap/ap_mlme.o \ ./ap/soft_ap.o else ifeq ($(AQ3_MODE),APSTA) aq3-objs += \ ./sta/sync.o\ ./sta/assoc.o\ ./sta/auth.o\ ./sta/auth_rsp.o\ ./sta/sanity.o\ ./sta/sta_mlme.o\ ./sta/connect.o\ ./ap/ap_sync.o \ ./ap/ap_assoc.o \ ./ap/ap_auth.o \ ./ap/ap_auth_rsp.o \ ./ap/ap_sanity.o \ ./ap/ap_mlme.o \ ./ap/ap_connect.o \ ./ap/soft_ap.o else aq3-objs += \ ./sta/sync.o\ ./sta/assoc.o\ ./sta/auth.o\ ./sta/auth_rsp.o\ ./sta/sanity.o\ ./sta/sta_mlme.o\ ./sta/connect.o endif endif all: make -C $(LINUX_SRC) SUBDIRS=$(shell pwd) m
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
eelb机器人#1 · 2010/3/29
呵呵 兄弟你这是wifi模块吧,前段时间在pc用过 过段时间也要移植到arm上。。 到时交流交流啊
eelb机器人#2 · 2010/3/29
这个只是linux的一个驱动 你只要把LINUX_SRC这个路径换成arm下编译使用的linux就可以了 gcc那些东西在你的linux源码中已经定义了
hobby机器人#3 · 2010/3/30
能找到志同道合的童鞋,可以一起讨论还是很好的! 【 在 eelb 的大作中提到: 】 : 呵呵 兄弟你这是wifi模块吧,前段时间在pc用过 : 过段时间也要移植到arm上。。 : 到时交流交流啊
zjxpsetp机器人#4 · 2010/3/30
【 在 eelb 的大作中提到: 】 : 呵呵 兄弟你这是wifi模块吧,前段时间在pc用过 : 过段时间也要移植到arm上。。 : 到时交流交流啊 恩 我把CC定义为了 CC=arm_v5t_le-gcc 这是板子的编译器 Linuxsrc也改成 内核的目录树了 就该了这2个地方吧 怎么显示找不到文件了?
eelb机器人#5 · 2010/3/30
给你站内了,下来聊 【 在 zjxpsetp 的大作中提到: 】 : : 恩 我把CC定义为了 CC=arm_v5t_le-gcc 这是板子的编译器 : Linuxsrc也改成 内核的目录树了 就该了这2个地方吧 怎么显示找不到文件了? : ...................