blob: 8c5f9d5ff505fb23d92f59313573378d965aa5cb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
GHCFLAGS=-Wall -XNoCPP -fno-warn-name-shadowing -XHaskell98
HLINTFLAGS=-XHaskell98 -XNoCPP -i 'Use camelCase' -i 'Use String' -i 'Use head' -i 'Use string literal' -i 'Use list comprehension' --utf8
.PHONY: all clean doc install
all: sign verify report.html doc dist/build/libHSopenpgp-0.1.a dist/openpgp-0.1.tar.gz
install: dist/build/libHSopenpgp-0.1.a
cabal install
sign: examples/sign.hs
ghc --make $(GHCFLAGS) -o $@ $^
verify: examples/verify.hs
ghc --make $(GHCFLAGS) -o $@ $^
report.html: examples/* Data/* Data/OpenPGP/*
hlint $(HLINTFLAGS) --report Data examples || true
doc: dist/doc/html/openpgp/index.html README
README: openpgp.cabal
tail -n+$$(( `grep -n ^description: $^ | head -n1 | cut -d: -f1` + 1 )) $^ > .$@
head -n+$$(( `grep -n ^$$ .$@ | head -n1 | cut -d: -f1` - 1 )) .$@ > $@
printf ',s/ //g\n,s/^.$$//g\nw\nq\n' | ed $@
$(RM) .$@
dist/doc/html/openpgp/index.html: dist/setup-config Data/OpenPGP.hs Data/OpenPGP/Crypto.hs
cabal haddock --hyperlink-source
dist/setup-config:
cabal configure
clean:
find -name '*.o' -o -name '*.hi' | xargs $(RM)
$(RM) sign verify
$(RM) -r dist
# The following need to be changed on version change
dist/build/libHSopenpgp-0.1.a: openpgp.cabal dist/setup-config Data/BaseConvert.hs Data/OpenPGP.hs Data/OpenPGP/Crypto.hs
cabal build
dist/openpgp-0.1.tar.gz: openpgp.cabal dist/setup-config Data/BaseConvert.hs Data/OpenPGP.hs Data/OpenPGP/Crypto.hs README
cabal check
cabal sdist
|