저는 간단한 Hello World 커널 모듈을 작성하고 있습니다. 내가 작성한 Makefile에서 다음 오류가 발생했습니다.
esp@ubuntu:~/task1-2$ make all
make -C /usr/src/linux-headers-3.13.0-35-generic SUBDIRS = /home/esp/task1-2 modules
make: ****** empty variable name. Stop.
make: ** [all] Error 2
이 문제를 어떻게 바로잡을 수 있나요?
내 빌드 파일:
obj-m += task1-2.o
KDIR = /usr/src/linux-headers-3.13.0-35-generic
all:
$(MAKE) -C $(KDIR) SUBDIRS = $(PWD) modules
clean:
rm -f *.o
rm -f *.ko
rm -f *.mod.*
rm -f *.symvers
rm -f *.order
답변1
이 부분(GNU) 매뉴얼 9.3 만들기재정의 변수를 설명합니다.
"="를 포함하는 매개변수는 변수의 값을 지정합니다. "v=x"는 변수 v의 값을 x로 설정합니다.
문제는 makefile에 있는 것이 아니라 호출에 있습니다. 포함된 매개변수 =
는 바로 =
. Make는 여러 인수를 지정해야 하는 하나의 인수로 연결하지 않습니다 SUBDIRS=/home/esp/task1-2
.