I'm not familiar with Makefiles, I can kinda understand them, but with the Linux Kernel I have a question.
(Using 3.7.1, Patched with BFS so line numbers may be a bit off)
On line 248
HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer
Is this passed to all the Makefiles?
Then on Lines 349 and 352 Respectively
CFLAGS_MODULE = .... CFLAGS_KERNEL = .... CFLAGS_GCOV = -fprofile-arcs -ftest-coverage
CFLAGS_MODULE is passed to things built as a module, and the next is specific to the kernel itself? And
CFLAGS_GCOV is for debugging and profiling?
Then there are a bunch of KBUILD_CFLAGS
KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
I'm guessing the previous line removes those options, and the next line adds?
KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
I haven't found a good tutorial about this either.