Linux Makefile总结

对linux内核的Makefile的总结:
1.配置文件.config中定义了一系列的变量,Makefile将结合它们来决定
哪些文件被编译到内核,哪些文件被编译为模块,涉及哪些子目录。
2.顶层的Makefile和arch/$(ARCH)/Makefile决定根目录下哪些子目录,
arch/$(ARCH)目录下哪些文件和目录被编译到内核。
3.最后,各级子目录下的Makefile决定所在目录下哪些文件将被编译到内核,
哪些文件编成模块,进入哪些子目录继续调用他们的Makefile。
4.顶层的Makefile和arch/$(ARCH)/Makefile设置了可以影响所有文件的编译,链接选项
:CFLAGS,AFLAGS,LDFLAGS,ARFLAGS.
5.各级子目录下的Makefile可以设置能够影响当前目录的所有文件的编译,链接选项:
EXTRA_CFLAGS,EXTRA_AFLAGS,EXTRA_LDFLAGS,EXTRA_ARFLAGS.还可以设置影响某个文件的编译
选项:CFLAGS_$@,AFLAGS_$@,LDFLAGS_$@,ARFLAGS_$@.
6.顶层的Makefile按照一定的顺序组织文件,根据链接脚本arch/$(ARCH)/kernel/vmlinux.lds
来生成内核的映像文件vmlinux。
 

猜你喜欢

转载自blog.csdn.net/xiezhi123456/article/details/83447551
今日推荐