-D
- это опция компилятора (или препроцессора), указывающая ему определить макрос. Таким образом, размещение -D__KERNEL__
в командной строке компилятора - это то же самое, что размещение #define __KERNEL__
в верхней части файла. Аналогично, -DFOO
определит макрос с именем FOO
.
Никакой макрос с именем D__KERNEL__
здесь не определяется.