makefile命令行参数(如何给Make命令用来传递参数)

2024-08-22 14:45:37 0

makefile命令行参数(如何给Make命令用来传递参数)

大家好,如果您还对makefile命令行参数不太了解,没有关系,今天就由本站为大家分享makefile命令行参数的知识,包括如何给Make命令用来传递参数的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

本文目录

如何给Make命令用来传递参数

有时候,我们还是需要让make命令带入一些参数给makefile脚本。

比如,你在代码里面需要定义一个宏DEBUG来打开调试开关,代码如下:int main(){int i=9;#ifdef DEBUGi=1;#elsei=0;#endifprintf("i=%d\n", i);return 0;}一般来说,这个宏定义可以通过直接修改源代码进行,但这样显然不是很好的办法。另外一个办法是通过makefile修改,比如:

CFLAGS=-g -Wall -DDEBUG

object=myprog

all:$objectmyprog:a.c

gcc ${CFLAGS} a.c -o ${object}

如果更进一步,连makefile都不想修改,我们可以通过向make命令传递参数来进行,为此,我们需要适当的修改makefile如下:

CFLAGS=CFLAG

CFLAGS+=-g -Wall -DDEBUG

object=myprog

all:$objectmyprog:a.c

gcc ${CFLAGS} a.c -o ${object}

此时,如果想打开DEBUG宏,我们可以这样输入make命令:

$ make CFLAG=-DDEBUG

gcc -g -Wall -DDEBUG a.c

a.c: In function `main’:

a.c:9: warning: implicit declaration of function `printf’ $

我们可以发现,DEBUG宏已经被正确的传入。

更进一步的,我们可以通过传递不同的参数给make,让make编译不同的模块。

makefile 中,出现$$(M) 是什么意思,我一般$(M)这么用

在makefile中,会经常使用shell命令,也经常见到$var 和 $$var的情况,有什么区别呢,区别大了。不要认为在makefile的规则的命令行中使用$var就是将makefile的变量和shell共享了,这里仅仅是读取makefile的变量然后扩展开,将其值作为参数传给了一个shell命令。而$$var是在访问一个shell命令内定义的变量,而非makefile的变量。此外,如果某规则有n个shell命令行构成,而相互之间没有用’;’和’\’连接起来的话,就是相互之间没有关联的shell命令,相互之间也不能变量共享。看如下例子:makefile代码段1:VAR=3 target: prerequsite1 prerequsite2 echo $VAR (1) VAR=4 (2) echo $VAR (3) echo $$VAR (4) 在代码段1中,(1)的结果是3,显然makefile利用自己的变量将$VAR扩展成3之后传递给这个echo这个shell命令。 (2)中,是一个独立的shell命令自己第一了一个shell变量,名字也叫VAR,且其值为4,不会影响到makefile中的VAR。 (3)中,同(1),makefile中的变量VAR的值依然是3 (4)makefile将$$VAR先执行一次扩展得到如下shell命令: echo $VAR然后交给shell去解释执行,可是对于这个shell命令来说VAR是一个为定义的变量,因此输出的结果就是个空行。makefile代码段2:VAR=3 target: prerequsite1 prerequsite2 echo $VAR;\ (1’) VAR=4;\ (2’) echo $VAR;\ (3’) echo $$VAR (4’) 在代码段2中,所有的shell命令都被连接起来了,那么执行的结果就有变化了: (1’)结果同(1),$VAR被替换成了3 (2’)结果同(2) (3’)输出3,因为虽然shell中有VAR变量,可是makefile先要进行扩展,扩展的结果就是echo 3。 (4’)输出4,因为makefile扩展结果为echo $VAR,而shell中已经有了变量VAR,且其值为4.

makefile能不能接受输入参数

应该叫传入参数或者变量,可以的。

你可以直接在Make的时候,在命令行下面传入一个参数或者变量,它会覆盖掉Makefile里面的变量或者参数。比如,在你的Makefile里面定义了一个变量age.

.PHONY:allAGE = 12all:    @echo "age=$(AGE)"

你make的时候,打印信息是age=12

当你使用make AGE=20时,打印的信息就是:age=20,AGE作为参数传入,然后会覆盖掉Makefile里面定义的变量。

更多深入的教程,可以百度:Makefile工程实践

[问题]在makefile中加编译参数-pthread

Ubuntu Github:  4_5_shared_memory 尝试一: 尝试二 直接在命令行中编译时成功的 makefile 同时生成多个可执行文件

文章分享结束,makefile命令行参数和如何给Make命令用来传递参数的答案你都知道了吗?欢迎再次光临本站哦!

makefile命令行参数(如何给Make命令用来传递参数)

本文编辑:admin

更多文章:


中信建投证券排名第几(十大证券商有哪几个)

中信建投证券排名第几(十大证券商有哪几个)

各位老铁们好,相信很多人对中信建投证券排名第几都不是特别的了解,因此呢,今天就来为大家分享下关于中信建投证券排名第几以及十大证券商有哪几个的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录十大证券商有哪几个中国证券

2024年5月18日 03:06

大航海之路最红之鸟在哪?大航海之路爱神之岛在什么位置

大航海之路最红之鸟在哪?大航海之路爱神之岛在什么位置

本文目录大航海之路最红之鸟在哪大航海之路爱神之岛在什么位置大航海之路黑曜石在哪里大航海之路的传奇船只改造换船能更改吗大航海之路近卫舰队等级分布如何评价网易游戏《大航海之路》大航海之路最红之鸟在哪大航海之路最红之鸟在亚马逊河,在里约热内卢港口

2024年7月2日 06:35

nba2k16官方下载正版(NBA2K16下载地址谁能发我一下)

nba2k16官方下载正版(NBA2K16下载地址谁能发我一下)

今天给各位分享NBA2K16下载地址谁能发我一下的知识,其中也会对NBA2K16下载地址谁能发我一下进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录NBA2K16下载地址谁能发我一下如何下载nba2k16nba

2024年8月13日 00:25

最后一页空白页删不掉(word最后一页空白页删不掉怎么办)

最后一页空白页删不掉(word最后一页空白页删不掉怎么办)

大家好,如果您还对最后一页空白页删不掉不太了解,没有关系,今天就由本站为大家分享最后一页空白页删不掉的知识,包括word最后一页空白页删不掉怎么办的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录word最后一页空白

2024年6月13日 17:43

免费用虚拟号码发短信(怎么使用106平台发短信,虚拟手机号码接收短信验证码平台)

免费用虚拟号码发短信(怎么使用106平台发短信,虚拟手机号码接收短信验证码平台)

大家好,关于免费用虚拟号码发短信很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于怎么使用106平台发短信,虚拟手机号码接收短信验证码平台的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站

2024年5月17日 08:16

下载安卓市场到桌面(华为手机下载软件商店在哪里下)

下载安卓市场到桌面(华为手机下载软件商店在哪里下)

大家好,关于下载安卓市场到桌面很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于华为手机下载软件商店在哪里下的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目

2024年8月17日 06:36

中国移动宽带测速网站(移动网络怎么测速)

中国移动宽带测速网站(移动网络怎么测速)

本篇文章给大家谈谈中国移动宽带测速网站,以及移动网络怎么测速对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录移动网络怎么测速移动宽带怎么测网速哪家的宽带套餐速度快中国移动怎么查看自己的宽带是多少m网速的大家测网速都用哪个网站移

2024年7月15日 13:27

刷机教程图解(oppo手机刷机怎么刷机教程图解)

刷机教程图解(oppo手机刷机怎么刷机教程图解)

本文目录oppo手机刷机怎么刷机教程图解华为怎么刷机教程图解苹果手机怎么刷机教程图解oppo怎样刷机教程图解华为手机怎样刷机教程图解法华为手机手动刷机教程图解苹果6手机怎么刷机教程图解oppo手机刷机怎么刷机教程图解OPPO手机刷机步骤:1

2024年7月10日 21:35

征途2法师技能加点(征途2法师(火焰)技能加点方法求详细)

征途2法师技能加点(征途2法师(火焰)技能加点方法求详细)

本文目录征途2法师(火焰)技能加点方法求详细征途2法师属性点怎么加征途2法师火系怎么加技能点征途2非R雷电法师怎么加点征途2 法师 技能点怎么加 把基础和火焰都说下征途2法师技能怎么加点【征途2法师技能加点】征途手机版电法加点指南征途2法师

2024年6月28日 21:48

方正字体侵权一般赔多少钱(如果方正字体被侵权了,那一般要赔多少钱)

方正字体侵权一般赔多少钱(如果方正字体被侵权了,那一般要赔多少钱)

各位老铁们,大家好,今天由我来为大家分享方正字体侵权一般赔多少钱,以及如果方正字体被侵权了,那一般要赔多少钱的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2024年7月22日 07:16

erp系统使用教程(金蝶erp系统如何操作)

erp系统使用教程(金蝶erp系统如何操作)

这篇文章给大家聊聊关于erp系统使用教程,以及金蝶erp系统如何操作对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录金蝶erp系统如何操作管家婆云ERP操作指南erp系统操作教程仓库ERP系统如何操作的ERP系统仓库管理教程快

2024年9月28日 22:21

12306分流抢票官网下载(微信12306抢票夜间未开启那个开不开咋回事)

12306分流抢票官网下载(微信12306抢票夜间未开启那个开不开咋回事)

大家好,12306分流抢票官网下载相信很多的网友都不是很明白,包括微信12306抢票夜间未开启那个开不开咋回事也是一样,不过没有关系,接下来就来为大家分享关于12306分流抢票官网下载和微信12306抢票夜间未开启那个开不开咋回事的一些知识

2024年8月28日 23:25

黑米手机质量怎么样?黑米手机是小米旗下的吗

黑米手机质量怎么样?黑米手机是小米旗下的吗

本文目录黑米手机质量怎么样黑米手机是小米旗下的吗黑米手机也是属于小米旗下的吗黑米手机是小米产品吗黑米手机是用联通卡还是移动卡了黑米手机是属于小米系列的吗黑米手机是什么黑米手机质量怎么样黑米手机太差了,我用过的A5,坏了也没有保修,发回厂家没

2023年9月23日 15:20

网游最火的游戏排行榜(网络游戏排行榜前十)

网游最火的游戏排行榜(网络游戏排行榜前十)

大家好,网游最火的游戏排行榜相信很多的网友都不是很明白,包括网络游戏排行榜前十也是一样,不过没有关系,接下来就来为大家分享关于网游最火的游戏排行榜和网络游戏排行榜前十的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目

2024年6月29日 11:20

59文学http://www.59too.com怎么加入收藏?59文学怎么打开是白屏~怎么回事有人知道么~

59文学http://www.59too.com怎么加入收藏?59文学怎么打开是白屏~怎么回事有人知道么~

这篇文章给大家聊聊关于59文学网,以及59文学http://www.59too.com怎么加入收藏对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录59文学http://www.59too.com怎么加入收藏59文学怎么打开是白

2024年6月25日 09:42

欢乐麻将有没有单机版?天天麻将单机版在哪里找到

欢乐麻将有没有单机版?天天麻将单机版在哪里找到

本篇文章给大家谈谈麻将单机版,以及欢乐麻将有没有单机版对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录欢乐麻将有没有单机版天天麻将单机版在哪

2024年7月1日 22:45

win7自动关机命令(win7自动关机命令是什么 怎么设置)

win7自动关机命令(win7自动关机命令是什么 怎么设置)

本文目录win7自动关机命令是什么 怎么设置Win7 定时关机指令win7自动关机命令win7自动关机命令是什么 怎么设置在弹出的“运行”窗口中输入“at 23:00 shutdown -s”,按下回车键即可。在系统关闭前一分钟,会弹出提醒

2024年3月24日 12:15

房源管理软件(房产中介用什么软件管理好)

房源管理软件(房产中介用什么软件管理好)

本文目录房产中介用什么软件管理好出租房管理软件哪个比较好一些排名在前的房产管理软件有哪几个房产中介房源管理系统哪一款房产中介找房源和发布房源用的哪些软件房产中介的房管系统管理软件哪个效果最好房产中介员工管理软件用哪个好有没有那种免费的房源管

2024年5月17日 15:36

coreldrawx4手机版(coreldraw x4是什么软件)

coreldrawx4手机版(coreldraw x4是什么软件)

各位老铁们好,相信很多人对coreldrawx4手机版都不是特别的了解,因此呢,今天就来为大家分享下关于coreldrawx4手机版以及coreldraw x4是什么软件的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本

2024年9月4日 04:02

豌豆荚官网下载安卓(怎么在手机下载豌豆荚)

豌豆荚官网下载安卓(怎么在手机下载豌豆荚)

这篇文章给大家聊聊关于豌豆荚官网下载安卓,以及怎么在手机下载豌豆荚对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录怎么在手机下载豌豆荚豌豆荚官方下载bridgess官网安卓在那里下载安卓豌豆荚官方下载苹果手机怎么下载豌豆荚安卓

2024年8月13日 17:35

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2334
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1732
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1156
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1153
标签列表

热门搜索