X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/7ae514ba198af08019e624b895cc49fc505bb16f..44763b519ffda6e7ddb35b9d7c0b823fd7f9ccec:/Makefile diff --git a/Makefile b/Makefile index 3656ff6..40d0963 100644 --- a/Makefile +++ b/Makefile @@ -1,21 +1,29 @@ -HPROGS = hbal hn1 +HPROGS = hbal hscan hail hspace +HALLPROGS = $(HPROGS) test HSRCS := $(wildcard Ganeti/HTools/*.hs) HDDIR = apidoc DOCS = README.html NEWS.html +HFLAGS = -O2 -W -fwarn-monomorphism-restriction -fwarn-tabs +HEXTRA = + +HPCEXCL = --exclude Main --exclude Ganeti.HTools.QC + # Haskell rules all: $(HPROGS) -hn1 hbal: Ganeti/HTools/Version.hs - ghc --make -O2 -W $@ +$(HALLPROGS): %: %.hs Ganeti/HTools/Version.hs $(HSRCS) Makefile + ghc --make $(HFLAGS) $(HEXTRA) $@ + +test: HEXTRA=-fhpc $(DOCS) : %.html : % rst2html $< $@ -doc: $(DOCS) - rm -rf $(HDDIR) +doc: $(DOCS) Ganeti/HTools/Version.hs + rm -rf $(HDDIR)/* mkdir -p $(HDDIR)/Ganeti/HTools cp hscolour.css $(HDDIR)/Ganeti/HTools for file in $(HSRCS); do \ @@ -23,17 +31,19 @@ doc: $(DOCS) $$file > $(HDDIR)/Ganeti/HTools/`basename $$file .hs`.html ; \ done haddock --odir $(HDDIR) --html --ignore-all-exports \ - -t htools -p haddock-prologue \ + -t ganeti-htools -p haddock-prologue \ --source-module="%{MODULE/.//}.html" \ --source-entity="%{MODULE/.//}.html#%{NAME}" \ $(HSRCS) +maintainer-clean: + rm -rf $(HDDIR) + rm -f $(DOCS) TAGS version Ganeti/HTools/Version.hs + clean: - rm -f hbal hn1 + rm -f $(HALLPROGS) rm -f *.o *.prof *.ps *.stat *.aux *.hi cd Ganeti/HTools && rm -f *.o *.prof *.ps *.stat *.aux *.hi - rm -f $(DOCS) TAGS Ganeti/HTools/Version.hs - git describe >/dev/null 2>&1 && rm -f version || true version: git describe > $@ @@ -41,14 +51,25 @@ version: Ganeti/HTools/Version.hs: Ganeti/HTools/Version.hs.in version sed -e "s/%ver%/$$(cat version)/" < $< > $@ -dist: version doc +dist: Ganeti/HTools/Version.hs version doc VN=$$(cat version|sed 's/^v//') ; \ - ANAME="htools-$$VN.tar" ; \ + PFX="ganeti-htools-$$VN" ; \ + ANAME="$$PFX.tar" ; \ rm -f $$ANAME $$ANAME.gz ; \ - git archive --format=tar --prefix=htools-$$VN/ HEAD > $$ANAME ; \ + git archive --format=tar --prefix=$$PFX/ HEAD > $$ANAME ; \ tar -r -f $$ANAME --owner root --group root \ - --transform="s,^,htools-$$VN/," version ; \ + --transform="s,^,$$PFX/," version apidoc $(DOCS) ; \ gzip -v9 $$ANAME ; \ tar tzvf $$ANAME.gz -.PHONY : all doc clean dist +check: test + rm -f *.tix *.mix + ./test +ifeq ($(T),markup) + mkdir -p coverage + hpc markup --destdir=coverage test $(HPCEXCL) +else + hpc report test $(HPCEXCL) +endif + +.PHONY : all doc maintainer-clean clean dist check