0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

虚拟机:Linux的Makefile使用for编译多个目标文件

如意 来源:CSDN 作者:CaspianSea 2020-06-22 17:40 次阅读

假如,有很多文件,每个文件都要变成一个单独的目标文件,如果使用makefile的话,最好能用一个 for 循环来做。

makefile是支持使用 for的。

先假定有下面几个文件:

虚拟机:Linux的Makefile使用for编译多个目标文件

虚拟机:Linux的Makefile使用for编译多个目标文件

虚拟机:Linux的Makefile使用for编译多个目标文件


虚拟机:Linux的Makefile使用for编译多个目标文件

Makefile可写成如下的形式:

虚拟机:Linux的Makefile使用for编译多个目标文件

虚拟机:Linux的Makefile使用for编译多个目标文件

其中

TARGETS = $(SRCS:%.cpp=%)

相当于

TARGETS = $(patsubst %.cpp,%,$(SRCS))

需要说明的几点:

1. 因为 for属于 shell 命令,所以这里的target变量需要再加上一个$ , 确保shell接收到的是 $target (makefile会先把 $$target 处理为 $target, 传给shell)。

2. 因为,makefile的 target对应的 命令,每一行都是在一个单独的subshell里执行,所以,如果想要 shell 变量始终是可见的话,需要加一个反斜线,表示这些命令是在一个 subshell里执行。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10978

    浏览量

    206671
  • for
    for
    +关注

    关注

    0

    文章

    44

    浏览量

    15508
  • Makefile
    +关注

    关注

    1

    文章

    121

    浏览量

    19092
收藏 人收藏

    评论

    相关推荐

    Makefile】C文件包含的头文件修改,但不重新编译

    Linux + MakefileMakefile的高阶用法:解决C文件包含的头文件修改了,但C文件
    的头像 发表于 09-08 08:53 4177次阅读
    【<b class='flag-5'>Makefile</b>】C<b class='flag-5'>文件</b>包含的头<b class='flag-5'>文件</b>修改,但不重新<b class='flag-5'>编译</b>?

    如何共享文件虚拟机中的Linux系统

    软件开发时,很多时候会用到 Linux 虚拟机,而办公环境,又离不开 Windows ,导致有些文件需要在两个环境之间来回切换,为了方便文件传输,可以为
    发表于 08-22 15:40 1677次阅读
    如何共享<b class='flag-5'>文件</b>给<b class='flag-5'>虚拟机</b>中的<b class='flag-5'>Linux</b>系统

    开发板如何通过虚拟机文件共享功能,运行虚拟机linux下的程序

    开发板如何通过虚拟机文件共享功能,运行虚拟机linux下的程序
    发表于 03-20 23:44

    【NanoPi K1 Plus试用体验】本地编译&搭建虚拟机交叉编译环境

    使用aarch64-cortexa53-linux-gnu-gcc --version指令查看交叉编译链是否添加成功:输出以下信息即代表交叉编译链添加成功。然后我们就可以写一份非常简单的C/C++代码来使用这个强大的交叉
    发表于 08-05 23:35

    手把手教你安装Linux虚拟机

    虚拟机。所谓虚拟机,就是在你已有的电脑里再虚拟出一个或多个电脑,可以理解为电脑中的电脑。比如说,你可以在虚拟机里安装一个Window电脑,或
    发表于 05-13 11:47

    嵌入式Linux编译调试

    【嵌入式Linux编译调试】VisualStdio+VisualGDB在嵌入式Linux开发中,常见的方式是通过sourceinsight编辑程序,然后拷贝到Linux
    发表于 11-04 09:04

    如何创建虚拟机

    实战开发--开发环境安装(五)1、下载软件vmware和ubuntu-20.04.1-desktop-amd64.iso2、创建虚拟机完整步骤3、安装嵌入式linux所需的工具包4、安装vmware tool,实现虚拟机与物理主
    发表于 12-16 07:45

    如何写Makefile编译汇编和C文件

    经常在一个项目中包含多个.c源文件,而且一个.c源文件包含了一堆的头文件,这种情况下如何编写makefile,使得能成功
    发表于 11-24 09:03 1.3w次阅读
    如何写<b class='flag-5'>Makefile</b><b class='flag-5'>编译</b>汇编和C<b class='flag-5'>文件</b>

    Linux下实现进度条程序,通过makefile进行编译

    1. 在Linux下实现进度条程序。 通过makefile进行编译。 建议自主完成一个彩色的进度条。 写Makefile文件的原因:
    发表于 03-12 16:31 1813次阅读

    Makefile目标,伪目标,头文件自动依赖

    改变过的源文件tar 把源程序打包备份,就是一个tar文件dist 创建一个压缩文件,一般吧tar文件压缩成Z文件或gz
    发表于 05-16 15:17 1155次阅读
    <b class='flag-5'>Makefile</b><b class='flag-5'>目标</b>,伪<b class='flag-5'>目标</b>,头<b class='flag-5'>文件</b>自动依赖

    虚拟机Linux改变打开文件的个数

    虚拟机Linux改变打开文件的个数
    的头像 发表于 06-22 16:38 2056次阅读
    <b class='flag-5'>虚拟机</b>:<b class='flag-5'>Linux</b>改变打开<b class='flag-5'>文件</b>的个数

    虚拟机Linux查看tar包文件内容的方法

    虚拟机Linux查看tar包文件内容的方法
    的头像 发表于 06-22 16:49 6241次阅读

    虚拟机Linux设置core dump文件名的格式

    虚拟机Linux设置core dump文件名的格式
    的头像 发表于 06-22 17:50 2664次阅读
    <b class='flag-5'>虚拟机</b>:<b class='flag-5'>Linux</b>设置core dump<b class='flag-5'>文件</b>名的格式

    Linux内核的Makefile、Kconfig和.config文件

    Linux内核源码文件繁多,搞不清Makefile、Kconfig、.config间的关系,不了解内核编译体系,编译修改内核有问题无从下手,
    的头像 发表于 11-12 17:31 2735次阅读

    怎么安装linux虚拟机

    在计算机领域,虚拟机是一种软件程序,它允许在主操作系统上运行多个虚拟操作系统。Linux虚拟机在开发、测试和学习等环境中得到广泛应用。本文将
    的头像 发表于 11-23 10:50 601次阅读