Haskell wiki, yapı sisteminiz olarak Cabal'ı kullanmanız gerektiğini bildiriyor. Ancak, bana daha çok paket üretmeye ve daha sonra ikili bina oluşturmaya yöneltilmiş görünüyor. Temel olarak, tüm yapmak istediğim her * .hs dosyasını src/dizinimde bin/ayrı bir ikili haline getirmektir. Bu makefile güzel bunu gerçekleştirir ama Cabal'a hakkında bilgi edinmek istiyorum ve bu beni başlamak için iyi bir örnek gibi görünüyor:Cabal ile nasıl basit bir proje geliştirebilirim?
GHC = ghc
GHCFLAGS = -outputdir bin
SRC = $(wildcard src/*.hs)
BIN = $(patsubst src/%.hs,%,$(SRC))
all: $(addprefix bin/, $(BIN))
bin/%: src/%.hs
$(GHC) $(GHCFLAGS) $< -o [email protected]
clean:
rm bin/*
Teşekkürler, bu güzel bir başlangıç. Ancak, çalışan cabal yapılandırması şunu söylüyor: 'Hata: TestProject.cabal'de bir tane belirtmediğim için yürütülebilir TestProject' için 'Ana-İş' alanı bulunamadı. Ancak, her biri kendi "ana" i olan bir çok yürütülebilir dosya oluşturmaya çalıştığımdan, gerçekten ne yapacağımı bilmiyorum. – Psirus
@Psirus: İnşa ettiğiniz yürütülebilir dosya başına bir "Çalışabilir" bölümü isteyeceksiniz. Daha sonra her bir "Ana-İş" alanını ayarlayabilirsiniz. Dosya oluşturulurken "yürütülebilir" seçeneğini seçtiyseniz, dosyaya kopyalayabileceğiniz bir örnek bulunmalıdır. – hammar
Bana yardım ettiğin için teşekkürler. Bu da işe yarıyor, ancak bir "joker" versiyonunu tercih ediyorum, böylece temelde aynı şeyi tekrar tekrar yazmak zorunda kalmam. Ayrıca, ama bu sadece küçük, tüm yürütülebilir dosyaları aynı dizinde alabilir miyim? – Psirus