Makefile连载
文章平均质量分 90
火焰山大白菜
事物的难度远远低于对事物的恐惧!
展开
-
第七载:makefile中的条件判断
makefile跟编程语言一样,也支持条件判断,方式大同小异,makefile条件判断语句的语法如下:虽然有集中形式,但是推荐使用第一种,其比较符合我们的编程习惯(尤其从事C/C++派系的工作人员),需要注意的是,ifxxx前边不能为tab键(因为不是命令),()中也不允许有空格,否则会报错,这里ifxxx是泛指集中判断类型,具体的如下:可以支持 ifeq ... else ... ...原创 2019-09-22 19:47:16 · 438 阅读 · 0 评论 -
第六载:makefile变量的高级主题
在makefile中,我们已经知道变量的基本赋值方法、使用等,但是在makefile中,变量还有一些高级的属性,掌握这些属性,可以使编写的makefile更加高效,现在就来了解下makefile中变量的高级属性 一、变量值的替换 - makefile支持使用指定字符(串)替换变量值中的后缀字符(串) - 语法格式为:$(var:a=b) 或者 $...原创 2019-09-22 14:41:08 · 347 阅读 · 0 评论 -
第五载:预定义变量的使用
在makefile中,存在一些预定义的变量,我们可以直接使用他们,预定义的变量可分为自动变量与特殊变量 1、 自动变量 $@ 表示目标 $^ 表示目标的所有依赖 $< 表示目标的第一个依赖all : first second third @echo "\$$@ => $@" @ec...原创 2019-09-21 09:08:30 · 339 阅读 · 0 评论 -
第四载:makefile中变量的赋值方式
makefile类似于脚本程序,当然也支持程序里边变量的概念,makefile中的变量只是文本数据(字符串),没有C语言中的数字等,并且大小写敏感。 makefile中的变量有4种赋值方式: - 简单赋值( := )(最常用) - 递归赋值( = ) - 条件赋值( ?= ) - 追加赋值( += ) 对于变量的使用,与C语言不同的是,需要...原创 2019-09-21 00:39:09 · 1105 阅读 · 0 评论 -
第三载:makefile中的伪目标
在前边的两个章节中,我们提到了makefile中的目标,并且知道这个目标存在且依赖没有更新,make就不再编译程序。一般在默认的情况下 - make 认为目标对应着一个文件(可执行程序、so库等等) - 比较目标文件和依赖的新旧关系,决定是否执行命令 - make以文件处理作为第一优先级clean : rm *.o hello.out在上边的一个...原创 2019-09-20 08:43:51 · 486 阅读 · 0 评论 -
第二载:makefile的结构
在上一篇中,我们只是简单的介绍了make跟makefile的基本概念,并且实现了一个简单的makefile,但是那个makefile仅仅是做一些打印工作,并没有什么实际性用途。在编写真正可用的makefile前,我们先来了解下makefile的结构。 前边也提到,makefile的意义在于: 1、makefile用于定义源文件间的依赖关系 2、makefile说明如...原创 2019-09-19 09:02:29 · 392 阅读 · 0 评论 -
第一载:初识make与makefile
我们写程序完成后,都需要进行编译才能运行,在一些集成的IDE(如vs2010、QT等),都提供有一键编译的功能,整个编译过程(预处理、编译、链接),IDE已经帮我们屏蔽了。但是在嵌入式或Linux平台下的开发,基本都是通过make跟makefile来管理整个工程项目,即源码与源码之间如何关联、依赖等等。除此之外,学习make跟makefile,可以使得开发人员对于程序的编译过程有更深层次的...原创 2019-09-19 00:32:19 · 382 阅读 · 0 评论 -
第八载:makefile中函数定义及调用
在Makefile中,是支持函数使用的,Makefile中的函数包括make解释器自身预定义的函数,同时也支持我们自己定义函数。在Makefile中, 通过define关键字来实现函数的自定义,并以endef关键字结束,自定义函数使用预定义函数call调用,后边跟自定义函数名及参数,如下就是一个简单的自定义函数:.PHONY : testdefine fun1 @echo "...原创 2018-12-23 11:31:43 · 6929 阅读 · 0 评论