如何使用Cabal构建一个简单的项目?

时间:2012-02-15 19:50:49

标签: haskell makefile cabal

Haskell维基声明你应该使用Cabal作为你的构建系统。但是,在我看来,更多的是针对生成包,然后只是构建二进制文件。基本上,我想要做的就是将我的src /目录中的每个* .hs文件构建成bin /中的单独二进制文件。这个makefile很好地完成了这个,但是我想了解Cabal,这似乎是让我入门的好例子:

GHC = ghc
GHCFLAGS = -outputdir bin
SRC = $(wildcard src/*.hs)
BIN = $(patsubst src/%.hs,%,$(SRC))

all: $(addprefix bin/, $(BIN))

bin/%: src/%.hs
    $(GHC) $(GHCFLAGS) $< -o $@

clean:
    rm bin/*

1 个答案:

答案 0 :(得分:9)

最简单的入门方法是让Cabal为您生成一个.cabal文件,您可以将其用作起点。为此,请进入项目目录并键入

$ cabal init

然后它将向您询问有关您的包裹的一系列问题。如果您计划将包上传到Hackage,那么像作者姓名和电子邮件这样的问题真的很重要,所以如果您愿意,可以将这些留空。完成后,您可以编辑.cabal文件以进行自定义。生成的文件将包含一堆评论,可以帮助您入门。之后,只需输入

即可
$ cabal configure
$ cabal build

默认情况下,二进制文件将放在./dist/build/<name>/