当前位置: 技术问答>linux和unix
大侠帮忙改个makefile文件能支持交叉编译
来源: 互联网 发布时间:2017-05-16
本文导语: 我的交叉编译器主目录:/opt/EmbedSky/4.4.6/arm-embedsky 主目录下有:arm-embedsky-linux-gnueabi、bin、include、lib、libexec、share子目录 下面的makefile文件内容在linux下编译通过,但需要改成能支持交叉编译,如下: ====================...
我的交叉编译器主目录:/opt/EmbedSky/4.4.6/arm-embedsky
主目录下有:arm-embedsky-linux-gnueabi、bin、include、lib、libexec、share子目录
下面的makefile文件内容在linux下编译通过,但需要改成能支持交叉编译,如下:
==========================================================
obj-m := biokernbase.o
biokernbase-objs := main.o event.o usbreader.o memory.o misc.o
KVERSION:= $(shell uname -r)
ifeq ($(DKMS),y)
EXTRA_CFLAGS += -I$(src)/inc -I$(src)/inc/hw -I$(src)/inc/linux
KO_PATH = .
SYMBOL_PATH = /lib/modules/$(KVERSION)
else
EXTRA_CFLAGS += -I$(src)/../../../inc -I$(src)/../../../inc/hw -I$(src)/../../../inc/linux
KO_PATH ?= ../../../bin
SYMBOL_PATH ?= ../../../lib
endif
UDEV_PATH=/etc/udev/rules.d/
all:
$(MAKE) -C /lib/modules/$(KVERSION)/build M=$(PWD) modules
-cp biokernbase.ko $(KO_PATH)
-cp Module.symvers $(SYMBOL_PATH)
-cp 71-bionic-daq.rules $(UDEV_PATH)
clean:
$(MAKE) -C /lib/modules/$(KVERSION)/build M=$(PWD) clean
rm -rf *.o *~ .depend .*.cmd *.ko *.mod.c .tmp_versions modules.order Module.symvers
rm $(SYMBOL_PATH)/Module.symvers
rm $(UDEV_PATH)/71-bionic-daq.rules
.PHONY: all clean
主目录下有:arm-embedsky-linux-gnueabi、bin、include、lib、libexec、share子目录
下面的makefile文件内容在linux下编译通过,但需要改成能支持交叉编译,如下:
==========================================================
obj-m := biokernbase.o
biokernbase-objs := main.o event.o usbreader.o memory.o misc.o
KVERSION:= $(shell uname -r)
ifeq ($(DKMS),y)
EXTRA_CFLAGS += -I$(src)/inc -I$(src)/inc/hw -I$(src)/inc/linux
KO_PATH = .
SYMBOL_PATH = /lib/modules/$(KVERSION)
else
EXTRA_CFLAGS += -I$(src)/../../../inc -I$(src)/../../../inc/hw -I$(src)/../../../inc/linux
KO_PATH ?= ../../../bin
SYMBOL_PATH ?= ../../../lib
endif
UDEV_PATH=/etc/udev/rules.d/
all:
$(MAKE) -C /lib/modules/$(KVERSION)/build M=$(PWD) modules
-cp biokernbase.ko $(KO_PATH)
-cp Module.symvers $(SYMBOL_PATH)
-cp 71-bionic-daq.rules $(UDEV_PATH)
clean:
$(MAKE) -C /lib/modules/$(KVERSION)/build M=$(PWD) clean
rm -rf *.o *~ .depend .*.cmd *.ko *.mod.c .tmp_versions modules.order Module.symvers
rm $(SYMBOL_PATH)/Module.symvers
rm $(UDEV_PATH)/71-bionic-daq.rules
.PHONY: all clean
|
你在root用户下,输入啊让吗-linux-gcc -v有显示版本号吗?
如果显示你这样改下试试:
ARCH ?= arm
CROSS_COMPILE ?= /opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-
第二行把你自己的啊让吗-linux-gcc的路径替换下试试
如果显示你这样改下试试:
ARCH ?= arm
CROSS_COMPILE ?= /opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-
第二行把你自己的啊让吗-linux-gcc的路径替换下试试
|
CC=arm-linux-gcc make 试试
|
得给出你的 交叉编译工具的全称