您的位置:首页 > 编程语言 > PHP开发

对 makefile 中 .NOTPARALLE 的学习体会

2012-09-25 14:22 225 查看
上例子

事先准备好三个脚本:

a01.sh b01.sh c01.sh:

脚本内容如下, 即每睡眠一秒钟后再输出内容:

a01.sh

for ((i=0;i<10;i++));
do
@echo "a01..." $i;
sleep 1;
done;


b01.sh

for ((i=0;i<10;i++));
do
@echo "b01..." $i;
sleep 1;
done;


c01.sh

for ((i=0;i<10;i++));
do
@echo "c01..." $i;
sleep 1;
done;


makefile 的内容如下:

.PHONY:all

all: a b c

a:
./a01.sh

b:
./b01.sh

c:
./c01.sh


如果仅仅运行 make , 则 a01.sh b01.sh c01.sh 几个脚本还是串行执行的。

但是如果执行 make --jobs=3,得到的结果是:

a01...1

b01...1

c01...1

a01....2

b01....2

c01....2

...

成为并行执行。

但是如果在此makefile 加入 .NOTPARALLEL,则:

.NOTPARALLEL
.PHONY:all all: a b c a: ./a01.sh b: ./b01.sh c: ./c01.sh


则 即使 make --jobs=3 执行,a01.sh b01.sh c01.sh 几个脚本仍然是串行执行的。

结束

结束
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: