커널 버전 2.6에서 디바이스 드라이버 컴파일하려고 Makefile만들었습니다. 그런데 에러가 나네요.ㅠㅠ

0
points

CC = arm-linux-gcc
KERNELDIR = /working/linux-2.6.16

obj-m := call_dev.o

PWD := $(shell pwd)

kobj:
$(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) modules

TEST_TARGET = call_app
TEST_OBJS = call_app.o

$(TEST_TARGET): $(TEST_OBJS)

$(TEST_OBJS): %.o: %.c

all : kobj $(TEST_TARGET)

clean :
$(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) clean
rm -f $(TEST_TARGET) $(TEST_OBJS)

이렇게 컴파일 하니 call_dev.o 파일만 생기고 call_app.o , call_app 파일이 컴파일되지 않네요. 제가 무엇을 잘못했나요?

kiwist의 이미지
1253
points

드라이버 소스가

0
points

드라이버 소스가 여러 개 라면 call_dev-objs : = .... 도 있어야 하지 않을까요?
그리고 빌드할 때 CC 를 정의하지는 않고, 그냥 CROSS_COMPILE=arm-linux- 로 지정을 합니다만...
저도 잘 모르겠습니다. 후다닥~ ^^;;;

댓글 보기 옵션

원하시는 댓글 전시 방법을 선택한 다음 "설정 저장"을 누르셔서 적용하십시오.