X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/15f4c8ca1fa047af3b571303603dfab315624996..f89235f10d793d8be50414b80f22f523afd7ed27:/Makefile diff --git a/Makefile b/Makefile index be3c899..047089a 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,11 @@ -HPROGS = hbal hn1 hscan hail test -HSRCS := $(wildcard Ganeti/HTools/*.hs) +HPROGS = hbal hscan hail hspace +HALLPROGS = $(HPROGS) test +HSRCS := $(wildcard Ganeti/HTools/*.hs) $(wildcard Ganeti/*.hs) HDDIR = apidoc DOCS = README.html NEWS.html -HFLAGS = -O2 -W -fwarn-monomorphism-restriction -fwarn-tabs +HFLAGS = -O2 -Wall -Werror -fwarn-monomorphism-restriction -fwarn-tabs HEXTRA = HPCEXCL = --exclude Main --exclude Ganeti.HTools.QC @@ -13,14 +14,16 @@ HPCEXCL = --exclude Main --exclude Ganeti.HTools.QC all: $(HPROGS) -$(HPROGS): %: %.hs Ganeti/HTools/Version.hs $(HSRCS) Makefile +$(HALLPROGS): %: %.hs Ganeti/HTools/Version.hs $(HSRCS) Makefile ghc --make $(HFLAGS) $(HEXTRA) $@ +test: HEXTRA=-fhpc -Wwarn + $(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 \ @@ -28,39 +31,48 @@ 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) + $(filter-out Ganeti/HTools/ExtLoader.hs,$(HSRCS)) maintainer-clean: rm -rf $(HDDIR) rm -f $(DOCS) TAGS version Ganeti/HTools/Version.hs clean: - rm -f $(HPROGS) + rm -f $(HALLPROGS) rm -f *.o *.prof *.ps *.stat *.aux *.hi + cd Ganeti && rm -f *.o *.prof *.ps *.stat *.aux *.hi cd Ganeti/HTools && rm -f *.o *.prof *.ps *.stat *.aux *.hi +regen-version: + rm -f version + $(MAKE) version + version: - git describe > $@ + if test -d .git; then \ + git describe > $@; \ + elif test ! -f $@ ; then \ + echo "Cannot auto-generate $@ file"; exit 1; \ + fi Ganeti/HTools/Version.hs: Ganeti/HTools/Version.hs.in version sed -e "s/%ver%/$$(cat version)/" < $< > $@ -dist: Ganeti/HTools/Version.hs version doc +dist: regen-version Ganeti/HTools/Version.hs 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 apidoc $(DOCS) ; \ + --transform="s,^,$$PFX/," version apidoc $(DOCS) ; \ gzip -v9 $$ANAME ; \ tar tzvf $$ANAME.gz -check: - rm -f *.tix *.mix test - $(MAKE) HEXTRA=-fhpc test +check: test + rm -f *.tix *.mix ./test ifeq ($(T),markup) mkdir -p coverage @@ -69,4 +81,7 @@ else hpc report test $(HPCEXCL) endif -.PHONY : all doc maintainer-clean clean dist check +tags: + find -name '*.hs' | xargs hasktags -e + +.PHONY : all doc maintainer-clean clean dist check tags regen-version