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/*
最佳答案
最简单的开始方法是让 Cabal 生成 .cabal
为您准备的文件,您可以将其用作起点。为此,请进入您的项目目录并键入
$ cabal init
然后它会问你一堆关于你的包裹的问题。一些问题,如作者姓名和电子邮件,只有在您计划将您的包上传到 Hackage 时才真正重要,所以如果您愿意,可以将这些留空。之后,您可以编辑
.cabal
文件来自定义它。生成的文件将包含一堆可以帮助您入门的注释。之后,只需键入$ cabal configure
$ cabal build
默认情况下,二进制文件将放置在
./dist/build/<name>/
中。 .
关于haskell - 如何使用 Cabal 构建一个简单的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9300286/