首页 > 其他分享 >MakeFile

MakeFile

时间:2023-02-07 21:58:06浏览次数:31  
标签:文件 依赖 MakeFile Makefile 目标 编译 规则

什么是Makefile

  • 工程中的文件不计其数,其按类型、功能和模块放在若干个目录中
  • Makefile文件定义了一系列的规则来指定哪些文件需要先编译,哪些文件后编译,哪些文件需要重新编译
  • Makefile带来的好处就是“自动化编译”,一旦写好,可以用make命令整个工具完成自动编译
  • make是一个命令工具,解释makefile文件中指令的命令工具

文件命名和规则

image

  • 目标:生成的可执行文件
  • 依赖:生成目标所需要的文件,可以有多条

Makefile的其他规则都是为第一条规则服务的,其他规则执行完后才会执行第一条规则

Makefile指令

app:sub.c mult.c
    gcc sub.c mult.c -o app

工作原理

  • 在命令执行前,需要检查规则中的依赖是否存在;如果存在则执行命令,不存在则检查其他规则
  • 检查更新,在执行规则的命令时,会比较目标与依赖文件的时间:如果依赖的时间比目标的时间晚,需要重新生成目标。如果依赖的时间比目标的时间早,目标不需要更新

变量

image
注意:在访问过程中使用$()来访问变量

模式匹配

image

函数

第一个函数:
image

第二个函数:
image

标签:文件,依赖,MakeFile,Makefile,目标,编译,规则
From: https://www.cnblogs.com/xiaoqing-ing/p/17099923.html

相关文章

  • linux平台makefile文件的编写基础篇
    目的:基本掌握了make的用法,能在Linux系统上编程。环境:Linux系统,或者有一台Linux服务器,通过终端连接。一句话:有Linux编译环境。准备:准备三个文件:fil......
  • 项目管理:如何编写高质量的Makefile?
    文章目录​​背景​​​​熟练掌握Makefile语法​​​​规划Makefile要实现的功能​​​​设计合理的Makefile结构​​​​掌握Makefile编写技巧​​​​技巧1:善用......
  • 嵌入式Linux中Makefile万能写法
    嵌入式Linux中Makefile万能写法对于linux系统中使用gcc进行编译:#列出当前目录下所有*.c文件SRC:=$(wildcard*.c)#将所有*.c文件转为*.o文件OBJ:=$(patsubst%.c,%.o......
  • Makefile文件
    #编译后的可执行文件名称BIN=stack#收集目录下的所有.c文件SRC=$(wildcard*.c)#调用makefile中的函数patsubst,用.o文件代替.c文件OBJ=$(patsubst%.c,%.o,$(SR......
  • [C++]Makefile概要
    ####Makefile变量和赋值符##延迟赋值: = 变量的正常设置,但值字段中提到的任何其他变量都在使用变量时用其值递归展开,而不是声明变量时的值## 延迟变量使用[......
  • makefile是什么,它是如何工作的?
    概述当某些文件发生改变时想要执行一个执行一个任务时,make可以排上用场。Make需要一个文件名为makefile或MakeFile的文件来定义一系列将要运行的任务集。你可以使用make来......
  • Makefile 和 CMake
    Makefilehttps://makefiletutorial.com/make精髓  1,如果target存在,将不会执行;反之,则执行2,如果依赖改变,即使target存在也会重新执行makeclean注意clean不是ma......
  • 【Linux操作系统】自动化编译make和Makefile
    文章目录​​一.make/makefile简介​​​​1.什么是make,makefile?​​​​2.为什么要有make/makefile?​​​​二.makefile文件规则​​​​1.基本规则​​​​2.举一个例......
  • Makefile
    简单示例src=$(wildcard./*.c)objs=$(patsubst%.c,%.o,$(src))target=app$(target):$(objs)$(CC)$^-o$@%.o:%.c$(CC)-c$<[email protected]:clea......
  • makefile入门
    安装makesudoaptinstallmake命令行指令make在当前目录自动寻找makefile或Makefile文件规则:一、一个makefile可有多个规则规则的格式:目标...:依赖...命令(Shell......