split more
[diohsc.git] / Makefile
blob271aaf66131da0f27f323a712f6e047ea571f0d6
1 VERSION=0.1.13
3 GHCOPTS=-threaded -DICONV -DMAGIC -ignore-package regex-compat-tdfa
5 .PHONY: build install clean
6 build:
7 @echo "NOTE: All haskell dependencies must be installed for this to build." 1>&2
8 @echo "Probably you want to skip directly to \"make install\"" 1>&2
9 @echo "" 1>&2
10 cabal build
11 install:
12 cabal update && cabal install
14 diohsc: *.hs
15 ghc --make -Wall ${GHCOPTS} diohsc.hs
16 diohsc-O: *.hs
17 ghc -o $@ --make -O -Wall ${GHCOPTS} diohsc.hs
18 diohsc-dynamic: *.hs
19 ghc -o $@ --make -dynamic -Wall ${GHCOPTS} diohsc.hs
20 diohsc-static:
21 ghc -o $@ --make ${GHCOPTS} -optl-static -optl-pthread diohsc.hs
22 diohsc-prof: *.hs
23 ghc -o $@ --make ${GHCOPTS} -rtsopts -prof -fprof-auto diohsc.hs
24 clean:
25 rm diohsc *.hi *.o
27 diohsc.1: diohsc.1.md
28 pandoc --standalone -f markdown -t man < diohsc.1.md | sed 's/\$$VERSION/${VERSION}/g' >| diohsc.1
30 dist-newstyle/sdist/diohsc-${VERSION}.tar.gz: *.hs README.md CHANGELOG.md COPYING *.cabal *.sample diohsc.1
31 cabal sdist
33 diohsc-${VERSION}-src.tgz: dist-newstyle/sdist/diohsc-${VERSION}.tar.gz
34 cp $< $@
36 diohsc.bundle: .git/refs/heads/master
37 git bundle create "$@" HEAD master
39 index.gmi: index.gmi.in Makefile
40 cat $< | sed 's/\$$VERSION/${VERSION}/g' > $@
42 index.html: index.gmi
43 cat $< | sed s/\.gmi/.html/g | ./tools/gmi2html.sed > $@
45 index.md: index.gmi
46 cat $< | sed s/\.gmi/.md/g | ./tools/gmi2md.sed > $@
48 %.md: %.gmi
49 ./tools/gmi2md.sed < $< > $@
51 %.html: %.gmi
52 ./tools/gmi2html.sed < $< > $@
54 publish: diohsc-${VERSION}-src.tgz diohsc.bundle index.gmi index.html README.md README.gmi README.html CHANGELOG.gmi CHANGELOG.md CHANGELOG.html tutorial/diohsc-tutorial.cast tutorial/diohsc-tutorial.txt
55 cp $^ /var/gemini/gemini.thegonz.net/diohsc/
56 scp $^ sverige:html/diohsc/