makefile 中的all是做什么的?

unbutun 2009-04-15 07:34:18
如题,要求举例说明,例子最好简单明了。
...全文
8599 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dojo的频道 2011-05-24
  • 打赏
  • 举报
回复
学到了不少东西
九个太阳2023 2010-07-15
  • 打赏
  • 举报
回复
希望多讲讲Makefile的东西~~
bestwaqh 2010-07-15
  • 打赏
  • 举报
回复
学习了
dushf 2010-07-07
  • 打赏
  • 举报
回复
我想看回复
青火 2009-05-19
  • 打赏
  • 举报
回复
顶下~~
unbutun 2009-05-17
  • 打赏
  • 举报
回复
good
「已注销」 2009-05-16
  • 打赏
  • 举报
回复
给所有的目标起一个名字。
使make的时候可以依次生成。
superniyue 2009-05-15
  • 打赏
  • 举报
回复
all : p1 p2 p3
.PHONY : all

这样在编译以后,不会生成all文件,但是p1,p2,p3都会生成。
unbutun 2009-05-13
  • 打赏
  • 举报
回复
就是.PHONY标示的文件只是编译其依赖关系吗?


举个例子。
superniyue 2009-05-12
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 unbutun 的回复:]
再问一个:
.PHONY
这个有什么用?
[/Quote]


.phony是表示 目标是伪目标,并不生成相应的文件。.phony标志的文件总是执行的。
zhouxingyu896 2009-05-11
  • 打赏
  • 举报
回复
支持5楼的
Henk2009 2009-05-10
  • 打赏
  • 举报
回复
all 一般為默認目標

.PHONY表示目標總是被執行
unbutun 2009-05-08
  • 打赏
  • 举报
回复
再问一个:
.PHONY
这个有什么用?
子晞 2009-04-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 unbutun 的回复:]
多谢了,楼上的。再多问一个,$@ $ < 这俩都是啥意思?
[/Quote]

all:foo.o
foo.o:foo.c
$(CC) -c &(CFLAGS) $< -o $@
子晞 2009-04-15
  • 打赏
  • 举报
回复
all是个伪目标,是所有目标的目标,其功能是编译所有的目标。

.PHONY:all
all:prog1 prog2 prog3 prog4

要编译prog1 prog2 prog3 prog4 四个目标,我们可以使用 make all 命令来编译所有的目标。
也可以 make prog3单独编译 prog3 目标。
fox000002 2009-04-15
  • 打赏
  • 举报
回复
all : xxxx

xxxx: xx
(cd source && make)


unbutun 2009-04-15
  • 打赏
  • 举报
回复
十分感谢,最后问一个。

我的源码一个顶层目录下分成include source 两个目录,我顶层的目录的makefile要怎么写才能让在顶层make就执行source下的makefile
fox000002 2009-04-15
  • 打赏
  • 举报
回复
可以,第二个依赖没有直接的访问方式

但可以用 $(word 2, $^) 表示

$^ 表示所有的依赖

$(word n,text) 函数用来提取 text 中的第 n 个词
unbutun 2009-04-15
  • 打赏
  • 举报
回复
$@ 表示目标 ---------hello
$ < 表示第一个依赖-------hello.cpp

可以这么理解吗?那第二个依赖要用什么?
fox000002 2009-04-15
  • 打赏
  • 举报
回复
$@ 表示目标

$< 表示第一个依赖
加载更多回复(6)

23,124

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧