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

相关推荐

  • hbase学习 rowKey的设计-4

    技术hbase学习 rowKey的设计-4 hbase学习 rowKey的设计-4hbase学习 rowKey的设计-4访问hbase table中的行,只有三种方式:
    1 通过单个row key访问

    礼包 2021年12月22日
  • hbase shell操作语句有哪些

    技术hbase shell操作语句有哪些这篇文章将为大家详细讲解有关hbase shell操作语句有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。hbase shell操作语句基本

    攻略 2021年12月9日
  • mysql小数可用的类型有哪些

    技术mysql小数可用的类型有哪些小编给大家分享一下mysql小数可用的类型有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    攻略 2021年12月1日
  • pgbench性能测试分析

    技术pgbench性能测试分析本篇内容主要讲解“pgbench性能测试分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“pgbench性能测试分析”吧!--pgbench 测

    攻略 2021年11月9日
  • Spring中接口注入的三种方式分别是什么

    技术Spring中接口注入的三种方式分别是什么本篇文章为大家展示了Spring中接口注入的三种方式分别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Spring中 接口注入

    攻略 2021年10月27日
  • linux中如何使用strace追踪mysql执行语句

    技术linux中如何使用strace追踪mysql执行语句这篇文章将为大家详细讲解有关linux中如何使用strace追踪mysql执行语句,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获

    攻略 2021年10月30日