![Makefile 오류: 변수 이름이 비어 있습니다.](https://linux55.com/image/55283/Makefile%20%EC%98%A4%EB%A5%98%3A%20%EB%B3%80%EC%88%98%20%EC%9D%B4%EB%A6%84%EC%9D%B4%20%EB%B9%84%EC%96%B4%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
저는 간단한 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
.