# Haskell rules
-all:
+all: version
$(MAKE) -C src
README.html: README
mkdir -p $(HDDIR)/src
cp hscolour.css $(HDDIR)/src
for file in $(HSRCS); do \
- HsColour -css -anchor \
- $$file > $(HDDIR)/src/`basename $$file .hs`.html ; \
- done
+ HsColour -css -anchor \
+ $$file > $(HDDIR)/src/`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="src/%{MODULE/.//}.html" \
+ --source-entity="src/%{MODULE/.//}.html#%{NAME}" \
+ $(HSRCS)
clean:
rm -f *.o *.cmi *.cmo *.cmx *.old hn1 zn1 *.prof *.ps *.stat *.aux \
- gmon.out *.hi README.html TAGS
+ gmon.out *.hi README.html TAGS version
-.PHONY : all doc clean hn1
+version:
+ git describe > $@
+
+dist: version
+ 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
+
+.PHONY : all doc clean hn1 dist
all: hn1 hbal
-hn1:
+hn1: Version.hs
ghc --make -O2 -W hn1
-hbal:
+hbal: Version.hs
ghc --make -O2 -W hbal
clean:
rm -f *.o *.old hn1 hbal *.prof *.ps *.stat *.aux \
- *.hi README.html TAGS
+ *.hi README.html TAGS Version.hs
+
+Version.hs: Version.hs.in ../version
+ sed -e "s/%ver%/$$(cat ../version)/" < $< > $@
.PHONY : all clean hn1 hbal
import qualified Container
import qualified Cluster
+import qualified Version
import Rapi
import Utils
return (foldl (flip id) defaultOptions o, n)
(_,_,errs) ->
ioError (userError (concat errs ++ usageInfo header options))
- where header = "Usage: hbal [OPTION...]"
+ where header = printf "hbal %s\nUsage: hbal [OPTION...]"
+ Version.version
-- | Main function.
main :: IO ()