커널 외부 모듈 컴파일시 CFLAGS 지정방법

poplinux의 이미지

커널 내부에서 컴파일 할 때는 EXTRA_CFLAGS 를 사용해서 옵션 지정하는 것이 문제가 없었는데 외부 모듈로 빼서 컴파일 하려고 하니까 EXTRA_CFLAGS 가 동작 하지 않네요.

#ifdef TEST
void test(void)
{
  .......
}
#endif
 
int init_module(void)
{
 test();
 return 0;
}
 
void exit_module(void)
{
}
 
 
module_init(init_module);
module_exit(exit_module);
MODULE_LICENSE("Dual BSD/GPL");
[code]

bushi의 이미지

그럴리가요. 내외부 가리지 않고 잘 썼었는데요.

EXTRA_CFLAGS 는 Makefile 내의 오브젝트 전체에 영향을 주고.
CFAGS_test.o 는 test.o 오브젝트에 대해서 추가되고,
CFLAGS_REMOVE_test.o 는 test.o 오브젝트에 대해서 제거됩니다.

poplinux의 이미지

Makefile 에서 ifdef 잘못 사용한 거였습니다.

========================
조직 : E.L.D(Embedded Linux Developer/Designer)
블로그 : poplinux@tistory.com
카페 : cafe.naver.com/poplinux

임베디드 리눅스 관련 프리렌서 지향