1 HPROGS = hbal hn1 hscan hail test
2 HSRCS := $(wildcard Ganeti/HTools/*.hs)
5 DOCS = README.html NEWS.html
7 HFLAGS = -O2 -W -fwarn-monomorphism-restriction -fwarn-tabs
10 HPCEXCL = --exclude Main --exclude Ganeti.HTools.QC
16 $(HPROGS): %: %.hs Ganeti/HTools/Version.hs $(HSRCS) Makefile
17 ghc --make $(HFLAGS) $(HEXTRA) $@
24 mkdir -p $(HDDIR)/Ganeti/HTools
25 cp hscolour.css $(HDDIR)/Ganeti/HTools
26 for file in $(HSRCS); do \
27 HsColour -css -anchor \
28 $$file > $(HDDIR)/Ganeti/HTools/`basename $$file .hs`.html ; \
30 haddock --odir $(HDDIR) --html --ignore-all-exports \
31 -t htools -p haddock-prologue \
32 --source-module="%{MODULE/.//}.html" \
33 --source-entity="%{MODULE/.//}.html#%{NAME}" \
38 rm -f $(DOCS) TAGS version Ganeti/HTools/Version.hs
42 rm -f *.o *.prof *.ps *.stat *.aux *.hi
43 cd Ganeti/HTools && rm -f *.o *.prof *.ps *.stat *.aux *.hi
48 Ganeti/HTools/Version.hs: Ganeti/HTools/Version.hs.in version
49 sed -e "s/%ver%/$$(cat version)/" < $< > $@
51 dist: Ganeti/HTools/Version.hs version doc
52 VN=$$(cat version|sed 's/^v//') ; \
53 ANAME="htools-$$VN.tar" ; \
54 rm -f $$ANAME $$ANAME.gz ; \
55 git archive --format=tar --prefix=htools-$$VN/ HEAD > $$ANAME ; \
56 tar -r -f $$ANAME --owner root --group root \
57 --transform="s,^,htools-$$VN/," version apidoc $(DOCS) ; \
62 rm -f *.tix *.mix test
63 $(MAKE) HEXTRA=-fhpc test
67 hpc markup --destdir=coverage test $(HPCEXCL)
69 hpc report test $(HPCEXCL)
72 .PHONY : all doc maintainer-clean clean dist check