社区
Linux/Unix社区
帖子详情
makefile 中$@,$<是什么意思?
bulala
2006-05-16 09:24:34
如题
...全文
7361
4
打赏
收藏
makefile 中$@,$<是什么意思?
如题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gudulyn
2006-05-19
打赏
举报
回复
$@ 扩展成当前规则的目的文件名, $< 扩展成依靠列表中的第 一个依靠文件,而 $^ 扩展成整个依靠的列表(除掉了里面所有重 复的文件名)。利用这些变量,我们可以把上面的 makefile 写成:
=== makefile 开始 ===
OBJS = foo.o bar.o
CC = gcc
CFLAGS = -Wall -O -g
myprog : $(OBJS)
$(CC) $^ -o $@
foo.o : foo.c foo.h bar.h
$(CC) $(CFLAGS) -c $< -o $@
bar.o : bar.c bar.h
$(CC) $(CFLAGS) -c $< -o $@
=== makefile 结束 ===
默默努力的小熊
2006-05-17
打赏
举报
回复
去看看陈皓的"跟我一起写Makefile"吧
http://blog.csdn.net/haoel/category/9198.aspx
shavey
2006-05-16
打赏
举报
回复
$@ : 规则的目标所对应的所有文件
$< : 规则中的第一个相关文件
ariesjzj
2006-05-16
打赏
举报
回复
http://www.chinalinuxpub.com/doc/pro/gmake.html
极简
Makefile
入门——基础知识+实战演练
Makefile
是用于自动化构建软件项目的工具,它能够大大简化编译、链接等繁琐的过程,提高开发效率。通过本课程的学习,您将掌握
Makefile
的基础知识和实战技能,让您在软件开发
中
更加高效。本课程分为两个部分:基础知识讲解和实战演练。在基础知识讲解部分,我们将深入探讨
Makefile
的核心概念,包括变量、规则、函数等。通过这些内容的讲解,您将理解
Makefile
的工作原理,掌握基本的
Makefile
语法和文件结构。此外,我们还将介绍如何使用
Makefile
进行项目构建和管理,包括如何设置编译选项、链接库等。在实战演练部分,我们将通过一系列的案例练习,让您亲自动手实践
Makefile
的使用。您将学习如何编写简单的
Makefile
,如何处理依赖关系和构建规则,以及如何利用
Makefile
进行多平台构建。通过这些案例练习,您将能够将理论知识转化为实践经验,真正掌握
Makefile
的精髓。无论您是一名初学者还是有经验的开发者,本课程都将帮助您掌握
Makefile
的基本知识和实战技能。让我们一起步入
Makefile
的世界,开启高效构建的旅程!
Makefile
中
的$@, $^, $< , $?, $%, $+, $*
http://blog.csdn.net/Jeffrey0000/article/details/12421317 记性不好,多写博客 $@ 表示目标文件 $^ 表示所有的依赖文件 $ $? 表示比目标还要新的依赖文件列表 $% 仅当目标是函数库文件
中
,表示规则
中
的目标成员名。例如,如果一个目标是“foo.a(bar.o)”,那么,“$%”就是
Makefile
入门二、理解$@、$^和$<
文章目录一、理解\$@、\$^、\$<的含义二、举例 前面简单记录了一下
Makefile
中
helloworld的用法,这次来理解一些$@、$^、$<的含义 一、理解$@、$^、$<的含义 $@ 表示目标文件 $^ 表示所有的依赖文件 $< 表示第一个依赖文件 $? 表示比目标还要新的依赖文件列表 二、举例 工作作用,将头文件放在include文件夹,cpp文件放在s...
Makefile
中
的$@, $^, $< , $?, $%, $+, $*
1、$@ 表示目标文件$^ 表示所有的依赖文件$< 表示第一个依赖文件表示比目标还要新的依赖文件列表$% 仅当目标是函数库文件
中
,表示规则
中
的目标成员名。例如,如果一个目标是“foo.a(bar.o)”,那么,“$%”就是“bar.o”,“$@”就是“foo.a”。如果目标不是函数库文件(Unix下是[.a],Windows下是[.lib]),那么,其值为空。$+ 这个变量很像“$^”,也是所有依赖目标的集合。只是它不去除重复的依赖目标。
makefile
里面$@ 和$<表示的是
什么意思
$@ 表示你最终想要生成的那文件,而$ 举例: hello.o: hello.c hello.h gcc -c $ hello.o 表示 $@ ; hello.c hello.h 表示$
Linux/Unix社区
23,120
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章