X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/669d7e3d1ce8f832a7ff4b11de4f2bcab9494c27..44763b519ffda6e7ddb35b9d7c0b823fd7f9ccec:/Makefile diff --git a/Makefile b/Makefile index 9f1f383..40d0963 100644 --- a/Makefile +++ b/Makefile @@ -1,50 +1,75 @@ -HPROGS = hbal hn1 -HSRCS := $(filter-out $(HPROGS), $(wildcard src/*.hs)) +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: hbal hn1 +all: $(HPROGS) + +$(HALLPROGS): %: %.hs Ganeti/HTools/Version.hs $(HSRCS) Makefile + ghc --make $(HFLAGS) $(HEXTRA) $@ -hn1 hbal: Ganeti/HTools/Version.hs - ghc --make -O2 -W $@ +test: HEXTRA=-fhpc -README.html: README +$(DOCS) : %.html : % rst2html $< $@ -doc: README.html - rm -rf $(HDDIR) - mkdir -p $(HDDIR)/src - cp hscolour.css $(HDDIR)/src +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 \ HsColour -css -anchor \ - $$file > $(HDDIR)/src/`basename $$file .hs`.html ; \ + $$file > $(HDDIR)/Ganeti/HTools/`basename $$file .hs`.html ; \ done haddock --odir $(HDDIR) --html --ignore-all-exports \ - -t htools -p haddock-prologue \ - --source-module="src/%{MODULE/.//}.html" \ - --source-entity="src/%{MODULE/.//}.html#%{NAME}" \ + -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 *.o hn1 zn1 *.prof *.ps *.stat *.aux \ - gmon.out *.hi README.html TAGS Ganeti/HTools/Version.hs - git describe >/dev/null && rm -f version + rm -f $(HALLPROGS) + rm -f *.o *.prof *.ps *.stat *.aux *.hi + cd Ganeti/HTools && rm -f *.o *.prof *.ps *.stat *.aux *.hi version: git describe > $@ Ganeti/HTools/Version.hs: Ganeti/HTools/Version.hs.in version - sed -e "s/%ver%/$$(cat ../version)/" < $< > $@ + sed -e "s/%ver%/$$(cat version)/" < $< > $@ -dist: version +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 hn1 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