代码改变世界

随笔分类 -  编译工具

跟我一起写Makefile:MakeFile介绍

2018-01-18 14:55 by nigaopeng, 222 阅读, 收藏,
摘要: http://wiki.ubuntu.org.cn/%E8%B7%9F%E6%88%91%E4%B8%80%E8%B5%B7%E5%86%99Makefile:MakeFile%E4%BB%8B%E7%BB%8D 阅读全文

makefile中的patsubst

2018-01-17 09:42 by nigaopeng, 891 阅读, 收藏,
摘要: 1、wildcard : 扩展通配符 2、notdir : 去除路径 3、patsubst :替换通配符 例子:建立一个测试目录,在测试目录下建立一个名为sub的子目录$ mkdir test$ cd test$ mkdir sub在test下,建立a.c和b.c2个文件,在sub目录下,建立sa. 阅读全文

Makefile特殊标签

2018-01-17 09:32 by nigaopeng, 286 阅读, 收藏,
摘要: http://www.gnu.org/software/make/manual/html_node/Special-Targets.html 阅读全文

Linux .o a .so .la .lo的区别

2018-01-16 17:04 by nigaopeng, 3626 阅读, 收藏,
摘要: o: 编译的目标文件a: 静态库,其实就是把若干o文件打了个包so: 动态链接库(共享库)lo: 使用libtool编译出的目标文件,其实就是在o文件中添加了一些信息la: 使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息 补充:libtool 1 libtool 阅读全文

Makefile.am文件的实例讲解

2018-01-11 14:23 by nigaopeng, 1312 阅读, 收藏,
摘要: Makefile.am是一种比Makefile更高层次的编译规则,可以和configure.in文件一起通过调用automake命令,生成Makefile.in文件,再调用./configure的时候,就将Makefile.in文件自动生成Makefile文件了。所以Makefile.am文件是比M 阅读全文

概念:GNU构建系统和Autotool

2018-01-10 17:52 by nigaopeng, 877 阅读, 收藏,
摘要: 经常使用Linux的开发人员或者运维人员,可能对configure->make->make install相当熟悉。事实上,这叫GNU构建系统,利用脚本和make程序在特定平台上构建软件。这种方式成为一种习惯,被广泛使用。本文从用户视角和开发者视角详细说明,这种构建方式的细节,以及开发者如何利用au 阅读全文

编写configure.ac

2018-01-10 17:12 by nigaopeng, 5178 阅读, 收藏,
摘要: configure.ac由一些宏组成(如果已经有源代码,你可以运行autoscan来产生一个configure.scan文件,在此基础修改成configure.ac将更加方便) 最基本的组成可以是下面的 基本含义已经在上篇文章中介绍了,这里不再叙述。 AC_INIT(PACKAGE, VERSION 阅读全文

GNU Autotools的使用方法

2018-01-10 17:04 by nigaopeng, 608 阅读, 收藏,
摘要: 手工写Makefile是一件很有趣的事情,对于比较大型的项目,如果有工具可以代劳,自然是一件好事。在Linux系统开发环境中,GNU Autotools 无疑就充当了这个重要角色。(在Windows系统的开发环境中,IDE工具,诸如Visual Studio,来管理项目也很方便。) 本文以一个简单项 阅读全文

cmakelist

2018-01-05 14:10 by nigaopeng, 711 阅读, 收藏,
摘要: cmake 添加头文件目录,链接动态、静态库 罗列一下cmake常用的命令。 CMake支持大写、小写、混合大小写的命令。 1. 添加头文件目录INCLUDE_DIRECTORIES 语法: 它相当于g++选项中的-I参数的作用,也相当于环境变量中增加路径到CPLUS_INCLUDE_PATH变量的 阅读全文

Kconfig介绍

2017-12-27 11:38 by nigaopeng, 255 阅读, 收藏,
摘要: https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt 阅读全文

Buildroot构建指南——工具链

2017-12-15 11:40 by nigaopeng, 5450 阅读, 收藏,
摘要: Linux系统的交叉编译工具链用来将源代码变成bin文件或者库文件的一个软件。一般大家默认工具链等于gcc或者arm-linux-gcc,但是实际上,gcc只是工具链的编译器部分,不是全部,制作一个工具链的原材料,除了gcc,还需要linux内核,libc库等一系列的软件包。所谓万事开头难,如何在B 阅读全文

Buildroot构建指南--快速上手与实用技巧

2017-12-15 11:31 by nigaopeng, 3659 阅读, 收藏,
摘要: Buildroot官方全英文使用手册的链接是https://buildroot.org/downloads/manual/manual.html,需要知道每一个细节的朋友,可以仔细查阅,这篇文章只是我自己从中提炼出来的一下快速上手的技巧。 如何在现有项目加入自己的APP Buildroot从零开始构 阅读全文

Buildroot构建指南--Overview

2017-12-12 11:44 by nigaopeng, 2122 阅读, 收藏,
摘要: 使用Buildroot,让嵌入式Linux系统构建更加便捷。本文以Buildroot-2016.05的版本为基础来讲解,不同版本之间有细节差异,需要根据读者使用的版本自行调整。 Buildroot是什么 Buildroot是Linux平台上一个开源的嵌入式Linux系统自动构建框架。整个Buildr 阅读全文

Gcov 详解 + 内核函数覆盖率测试方法详述及产生错误解决办法

2017-11-14 16:00 by nigaopeng, 653 阅读, 收藏,
摘要: http://blog.csdn.net/wangyezi19930928/article/details/42638345 http://www.uml.org.cn/Test/201208311.asp 阅读全文

Buildroot构建指南--Overview

2017-11-14 15:19 by nigaopeng, 205 阅读, 收藏,
摘要: http://blog.csdn.net/zhou_chenz/article/details/52295674 阅读全文

makefile里PHONY的相关介绍

2017-11-14 15:12 by nigaopeng, 312 阅读, 收藏,
摘要: Phony Targets PHONY 目标并非实际的文件名:只是在显式请求时执行命令的名字。有两种理由需要使用PHONY 目标:避免和同名文件冲突,改善性能。 如果编写一个规则,并不产生目标文件,则其命令在每次make 该目标时都执行。例如: clean: rm *.o temp因为"rm"命令并 阅读全文