我正在分析Linux内核Makefile
的软件包。我们可以定义一个附加的编译器标志,以使用ccflags-y += -std=gnu11 -Wno-declaration-after-statement -Werror
构建外部模块。我看了看Makefile.build
哪个外部模块构建了下来,甚至没有注意到已定义的Makefile.build
选项。选项的完整列表:
ccflags-m
据我了解,obj-y :=
obj-m :=
lib-y :=
lib-m :=
always :=
targets :=
subdir-y :=
subdir-m :=
EXTRA_AFLAGS :=
EXTRA_CFLAGS :=
EXTRA_CPPFLAGS :=
EXTRA_LDFLAGS :=
asflags-y :=
ccflags-y :=
cppflags-y :=
ldflags-y :=
subdir-asflags-y :=
subdir-ccflags-y :=
和y
在m
中的含义是,m-表示可加载模块,y-表示内置模块。因此,用kbuild
而不是ccflags-y
指定编译器选项似乎不合逻辑。
问题:
为什么ccflags-m
的可装载模块没有ccflags-y
对应的-m
?我正在分析Linux Kernel Makefiles软件包。我们可以定义一个附加的编译器标志,以使用ccflags -y + = -std = gnu11 -Wno-declaration-after-statement -Werror来构建外部模块。我看着...
实际上,仅为了确定目标文件