2013-10-30 34 views
0

我正在嘗試在intel x86主機上爲ARM體系結構交叉編譯helloworld內核(2.6.x)模塊。設備驅動程序。創建文件,外部模塊

用於ARM的工具鏈位於:/home/vivek/ti-sdk-am335x-evm-05.07.00.00/linux-devkit/bin

內核源位於:/home/vivek/Arago

hellow.cMakefile位於桌面上/home/vivek/Desktop/hellodriver

我已經給出了路徑交叉編譯爲/home/vivek/ti-sdk-am335x-evm-05.07.00.00/linux-devkit/bin

我的Makefile如下: -

export ARCH=arm 

export CROSS_COMPILE=arm-arago-linux-gnueabi- 

obj-m =Hello.o 

KDIR =/home/vivek/Arago 

PWD = $(shell pwd) 

default: 
     $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules 
clean: 
     $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean 

上執行make我越來越

[email protected]:~/Desktop/hellodriver$ make 

       make: Nothing to be done for `default'. 

我在做什麼錯?

+0

$(MAKE)行是否縮進製表符或空格?使用空格會導致你所說的輸出。 –

+0

您正在使用哪個版本的Make? (如果您不確定,請嘗試'make -v') – Beta

+0

是的使用Tab可以很好地縮進。我正在使用gnu make 3.2 –

回答

0

你的Makefile存在錯誤。由於您的源代碼名稱是hellow.c,但在您的Makefile中它的編號爲Hello.o

因此改變你的obj-m =Hello.oobj-m =hellow.o

還有一件事Etan Reisner上面說要確保你using Tab for command in Makefile

+0

@Vivek Verma是你的問題解決了嗎? –

相關問題