分页: 1 / 1

makefile里面的命令是顺序执行的吗?

发表于 : 2013-04-17 16:34
shuizhongyu
写了个备份系统的脚本
由于和写这个帖子的电脑不是一个
不能完整的贴上来
大概是像下面这样

代码: 全选

tar cvpjf /backup.tar.bz2 / --exclude=/....    ;
mv a b;
touch a;
然后我就make
突然想到件事我就Ctrl-c了
然后一看
a已经被重命名为b,而且新的a已经创建。
这是为什么,第一条tar肯定还没执行完啊?

先开始怀疑是Ctrl-c只停止一条命令,后面的照做
于是写了这样的Makefile

代码: 全选

sleep 3;
mv a b;
touch a;
然后在中间Ctrl-c,没有出现刚才那种情况。。。
这我就不懂了,求指教

Re: makefile里面的命令是顺序执行的吗?

发表于 : 2013-04-22 10:12
lyqf365
从入口标签开始顺序执行,中间不出错就继续执行。
如果有依赖,先解决依赖
出错或者代码中指明结束退出

Re: makefile里面的命令是顺序执行的吗?

发表于 : 2013-04-22 10:32
eexpress
分段的。带依赖的。

Re: makefile里面的命令是顺序执行的吗?

发表于 : 2013-04-22 23:56
shuizhongyu
lyqf365 写了:从入口标签开始顺序执行,中间不出错就继续执行。
如果有依赖,先解决依赖
出错或者代码中指明结束退出
不好意思
我愚蠢了
没写完整
应该是像下面这样,是有入口标签的

代码: 全选

backup.tar.bz2:
          tar cvpjf.....
          mv a b
          touch a
这样的话我的问题怎么解释?
我在tar的是后Ctrl-C了啊

Re: makefile里面的命令是顺序执行的吗?

发表于 : 2013-04-22 23:57
shuizhongyu
eexpress 写了:分段的。带依赖的。
开始愚蠢了
没写完整
再求教