![Linux 커널 makefile의 CFLAGS: 언제 어떤 것을 사용해야 합니까?](https://linux55.com/image/44260/Linux%20%EC%BB%A4%EB%84%90%20makefile%EC%9D%98%20CFLAGS%3A%20%EC%96%B8%EC%A0%9C%20%EC%96%B4%EB%96%A4%20%EA%B2%83%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
저는 Makefile에 익숙하지 않고 이해할 수 있지만 Linux 커널에 문제가 있습니다.
(3.7.1을 사용하여 BFS로 패치했기 때문에 줄번호가 조금 어긋날 수 있습니다.)
248호선
HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer
이것이 모든 Makefile에 전달됩니까?
그런 다음 각각 349행과 352행에서
CFLAGS_MODULE =
....
CFLAGS_KERNEL =
....
CFLAGS_GCOV = -fprofile-arcs -ftest-coverage
모듈로 구축된 무언가에 전달된 것 같은데 CFLAGS_MODULE
다음은 커널 자체에 특정한 것입니까? CFLAGS_GCOV
디버깅 및 분석을 위해 ?
그런 다음 KBUILD_CFLAGS가 많이 있습니다.
KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
이전 줄에서는 옵션을 제거하고 다음 줄에서는 옵션을 추가한 것 같은데요?
KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
나도 이것에 대한 좋은 튜토리얼을 찾지 못했습니다.