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

    文章

    11292

    浏览量

    209329
  • for
    for
    +关注

    关注

    0

    文章

    44

    浏览量

    15811
  • Makefile
    +关注

    关注

    1

    文章

    125

    浏览量

    19181
收藏 人收藏

    评论

    相关推荐

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

    Linux + MakefileMakefile的高阶用法:解决C文件包含的头文件修改了,但C文件
    的头像 发表于 09-08 08:53 5374次阅读
    【<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 3886次阅读
    如何共享<b class='flag-5'>文件</b>给<b class='flag-5'>虚拟机</b>中的<b class='flag-5'>Linux</b>系统

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

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

    linux虚拟机怎么联网

    虚拟机安装linux系统无法上网的解决方法。
    发表于 06-03 09:29 2380次阅读

    虚拟机Linux如何测试 DBUS Daemon

    虚拟机Linux如何测试 DBUS Daemon
    的头像 发表于 06-22 16:35 4325次阅读
    <b class='flag-5'>虚拟机</b>:<b class='flag-5'>Linux</b>如何测试 DBUS Daemon

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

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

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

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

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

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

    【嵌入式Linux编译调试---1---】VisualStdio+VisualGDB

    【嵌入式Linux编译调试】VisualStdio+VisualGDB 在嵌入式Linux开发中,常见的方式是通过sourceinsight编辑程序,然后拷贝到Linux
    发表于 11-01 17:38 8次下载
    【嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>编译</b>调试---1---】VisualStdio+VisualGDB

    VMware虚拟机和主机传输文件

    open-vm-tools-desktop 重启系统: reboot 此时可以使用 Ctrl+C 、 Ctrl+V 的方式在主机和Linux虚拟机之间传输文件虚拟机为Window
    的头像 发表于 06-13 17:50 1672次阅读
    VMware<b class='flag-5'>虚拟机</b>和主机传输<b class='flag-5'>文件</b>

    linux虚拟机系统基本指令

    Linux虚拟机系统是一种通过虚拟化技术在物理服务器上部署多个独立的虚拟机实例的操作系统。它可以帮助用户更有效地利用硬件资源,并方便地部署和
    的头像 发表于 11-17 10:04 1616次阅读

    linux虚拟机使用教程

    。我们会从以下几个方面展开讲述:1. 安装虚拟化软件;2. 创建虚拟机;3. 安装Linux操作系统;4. 配置网络与共享文件夹;5. 基本操作与常用命令。希望通过本文,你能够轻松上手
    的头像 发表于 11-17 10:06 1267次阅读

    虚拟机linux怎么编写程序

    虚拟机Linux上编写程序,包括设置虚拟机、选择编程工具、创建和编辑代码、编译和运行程序等等。让我们开始吧! 第一部分:设置虚拟机 在开始编
    的头像 发表于 11-17 10:08 1784次阅读

    vm虚拟机linux系统怎么编程

    虚拟机中编程Linux系统是学习和探索计算机科学的一个重要方面。使用虚拟机可以在主机上模拟出一个或多个独立的计算环境,我们可以在其中安装和运行不同的操作系统。通过创建
    的头像 发表于 11-17 10:10 1942次阅读

    怎么安装linux虚拟机

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