如何确认makefile文件(如何使用makefile文件)

技术如何发现makefile如何发现makefile,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。默认的情况下,make命令会在当前目录下按

很多新手不太清楚如何找到makefile。为了帮助大家解决这个问题,下面小编就详细讲解一下。需要的人可以从中学习,希望你能有所收获。

默认情况下,make命令将按顺序在当前目录中搜索名为“GNUmakefile”、“makefile”和“makefile”的文件,并找到该文件的解释。

在这三个文件名中,最好使用文件名‘Makefile’,因为这个文件名的第一个字符是大写的,很有目的性。最好不要用GNU make认可的‘GNUmakefile’。

目标:受抚养人_1受抚养人_2.受抚养人_n

命令_1

命令_2

命令_3

(1)makefile中的变量赋值方法

makefile中定义的变量在赋值时还有其他引用变量,makefile会一步一步展开变量。

赋值运算符前后可以有几个空格。

1运算符=

递归展开引用变量,直到找到引用变量的最新值(搜索makefile)

我爱

变量=linux

var=$(变量)

变量=魔力

all:

@echo $(var)

输出:

我喜欢魔术

2运算符:=

递归展开引用变量,只找到变量赋值前最新引用变量的值(不要搜索整个makefile)。

m :=毫米

x :=$(m)

y :=$(x)巴

x :=更高

all:

@echo $(x) $(y)

输出:

$x -稍后

$y - mm酒吧

(如果y:=更改为y=,则$y的值为:稍后的小节)

3运算符=

您可以通过=

如果变量之前没有定义过,=与=相同,后者定义了一个递归扩展的变量。然而,当变量被定义后,=只是添加字符。

如果一开始定义的变量是:=的话,那么=只能通过使用变量的当前值来添加。

如果一开始用=定义变量,那么=的行为就有点奇怪了。它不会在使用=的地方立即展开变量,而是将展开推迟到找到最后一个变量的定义,这类似于=定义变量的行为。

4操作员?=(不起作用)

指定默认值。如果变量未初始化,请为其分配默认值。例如:

ARCH=手臂

ARCH?=i386

all:

@echo $(ARCH)

输出:

手臂

ARCH=

ARCH?=i386

all:

@echo $(ARCH)

输出:

i386

(2)makefile主要预定变量

$ *目标文件名,不包括扩展名

的所有依赖文件都可能包含重复的依赖文件,以空格分隔,并按出现的顺序排列。

% HTML _ CONTENT % lt第一个相关文件的名称

$?的所有从属文件,用空格分隔,其修改日期晚于目标的创建日期。

$ @目标的全名

$由空格分隔的所有依赖文件不包含重复的依赖文件。

$%如果目标是归档成员,此变量指示目标的归档成员名称。

(3)在3)makefile中使用默认函数

1个通配符

2 patsubst

3 notdir

SUB_DIR=。/locate order_maker调度程序传输

INCLUDE=$(foreach temp,$(SUB_DIR),-I./$(temp))

SRC=$(foreach temp,$(SUB_DIR),$(通配符$(temp)/*。cpp))

OBJS=$(foreach temp,$(SRC),$(patsubst %)。cpp,%。o,$(温度)))

OBJS_LINK=$(foreach temp,$(OBJS),obj/$(patsubst %)。cpp,%。o,$(notdir $(temp)))

(4)makefile中的文件搜索路径

在makefile中,可以通过给VPATH赋值来设置规则中目标文件和依赖文件的搜索目录。

首先,搜索当前目录。如果没有找到相关文件,make将根据VPATH中给出的目录搜索VPATH,该目录对makefile中的所有文件都有效。

例如:

vpaths :=/c/Ming \

/c/明/头

您也可以使用VPATH指令。vpath和vpath的区别在于,vpath可以为不同类型的文件指定不同的搜索目录。

例如:

vpath。c /c/ming

vpath。高/中/明/头

vpath %。c表示清除vpath为% c设置的所有搜索目录。

阅读以上内容对你有帮助吗?如果您想了解更多相关知识或阅读更多相关文章,请关注行业资讯频道,感谢您的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/157744.html

(0)

相关推荐

  • MYSQL在双MASTER环境中由ROW日志模式带来的数据是否一致

    技术MYSQL在双MASTER环境中由ROW日志模式带来的数据是否一致MYSQL在双MASTER环境中由ROW日志模式带来的数据是否一致,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题

    攻略 2021年11月20日
  • naalo2怎么读,NaAlO2的物质名称是什么

    技术naalo2怎么读,NaAlO2的物质名称是什么NaAlO2 偏铝酸钠 铝和氢氧化钠2Al+2H2O+2NaOH=2NaAlO2+3H2 氧化铝和氢氧化钠也可以Al2O3+2NaOH=2NaAlO2+H2O化学式Na

    生活 2021年10月19日
  • 如何使用mysqldump备份异机恢复数据库

    技术如何使用mysqldump备份异机恢复数据库这篇文章给大家分享的是有关如何使用mysqldump备份异机恢复数据库的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用mysqldump备份异

    攻略 2021年11月2日
  • 什么是学区房,学区房的标准是如何界定的

    技术什么是学区房,学区房的标准是如何界定的学区房什么是学区房,主要是一些城市的中学,小学的生源,是按住址所在地就近入学这一原则划分的。这也避免了很多麻烦,避免了托人情找关系。你住在哪个地方,你的小学入学就在附近的小学,不

    生活 2021年10月26日
  • 如何理解Solidity的Bytecode和Opcode

    技术如何理解Solidity的Bytecode和Opcode本篇文章为大家展示了如何理解Solidity的Bytecode和Opcode,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收

    攻略 2021年11月23日
  • 暴龙太阳镜官方网站,雷德蒙暴龙眼镜代言人是谁

    技术暴龙太阳镜官方网站,雷德蒙暴龙眼镜代言人是谁暴龙更好暴龙太阳镜官方网站。 我自己更喜欢暴龙的外观,看着很时尚,然后多大气的,好几副都是它家的,戴着很舒服,摭光也蛮不错的,用了有两年了吧,没有出问题过。 暴

    生活 2021年10月21日