Psi*_*rus 7 haskell makefile cabal
Haskell wiki声明你应该使用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/*
Run Code Online (Sandbox Code Playgroud)
最简单的入门方法是让Cabal .cabal为您生成一个文件,您可以将其用作起点.为此,请进入项目目录并键入
$ cabal init
Run Code Online (Sandbox Code Playgroud)
然后它会问你关于你的包裹的一堆问题.如果您打算将包上传到Hackage,那么像作者姓名和电子邮件这样的问题真的很重要,所以如果您愿意,可以将这些留空.完成后,您可以编辑该.cabal文件以进行自定义.生成的文件将包含一堆评论,可以帮助您入门.之后,只需输入
$ cabal configure
$ cabal build
Run Code Online (Sandbox Code Playgroud)
默认情况下,二进制文件将被放入./dist/build/<name>/.