首页
学习
活动
专区
圈层
工具
发布

makefile

前言 这几天的实验让我觉得有必要学习一下makefile 参考博客:博客 会不会写makefile,从一个侧面说明了一个人是否具有完成大型工程的能力 makefile带来的好处是自动化编译 规则...上述make的工作方式 make寻找名为makefile或者Makefile的文件 寻找第一个目标文件,上述例子edit为最终的目标文件 如果edit文件不存在,那么make会寻找edit后的.o文件,...objects) 极大减少了代码量 清空clean .PHONY: cleanclean: -rm edit $(objects) .PHONY是一个伪目标,rm前的-告诉make也许某些文件会出现问题...,但不要管,继续clean makefile的文件系统 如果你不想使用makefile或者Makefile的文件名,可以用make -f file,file是你的文件名。...makefile中包含其他makefile的指令如同c++ 一样: -include foo.make a.mk b.mk c.mk e.mk f.mk 减号仍然表示不管怎样报错都继续执行下去,上面的命令可以采用部分正则规则简化

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    makefile 基础、进阶及常用 makefile

    联合编译 makefile 上面的例子只是一个最简单的 makefile 的使用方法,但实际项目里面不可能只有一个文件,实际可能是多个 .c .h 组成,像这样的项目,我们该如何通过 makefile...而有些时候你会发现,这样编译带来的问题是如果我只改动了其中一个文件的代码,执行这个编译语法的时候,会重新编译所有的代码,小工程也就算了,如果是个大项目那肯定会很慢,所以这不是上上之选。...gcc main.o add.o sub.o mul.o -o app makefile 变量 接下来我们引入 makefile 变量机制,来修改一下上面的 makefile 文件。...makefile 中的 all 因为 makefile 的执行流程是找到第一个目标作为最终生成的目标,如果顺序错乱了,makefile 就可能报错,all 方法就是解决这个问题而存在的,并且,all 方法可以让一个...解决这个问题的办法就是将 clean 方法声明为一个_伪目标_,做就就是让 clean 无论如何都更新,同样我们生成的 all 目标也可能会出现这种情况,所以我们将它们两个都声明为伪目标,方法如下: src

    76610

    Makefile

    因此,我们可以使用 makefile 来模块化我们的分析流程。 Makefile 是一种用于自动化构建过程的文件,通常用于 Unix 和类 Unix 系统上。它由一个名为 make 的工具读取和执行。...Makefile 定义了一系列的规则和依赖关系,用于指导如何编译和链接程序。 在生信分析中使用 makefile 可以帮助我们自动化分析流程,我们不需要特别高级的学习。...下面是一个简单的 makefile 示例: 首先我们创建一个文件,命名为Makefile,然后在文件中写入一些内容。...makefile 的小技巧 默认设置 在 Makefile 中添加上这些设置后可以让 makefile 更加强大: .RECIPEPREFIX = > .DELETE_ON_ERROR: SHELL :...ebola.fa.gz data/refs/human.fa.gz data/refs/ebola.fa 生信流程模块化 虽然我们都希望一个脚本能够完成所有的工作,这样是可实现的,但可能会遇到各种各样的问题

    36110

    Makefile教程

    Windows环境开发人员,可能并未听说过Makefile,但是时时刻刻在使用Makefile来完成程序的编译,因为开发者并不需要手动编写Makefile,而是通过IDE自动生成。...这就是Makefile的规则。也就是Makefile中最核心的内容。 3.Makefile内容 Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。 1.显式规则。...为避免这个问题,可使用”.PHONY”指明该命令名称。...7.10如何使用shell脚本给Makefile变量赋值 Makefile可以内嵌shell脚本,但是在内嵌的shell脚本只能读取Makefile的变量,如何给Makefile变量赋值呢?...[5]Makefile中的shell语法 [6]多个文件目录下Makefile的写法 [7]Makefile里PHONY的相关介绍 [8]Makefile中关于all和.PHONY .

    4.5K53

    跟我一起写Makefile:MakeFile介绍

    这就是makefile的规则。也就是makefile中最核心的内容。 说到底,makefile的东西就是这样一点,好像我的这篇文档也该结束了。呵呵。...所以,为了makefile的易维护,在makefile中我们可以使用变量。makefile的变量也就是一个字符串,理解成C语言中的宏可能会更好。...另类风格的makefile 既然我们的make可以自动推导命令,那么我看到那堆[.o]和[.h]的依赖就有点不爽,那么多的重复的[.h],能不能把其收拢起来,好吧,没有问题,这个对于make来说很容易,...而在rm命令前面加了一个小减号的意思就是,也许某些文件出现问题,但不要管,继续做后面的事。当然,clean的规则不要放在文件的开头,不然,这就会变成make的默认目标,相信谁也不愿意这样。...上面就是一个makefile的概貌,也是makefile的基础,下面还有很多makefile的相关细节,准备好了吗?准备好了就来。 Makefile里有什么?

    1.2K20

    makefile基本使用

    make程序需要一个编译规则说明文件,称为makefile,makefile文件中描述了整个软件工程的编译规则和各个文件之间的依赖关系。...makefile就像是一个shell脚本一样,其中可以执行操作系统的命令,它带来的好处就是我们能够实现“自动化编译”,一旦写好,只要一个make命令,整个软件功能就完全自动编译,提高了软件开发的效率。...make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说大多数编译器都有这个命令,使用make可以是重新编译的次数达到最小化。...makefile文件的规则可以非常复杂,比C程序还要复杂,平常使用实际用不了那么多 接下来,介绍它的使用方法: ?...该文件夹下含有很多个c文件,如果我们想要每个c文件生成对应的可执行文件,则需要在控制台敲编译命令很多次,而且每次重新编译都需要重新敲命令 第一种方法:在该文件夹下创建makefile文件,内容如下: #

    1.1K10
    领券