X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/8df5db55112bae8a371ec3778da47a9649dca858..585d442011204bb0b5b57dc30e4d17adc6bf1e8f:/Makefile diff --git a/Makefile b/Makefile index a5c06cc..c681119 100644 --- a/Makefile +++ b/Makefile @@ -1,31 +1,55 @@ -HPROGS = hbal hn1 -HSRCS := $(filter-out $(HPROGS), $(wildcard src/*.hs)) +HPROGS = hbal hn1 hscan hail +HSRCS := $(wildcard Ganeti/HTools/*.hs) HDDIR = apidoc +DOCS = README.html NEWS.html + # Haskell rules -all: - $(MAKE) -C src +all: $(HPROGS) + +$(HPROGS): %: %.hs Ganeti/HTools/Version.hs $(HSRCS) Makefile + ghc --make -O2 -W $@ -README.html: README +$(DOCS) : %.html : % rst2html $< $@ -doc: README.html +doc: $(DOCS) rm -rf $(HDDIR) - mkdir -p $(HDDIR)/src - cp hscolour.css $(HDDIR)/src + 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 ; \ - done + HsColour -css -anchor \ + $$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}" \ - $(HSRCS) + -t htools -p haddock-prologue \ + --source-module="%{MODULE/.//}.html" \ + --source-entity="%{MODULE/.//}.html#%{NAME}" \ + $(HSRCS) clean: - rm -f *.o *.cmi *.cmo *.cmx *.old hn1 zn1 *.prof *.ps *.stat *.aux \ - gmon.out *.hi README.html TAGS + rm -rf $(HDDIR) + rm -f $(HPROGS) + 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 > $@ + +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" ; \ + rm -f $$ANAME $$ANAME.gz ; \ + git archive --format=tar --prefix=htools-$$VN/ HEAD > $$ANAME ; \ + tar -r -f $$ANAME --owner root --group root \ + --transform="s,^,htools-$$VN/," version apidoc $(DOCS) ; \ + gzip -v9 $$ANAME ; \ + tar tzvf $$ANAME.gz -.PHONY : all doc clean hn1 +.PHONY : all doc clean dist