make makefile

make 的-f参数可以指定make的makefile文件的文件名字

make -f  mymakefile

make -f mymakefile clean

 

makefile的总控makefile可以把变量传送到下级的makefile

但不会覆盖下层的变量

想要传递到下层可以使用export

不想传递使用unexport

 

 

 export variable = value

 

       其等价于:

 

       variable = value

       export variable

需要注意的是,有两个变量,一个是SHELL,一个是MAKEFLAGS,这两个变量不管你是否export,其总是要传递到下层Makefile中,特别是MAKEFILES变量,其中包含了make的参数信息,如果我们执行总控Makefile”时有make参数或是在上层Makefile中定义了这个变量,那么MAKEFILES变量将会是这些参数,并会传递到下层Makefile中,这是一个系统级的环境变量。

 

makemakefile是在Linux系统上编译大型项目时常用的工具。通过使用make工具和makefile文件,我们可以将大型的开发项目分解成多个更易于管理的模块,从而简洁明快地处理各个源文件之间复杂的相互关系。make工具可以自动完成编译工作,并且只对程序员在上次编译后修改过的部分进行编译,从而提高项目开发的效率。\[1\] make是一种转化文件形式的工具,它可以将源文件转换生成目标文件,同时检查文件之间的依赖关系。make根据依赖文件的修改时间来判断是否需要重新编译。make使用makefile文件来确定目标文件的依赖关系,并将生成目标文件的相关命令传递给shell执行。\[2\] 在makefile中,可以将最终可执行文件名和"all"同时作为第一条规则的目标。这样,在执行make命令时,会根据可执行文件和依赖关系来判断是否执行命令。也可以使用"make all"来强制执行命令。\[3\] #### 引用[.reference_title] - *1* *3* [makemakefile详解](https://blog.csdn.net/weixin_43966547/article/details/124191491)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Linux操作系统中的makemakefile介绍](https://blog.csdn.net/liitdar/article/details/123694953)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值