假如,有很多文件,每个文件都要变成一个单独的目标文件,如果使用makefile的话,最好能用一个 for 循环来做。
makefile是支持使用 for的。
先假定有下面几个文件:
Makefile可写成如下的形式:
其中
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
+关注
关注
0文章
44浏览量
15508 -
Makefile
+关注
关注
1文章
121浏览量
19092
发布评论请先 登录
相关推荐
如何共享文件给虚拟机中的Linux系统
软件开发时,很多时候会用到 Linux 虚拟机,而办公环境,又离不开 Windows ,导致有些文件需要在两个环境之间来回切换,为了方便文件传输,可以为
发表于 08-22 15:40
•1677次阅读
【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次阅读
在Linux下实现进度条程序,通过makefile进行编译
1. 在Linux下实现进度条程序。 通过makefile进行编译。 建议自主完成一个彩色的进度条。
写Makefile文件的原因:
发表于 03-12 16:31
•1813次阅读
Makefile目标,伪目标,头文件自动依赖
改变过的源文件tar 把源程序打包备份,就是一个tar文件dist 创建一个压缩文件,一般吧tar文件压缩成Z文件或gz
发表于 05-16 15:17
•1155次阅读
Linux内核的Makefile、Kconfig和.config文件
Linux内核源码文件繁多,搞不清Makefile、Kconfig、.config间的关系,不了解内核编译体系,编译修改内核有问题无从下手,
怎么安装linux虚拟机
在计算机领域,虚拟机是一种软件程序,它允许在主操作系统上运行多个虚拟操作系统。Linux虚拟机在开发、测试和学习等环境中得到广泛应用。本文将
评论