2012-05-15 3 views
0

나는 내가 다음과 같은 오류장치 드라이버 컴파일

에게 '대상 /root/aarif/mydev.c', needed by /root/aarif/mydev.o를 만들기 위해 어떤 규칙을 받고하지하고 컴파일 할 때 리눅스 에 대한 장치 드라이버를 컴파일에 관한 몇 가지 문제가 발생하고있다. 사용 된 메이크가

obj-m=mydev.o 

all: 
     make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules 

clean: 
     make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean 

test:test.c 
     cc -o test test.c 

감사

+1

경우 오브젝트 파일로 C 파일을 컴파일하는 규칙입니다! –

+0

@DavidSchwartz 정확히 무엇이 빠져 있다고 생각합니까? 내가 본 객체 파일에 대한 유일한 참조는 obj-m 변수에 있습니다.이 변수는이 makefile이 out-of-tree 모듈을 빌드하기 위해 호출하는 커널 소스의 makefile에 의해 처리됩니다. –

답변

0

그럼 당신이 mydev.c 파일이 있습니까입니다

중지?

또는 소스 파일이 TEST.C입니다 가정, mydev-objs := test.o를 추가하려고

+0

예, mydev.c가 make가 호출 된 디렉터리와 다른 디렉터리에있는 것 같습니다. 그렇지 않으면 실제로 소스 파일의 이름이 아닙니다. –