如何确认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)

相关推荐

  • css3翻转效果(在css中可以实现旋转效果的属性)

    技术css3如何实现元素左右翻转这篇文章主要介绍了css3如何实现元素左右翻转,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

    攻略 2021年12月16日
  • 如何了解Tomcat小版本差异

    技术如何了解Tomcat小版本差异这期内容当中小编将会给大家带来有关如何了解Tomcat小版本差异,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。事情从这儿说起,项目里调试的时候,一个同

    攻略 2021年12月8日
  • Linux系统如何安装ST-Link v2烧录环境

    技术Linux系统如何安装ST-Link v2烧录环境这篇文章主要介绍Linux系统如何安装ST-Link v2烧录环境,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、首先我们需要安装必要的库和

    攻略 2021年11月18日
  • 如何分析Tomcat9.0.37的基础及在IDEA中的配置

    技术如何分析Tomcat9.0.37的基础及在IDEA中的配置今天就跟大家聊聊有关如何分析Tomcat9.0.37的基础及在IDEA中的配置,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根

    攻略 2021年12月8日
  • apacheflink多个漏洞分析(apacheflink目录遍历漏洞修复)

    技术Apache Flink 目录遍历漏洞是怎样的本篇文章给大家分享的是有关Apache Flink 目录遍历漏洞是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一

    攻略 2021年12月21日
  • XamarinAndroid组件中RecylerView适配器如何使用动画

    技术XamarinAndroid组件中RecylerView适配器如何使用动画这篇文章主要介绍XamarinAndroid组件中RecylerView适配器如何使用动画,文中介绍的非常详细,具有一定的参考价值,感兴趣的小

    攻略 2021年12月3日