2012-09-03 5 views
2

내 makefile 안에 커널 모듈을 만들기위한 출력 디렉토리를 설정하는 방법이 있습니까?커널 모듈을 특정 디렉토리에 빌드

원본 파일을 빌드 파일에서 지우고 싶습니다.

감사합니다. 커널 트리 (모듈, 또는 기타 외부 컴파일하는 경우

make O=/path/to/mydir 

:

안부

답변

1

커널 트리 내부에 구축하는 경우에 당신은 O 변수를 사용할 수 있습니다 종류의 프로그램) 당신은 당신의 Makefile를 다른 전화 번호부에 출력하기 위하여 바꿀 필요가있다. 다음은 메이크 규칙의 작은 예는 MY_DIR 디렉토리에 출력되는 : 다음

$(MY_DIR)/test: test.c 
    gcc -o [email protected] $< 

및 쓰기 : 불행하게도

$ make MY_DIR=/path/to/build/directory 
+1

를, 커널 모듈 (나무에서) 외부 만들 때 도움이하지 않는 것 . 내 시스템 (OpenSUSE 12.1 x86)에는 간단한 커널 모듈 소스와 함께 Kbuild와 Makefile이 들어있는 디렉토리 ('~/sample')가있다. 나는 그것을 읽기 전용으로 만들고 build 디렉토리 인'~/sample_build'를 만들었습니다. 후자에서 나는'make -C ~/sample O = $ (pwd)'를 실행했다. 빌드 시스템은'~/sample/.tmp_versions' 디렉토리와'.tmp * .o' 파일을'~/sample'에 생성하려고 시도했기 때문에 빌드가 실패했습니다. 아마도 작동시키기 위해 다른 것이 필요할까요? – Eugene

+0

반면에,'make ... O = '은 in-tree 커널 모듈에서 잘 작동하는 것처럼 보입니다. – Eugene

+0

답변을 개선하려고합니다. – Federico

관련 문제