makefile教程

makefile教程

图片[1]-makefile教程-学吧号基于 Make 命令教程 – 阮一峰的网络日志 (ruanyifeng.com) 总结,可以将make看作一个自顶向下的构建工具 在makefile相同目录下执行 make 可查看效果 makefile文件名默认 Makefile 或 makefile .也可以指定文件: make -f rules.txt 或者 make –file=rules.txt 如果 前置条件 满足,执行 命令 构建 目标 目标可以是文件,也可以是某个操作的名字 运行 make clean 可以执行这个操作: 如果make检测到当前目录中存在clean文件,就不会执行clean操作,因此最好标明clean是个操作 前置条件通常是一组文件名,用空格分割,指定了目标是否重新构建的标准:只要有一个前置文件不存在,或者有过更新(前置文件的修改时间晚于目标文件),目标就需要重新构建 如果当前目录没有source.txt,make会首到makefile的下面去寻找有没有生成source.txt的目标 命令行首默认必须是一个tab键!!!,如果测试过程有报错记得检查下 ,如果想替换,可用.RECIPEPREFIX替换(对整个文件生效 (The .RECIPEPREFIX is only supported since 3.82 每条命令都在单独的shell中执行,这些shell没有关联,也没有继承关系 解决办法就是通过写成一行 或者用反斜杠转义 最后一个办法是加上 .ONESHELL: 命令 (同上 # 表示注释 正常情况下,make会打印每条命令,即使注释也会打印,在命令前面加@可以关闭打印 通配符 用来指定一组符合条件的文件名,与bash类似 * ? […] 允许对文件名进行模式匹配,匹配符是% 下面的命令将 file1.c 编译为file1.o 允许使用 = 自定义变量 调用shell变量,需要两个$$,因为make命令会使$转义 变量支持引用 为了区分生效时间,分成四类 gnu make – What is the difference between the GNU Makefile variable assignments =, ?=, := and +=? – Stack Overflow 内置变量 $(CC)指向当前编译器 $(MAKE)指向当前make工具 详细如表 https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html 自动变量 https://www.gnu.org/software/make/manual/html_node/Automatic-Variables.html 判断和循环 与bash相同 函数格式 内置函数 https://www.gnu.org/software/make/manual/html_node/Functions.html

如何写一个简单的Makefile

图片[2]-makefile教程-学吧号

可以从最简单的一个文件开始,然后慢慢完善,比如:多个源文件、支持多个目录存放源文件、编译生成的临时文件放到某一个目录下、头文件单独放一个目录、支持静态库、动态库等,慢慢地一个工程项目的makefile就写出来了。

linux 5如何安装makefile软件

图片[3]-makefile教程-学吧号

Make工具最主要也是最基本的功能就是通过makefile文件来描述源程序之间的相互关系并自动维护编译工作。makefile是自己写的,不是安装的。

安装make整个过程可以分为以下几步:1) 取得应用软件:通过下载、购买光盘的方法获得;2) 解压缩文件:一般tar包,都会再做一次压缩,如gzip、bz2等,所以你需要先解压。

如果是最常见的gz格式,则可以执行:“tar –xvzf 软件包名”,就可以一步完成解压与解包工作。如果不是,则先用解压软件,再执行“tar –xvf 解压后的tar包”进行解包;3) 阅读附带的INSTALL文件、README文件;4) 执行“./configure”命令为编译做好准备; 例如./configure –prefix=/usr/local/mysql(表示设置软件的安装目录为:/usr/local/mysql)5) 执行“make”命令进行软件编译;6) 执行“make install”完成安装;7) 执行“make clean”删除安装时产生的临时文件。好了,到此大功告成。我们就可以运行应用程序了。

但这时,有的读者就会问,我怎么执行呢?这也是一个Linux特色的问题。其实,一般来说,Linux的应用软件的可执行文件会存放在/usr/local/bin目录下!不过这并不是“放四海皆准”的真理,最可靠的还是看这个软件的INSTALL和README文件,一般都会有说明。

谁能简单明了的介绍一下c语言的makefile?

图片[4]-makefile教程-学吧号

有篇《Linux下Makefile教程》值得一读。没看懂Use this to make clean all and build all your exercises so far.的意思,先清理再构建?对最开始的题可以这么写:all:ext1ext1:源文件 构建ext1的命令.PHONY:all然后make all和make ext1是一样的效果。

名字如果不是Makefile、makefile、GNUmakefile之一,用make -f Makefile文件名 all或make -f Makefile文件名 ext1。

如何让makefile自动推导不同文件夹下

图片[5]-makefile教程-学吧号可以使用SUBDIRS这个变量,赋值不同的目录,make自动会进入到该目录去递归编译具体使用,可以参考Makefile视频教程:Makefile工程实践-一步一步写项目的Makefile

THE END
喜欢就支持一下吧
点赞10
温馨提示:

1、本内容转载于网络,版权归原作者所有!
2、本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
3、本内容若侵犯到你的版权利益,请联系我QQ:243371741,会尽快给予删除处理!