易截截图软件、单文件、免安装、纯绿色、仅160KB

[转]Linux内核Makefile文件(二)

=== 6 体系Makefile文件
在开始进入各个目录编译之前,顶层Makefile文件设置编译环境和做些准备工作。顶层Makefile文件包含通用部分,arch/$(ARCH) /Makefile包含该体系架构所需的设置。因此arch/$(ARCH)/Makefile会设置一些变量和少量的目标。
当编译时将按照以下大概步骤执行:
1) 配置内核 => 产生 .config文件
2) 保存内核版本到include/linux/version.h文件中
3) 符号链接include/asm to include/asm-$(ARCH)
4) 更新所有目标对象的其它前提文件
- 附加前提文件定义在arch/$(ARCH)/Makefile文件中
5) 递归进入init-* core* drivers-* net-* libs-*中的所有子目录和编译所有的目标对象
- 上面变量值都引用到arch/$(ARCH)/Makefile文件。
6) 链接所有的object文件生成vmlinux文件,vmlinux文件放在代码树根目录下。
最开始链接的几个object文件列举在arch/$(ARCH)/Makefile文件的head-y变量中。
7) 最后体系Makefile文件定义编译后期处理规则和建立最终的引导映像bootimage。
- 包括创建引导记录
- 准备initrd映像和相关处理
--- 6.1 变量设置
LDFLAGS      $(LD)一般选项
     选项使用于链接器的所有调用中。通常定义emulation就可以了。
     Example:
             #arch/s390/Makefile
             LDFLAGS   := -m elf_s390
     注意: EXTRA_LDFLAGS和LDFLAGS_$@可以进一步订制使用选项,请参考第7章。
LDFLAGS_MODULE       $(LD)链接模块的选项
     LDFLAGS_MODULE通常设置$(LD)链接模块的.ko选项。默认为"-r"即可重定位输出文件。
LDFLAGS_vmlinux   $(LD)链接vmlinux选项
     LDFLAGS_vmlinux定义链接最终vmlinux时链接器的选项。LDFLAGS_vmlinux支持使用LDFLAGS_$@。
     Example:
             #arch/i386/Makefile
             LDFLAGS_vmlinux := -e stext
OBJCOPYFLAGS      objcopy选项
&


相关文档:

实战Linux Bluetooth编程(三) HCI层编程

1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI)  就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......

linux的目录介绍

 之前看了一些关于linux操作系统的教程,比较喜欢将这些东西记录在本子上,现在再将这些东西贴到博客上,和大家交流一下。很多linux高手说到,想要学好linux必须对其目录有个透彻的理解。以下是我总结的一些东西:
与Windows一样,在Linux中也是通过目录来组织文件的。但不同的是,在Linux下只有一个根目录,而不象Win ......

[整理]Linux命令 档案目录管理

档案目录管理 ls
语法: ls [-alrtAFR] [name...]
说明: 显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。   
参数:
  -a 显示所有档案及目录 (ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)
  -l 除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出
  -r ......

linux之gcc命令

      在Linux下进行C语言编程,必然要采用GNU GCC来编译C源代码生成可执行程序。Gcc指令的一般格式为:
Gcc [选项] 要编译的文件 [选项] [目标文件]。其中,目标文件可缺省,Gcc默认生成可执行的文件名为:编译文件.out
看一下经典入门程序"Hello World!"
# vi hello.c ,编辑如下:
#inclu ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号