X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/8b42a5dbedfdd33ad8614687c75ec110f3c384f3..44763b519ffda6e7ddb35b9d7c0b823fd7f9ccec:/Makefile diff --git a/Makefile b/Makefile index 6f6254b..40d0963 100644 --- a/Makefile +++ b/Makefile @@ -1,40 +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: version - $(MAKE) -C src +all: $(HPROGS) + +$(HALLPROGS): %: %.hs Ganeti/HTools/Version.hs $(HSRCS) Makefile + ghc --make $(HFLAGS) $(HEXTRA) $@ + +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 *.cmi *.cmo *.cmx *.old hn1 zn1 *.prof *.ps *.stat *.aux \ - gmon.out *.hi README.html TAGS 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 > $@ -dist: version +Ganeti/HTools/Version.hs: Ganeti/HTools/Version.hs.in version + sed -e "s/%ver%/$$(cat version)/" < $< > $@ + +dist: Ganeti/HTools/Version.hs version doc VN=$$(cat version|sed 's/^v//') ; \ - ANAME="htools-$$VN.tar" ; \ - git archive --format=tar --prefix=htools-$$VN/ HEAD > $$ANAME ; \ - tar -r -f $$ANAME --transform="s,^,htools-$$VN/," version + PFX="ganeti-htools-$$VN" ; \ + ANAME="$$PFX.tar" ; \ + rm -f $$ANAME $$ANAME.gz ; \ + git archive --format=tar --prefix=$$PFX/ HEAD > $$ANAME ; \ + tar -r -f $$ANAME --owner root --group root \ + --transform="s,^,$$PFX/," version apidoc $(DOCS) ; \ + gzip -v9 $$ANAME ; \ + tar tzvf $$ANAME.gz + +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 clean hn1 dist +.PHONY : all doc maintainer-clean clean dist check