我有一个C shell脚本,这样做:
#!/bin/csh gcc example.c -o ex gcc combine.c -o combine ex file1 r1 <-- 1 ex file2 r2 <-- 2 ex file3 r3 <-- 3 #... many more like the above combine r1 r2 r3 final \rm r1 r2 r3
有没有办法让线1,2和3并行运行而不是另一个?
将其转换为具有适当依赖关系的Makefile.那么你可以使用make -j来让Make一切都可以并行运行.
请注意,Makefile中的所有缩进都必须是TAB. TAB显示在哪里运行命令.
另请注意,这个Makefile现在使用GNU Make扩展(通配符和subst函数).
它可能看起来像这样:
export PATH := .:${PATH} FILES=$(wildcard file*) RFILES=$(subst file,r,${FILES}) final: combine ${RFILES} combine ${RFILES} final rm ${RFILES} ex: example.c combine: combine.c r%: file% ex ex $< $@