포함
#include<linux/module.h>
#include<linux/init.h>
int my_init(void){
printk("<1> Angus : Module Insertion is successful!");
return 0;
}
void my_cleanup(void){
printk("<1> Angus : Module unloading successful!");
}
module_init(my_init);
module_cleanup(my_cleanup);
obj-m:=simple.o
aoll:
make -C /usr/src/linux-headers-3.2.0-25-generic-pae/ M=$(PWD) modules
clean:
make -C /usr/src/linux-headers-3.2.0-25-generic-pae/ M=$(PWD) clean
있도록 -C =>이 경로는/usr/SRC에서 메이크업, 을하기 전에 디렉토리 변경됩니다 /linux-headers-3.2.0-25-generic-pae/ Makefile이 있는데 M = $ (PWD)가 필요한 이유는 무엇입니까? 그것은 무엇을합니까, 어디에서 $ PWD를 확인할 수 있습니까? /usr/src/linux-headers-3.2.0-25-generic-pae/에있는 Makefile은 all : 모듈과 target 모듈을 모두 대상으로하며 대상을 깨끗하게 유지합니다. obj-m이란 무엇입니까?
폴 에반스 감사합니다. – Angus
"대답이 아닙니다"라고 표시된 이유는 무엇입니까? 그것은 나에게 잘 보인다. – LarsH
@LarsH : 동의합니다, 대답입니다, 그냥 잘못되었습니다. :-) 문제는'Makefile '에있는 세 개의 별도 명령 행이 세 개의 별개 쉘 명령에 의해 실행된다는 것입니다. 첫 번째'cd'가 실행 된 다음 쉘이 종료되고 다시 원래 위치로 되돌아 가고 두 번째'echo'가 실행되어 작업 디렉토리가 인쇄되고 세 번째'make'는 잘못된 디렉토리에서 실행됩니다. – torek