我有几个(独立的)文件需要很长时间才能编译,所以我想我会尝试并行编译,根据 Don Stewart在此处的回答。
我按照这里的说明进行操作,所以我的 makefile 看起来像
quickbuild:
ghc --make MyProg.hs -o MyProg
depend:
ghc -M -dep-makefile makefile MyProg
# DO NOT DELETE: Beginning of Haskell dependencies
...
MyProg.o : MyProg.hs
MyProg.o : B.hi
MyProg.o : C.hi
...
# DO NOT DELETE: End of Haskell dependenciesghc
(注意:与文档相反,GHC 似乎默认为“Makefile”而不是“makefile”,即使存在“makefile”也是如此。)
我的问题是:如何让 quickbuild 依赖于任何自动生成依赖项(以便 make 实际上并行运行)?我尝试将“MyProg.o”添加到“quickbuild”的依赖项列表中,但“make”(正确地)抱怨没有构建“B.hi”的规则。