- 博客(45)
- 资源 (38)
- 收藏
- 关注
转载 Makefile十七之后缀规则和隐含规则的搜索算法
后缀规则是一个比较老式的定义隐含规则的方法。后缀规则会被模式规则逐步地取代。因为模式规则更强更清晰。为了和老版本的 Makefile 兼容,GNU make 同样兼容于这些东西。后缀规则有两种方式:"双后缀"和"单后缀"。双后缀规则定义了一对后缀:目标文件的后缀和依赖目标(源文件)的后缀。如".c.o"相当于"%o : %c"。单后缀规则只定义一个后缀,也就是源文件的后缀。如".c"相当于"%
2017-09-30 15:39:32 399
转载 Makefile十六之模式规则及其自动化变量
你可以使用模式规则来定义一个隐含规则。一个模式规则就好像一个一般的规则,只是在规则中,目标的定义需要有"%"字符。"%"的意思是表示一个或多个任意字符。在依赖目标中同样可以使用"%",只是依赖目标中的"%"的取值,取决于其目标。有一点需要注意的是,"%"的展开发生在变量和函数的展开之后,变量和函数的展开发生在 make 载入 Makefile 时,而模式规则中的"%"则发生在运行时
2017-09-30 14:54:30 233
转载 Makefile十五隐含规则的变量
在隐含规则中的命令中,基本上都是使用了一些预先设置的变量。你可以在你的makefile 中改变这些变量的值,或是在 make 的命令行中传入这些值,或是在你的环境变量中设置这些值,无论怎么样,只要设置了这些特定的变量,那么其就会对隐含规则起作用。当然, 你也可以利用 make 的“-R”或“--no–builtin-variables”参数来取消你所定义的变量对隐含规则的作用。 例如,
2017-09-30 14:41:42 303
转载 Makefile十四之隐含规则
1. 概述隐含规则,在一些在 Makefile 中的“隐含的”,早先约定了的,不需要我们再写出来的规则。如果要使用隐含规则生成你需要的目标,你所需要做的就是不要写出这个目标的规则。那么,make 会试图去自动推导产生这个目标的规则和命令,如果 make 可以自动推导生成这个目标的规则和命令,那么这个行为就是隐含规则的自动推导。当然,隐含规则是 make 事先约定好的
2017-09-30 14:35:14 231
转载 Makefile十三之make参数
有时候,我们不想让我们的 makefile 中的规则执行起来,我们只想检查一下我们的命令,或是执行的序列。于是我们可以使用 make 命令的下述参数:“-n”“--just-print”“--dry-run”“--recon”不执行参数,这些参数只是打印命令,不管目标是否更新,把规则和连带规则下的命令打印出来,但不执行,这些参数对于我们调试 makefile 很有用处。“-
2017-09-30 14:24:51 452
转载 Makefile十二之make的运行
一、 make 的退出码make 命令执行后有三个退出码:0 - 表示成功执行。1 - 如果 make 运行时出现任何错误,其返回 1。2 - 如果你使用了 make 的“-q”选项,并且 make 使得一些目标不需要更新,那么返回 2。 二、指定 Makefile前面我们说过,GNU make 找寻默认的 Makefile 的规则是在当前目录下依次找三个文
2017-09-30 14:21:17 188
转载 Makefile十一之shell函数和控制make函数
shell函数shell 函数也不像其它的函数。顾名思义,它的参数应该就是操作系统 Shell 的命令。它和反引号“`”是相同的功能。这就是说, shell 函数把执行操作系统命令后的输出作为函数返回。于是,我们可以用操作系统命令以及字符串处理命令 awk,sed 等等命令来生成一个变量,如:contents := $(shell cat foo)files := $(shell ec
2017-09-30 14:12:45 741
转载 Makefile十之origin函数
origin 函数不像其它的函数,他并不操作变量的值,他只是告诉你你的这个变量是哪里来的?其语法是:$(origin )注意,是变量的名字,不应该是引用。所以你最好不要在中使用“$”字符。Origin 函数会以其返回值来告诉你这个变量的“出生情况”,下面,是 origin函数的返回值:“undefined”如果从来没有定义过,origin 函数返回这个值“undefined”。
2017-09-30 14:06:15 334
转载 Makefile九之foreach,if,call函数
1. foreachforeach 函数和别的函数非常的不一样。因为这个函数是用来做循环用的, Makefile中的 foreach 函数几乎是仿照于 Unix 标准 Shell(/bin/sh)中的 for 语句,或是 C-Shell(/bin/csh)中的 foreach 语句而构建的。它的语法是:$(foreach ,,)这个函数的意思是,把参数中的单词逐一取出放到参数所指定
2017-09-30 13:59:43 844
转载 Makefile八之文件操作函数
1、 dir$(dir )名称:取目录函数——dir。功能:从文件名序列中取出目录部分。目录部分是指最后一个反斜杠(“/”)之前的部分。如果没有反斜杠,那么返回“./”。返回:返回文件名序列的目录部分。示例: $(dir src/foo.c hacks)返回值是“src/ ./”。 2、 notdir$(notdir )名称:取文件函数——n
2017-09-28 18:08:30 247
转载 Makefile七之字符串处理函数
函数概述函数调用,很像变量的使用,也是以“$”来标识的,其语法如下:$( )或是${ }这里,就是函数名,make 支持的函数不多。是函数的参数,参数间以逗号“,”分隔,而函数名和参数之间以“空格”分隔。函数调用以“$”开头,以圆括号或花括号把函数名和参数括起。 1、 subst$(subst ,,)名称:字符串替换函数——subst。功
2017-09-28 18:05:08 828
转载 Makefile六条件语句
条件表达式的语法为:endif以及:elseendif 其中表示条件关键字,如“ifeq”。这个关键字有四个。第一个是我们前面所见过的“ifeq” 。比较参数“arg1”和“arg2”的值是否相同。ifeq (, )ifeq '' ''ifeq "" ""ifeq "" ''ifeq '' "" 第
2017-09-28 17:19:22 195
转载 Makefile五之使用变量
1. 变量的简单实用Make的变量类似C的宏是种替换= ,赋值$( ) ,取变量值2. 变量中的变量在定义变量的值时,我们可以使用其它变量来构造变量的值,在 Makefile 中有四种方式来在用变量定义变量的值。第一种方式,也就是简单的使用“=”号,前面的变量可以使用后面定义的值。如:foo = $(bar)bar = $(ugh)ugh =
2017-09-28 16:44:23 278
转载 Makefile四书写命令
一. 显示命令如果 make 执行时,带入 make 参数“-n”或“--just-print”,那么其只是显示命令,但不会执行命令,这个功能很有利于我们调试我们的 Makefile,看看我们书写的命令是执行起来是什么样子的或是什么顺序的。而 make 参数“-s”或“--slient”则是全面禁止命令的显示。 二. 命令执行当依赖目标新于目标时,也就是当规则的目标需要
2017-09-28 16:17:03 253
转载 Makefile基础三之书写规则
0. 语法规则 targets : prerequisitescommand...或是这样:targets : prerequisites ; commandcommand... 1. 通配符在规则语法中可以直接使用通配符,其会自动展开如果是赋值给变量,需要 wildcard 关键字。 如 objects := $(wildcard *.o)
2017-09-28 14:59:03 172
转载 Makefile的工作流程
1、读入所有的 Makefile。2、读入被 include 的其它 Makefile。3、初始化文件中的变量。4、推导隐晦规则,并分析所有规则。5、为所有的目标文件创建依赖关系链。6、根据依赖关系,决定哪些目标要重新生成。7、执行生成命令。1-5 步为第一个阶段,6-7 为第二个阶段。第一个阶段中,如果定义的变量被使用了,那么,make 会把其展开在使用的位置。但
2017-09-28 14:48:59 478
转载 Makefile基础之二使用,引用和环境变量MAKEFILES
1. 使用make命令会根据顺序寻找MAKEFILE文件 “GNUmakefile” ,"makefile","Makefile"也可以自己指定 make -f xxx2. 引用 include引用支持shell的通配符寻找文件路径如下:2.1 当前目录2.2 如果 make 执行时,有“-I”或“--include-dir”参数,那么 make 就会在这个参数
2017-09-28 14:23:47 462
原创 Makefile基本一之大体语法组成
基本简介:一. 组成概述目标:依赖命令二. 自动推导其可以自动推导文件和文件依赖后面的关系例子:objects = main.o kbd.o command.o display.o \insert.o search.o files.o utils.oedit : $(objects)cc -o edit $(objects)$(objects) : de
2017-09-28 14:08:27 371
转载 uboot使用
1. 博客:http://blog.csdn.net/fivedoumi/article/details/48976451 http://blog.csdn.net/zqixiao_09/article/details/50790375 http://blog.csdn.net/qq_29350001/article/details/50888277
2017-09-25 15:49:56 162
转载 链接基本一之符号
工具:readelf -s 查看文件的符号(注意是小写s,大写是查看段)例子:Symbol table '.symtab' contains 16 entries: Num: Value Size Type Bind Vis Ndx Name 0: 0000000000000000 0 NOTYPE LOCAL D
2017-09-20 15:41:13 1179
转载 ELF文件格式
ELF是linux下的一种文件格式,类似WIN下的PE格式,包含有 .o 文件,.a 文件,.so 文件和可执行文件,还有core dump file(核心转储文件) 以段划分,主要可分为头段,test段,data段,rodata段,bss段额外:WIN下动态库为 .dll ,静态库为 .lib调试工具:objdump:跨平台的查看段的工具,在GCC编译工具里有
2017-09-20 14:44:27 235
转载 shell基本
传参和判断例子: if [ $# != 0 ]; then if [ $1 == "read" ]; then vim gsReport.txt fi else echo "you can input \"read\" to open the report" fi
2017-09-20 11:31:32 250
转载 编译原理
一 编译的四个步骤 预处理,编译,汇编,链接。1. 预处理:处理头文件,并以此添加需要的内容。#相关如宏,条件编译等 例子:gcc -E test.c -o test.i2. 编译:进行一系列的词法分析,语法分析,语义分析,源代码优化,代码生成,目标代码优化,生成汇编文件 例子:gcc -S test.i -o test.s3. 汇编:将汇编代码转换为机
2017-09-19 13:40:37 368
转载 制作交叉编译工具链
1. crosstool-ng 方法:http://blog.csdn.net/woshidahuaidan2011/article/details/51344312http://www.cnblogs.com/kele-dad/p/6697155.html?utm_source=itdadao&utm_medium=referral错误:https://www
2017-09-18 14:55:26 899
转载 学习相关
阅读源码的提议:http://www.csdn.net/article/2014-06-05/2820092-interview-with-pengxu
2017-09-18 11:55:05 316
转载 图片分析
基础概念:1. 比特,常见有1,2,4,8,16,32.以8为例子,2的8次方为256,所有有256种原色颜色BMP图像:http://blog.csdn.net/o_sun_o/article/details/8351037
2017-09-18 09:45:26 860
转载 软件测试
嘿嘿博客:http://blog.csdn.net/bwf_shwangzhanbu/article/details/77962832 测试用例的编写可不简单呢,写一份专业的测试用例,是所有测试工作者考虑的内容,其实用例的编写是可以通过一些思路来进行,不少比较成熟的公司为了提升用例的专业性,就会有自己的用例库,包括流程、关注点,以及自己定义的模板。 今天作为测试老鸟的
2017-09-14 18:26:35 329
转载 材料
屏:G+G是说:表面钢化玻璃+玻璃GLASS材质的触摸屏G+P是说:表面钢化玻璃+PC材质的触摸屏G+F是说:表面钢化玻璃+薄膜FILM材质的触摸屏
2017-09-08 13:34:58 260
转载 连接
连接多个路径时export CFLAGS="-I/xxx1-I/xxx2"export LDFLAGS="-L/xxx1 -L/xxx2" 用双引号括起,用空格隔开
2017-09-08 10:50:06 177
opencl异构计算
2017-07-30
opencl编程指南
2017-07-30
GitHub入门与实践
2017-09-21
Linux-Printer.tar.gz
2017-09-14
[数字印刷原理与工艺].张逸新.扫描版.pdf
2017-09-10
strace调试工具移植.zip
2017-09-07
uboot2016.07移植.pdf
2017-09-04
ARM Assembly.CLF
2017-09-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人