Statistics
| Branch: | Tag: | Revision:

root / Makefile @ 669d7e3d

History | View | Annotate | Download (1.2 kB)

1 8df5db55 Iustin Pop
HPROGS = hbal hn1
2 8df5db55 Iustin Pop
HSRCS := $(filter-out $(HPROGS), $(wildcard src/*.hs))
3 e4f08c46 Iustin Pop
HDDIR = apidoc
4 e4f08c46 Iustin Pop
5 e4f08c46 Iustin Pop
# Haskell rules
6 e4f08c46 Iustin Pop
7 669d7e3d Iustin Pop
all: hbal hn1
8 669d7e3d Iustin Pop
9 669d7e3d Iustin Pop
hn1 hbal: Ganeti/HTools/Version.hs
10 669d7e3d Iustin Pop
	ghc --make -O2 -W $@
11 e4f08c46 Iustin Pop
12 e4f08c46 Iustin Pop
README.html: README
13 e4f08c46 Iustin Pop
	rst2html $< $@
14 e4f08c46 Iustin Pop
15 e4f08c46 Iustin Pop
doc: README.html
16 e4f08c46 Iustin Pop
	rm -rf $(HDDIR)
17 e4f08c46 Iustin Pop
	mkdir -p $(HDDIR)/src
18 e4f08c46 Iustin Pop
	cp hscolour.css $(HDDIR)/src
19 e4f08c46 Iustin Pop
	for file in $(HSRCS); do \
20 8b42a5db Iustin Pop
		HsColour -css -anchor \
21 8b42a5db Iustin Pop
		$$file > $(HDDIR)/src/`basename $$file .hs`.html ; \
22 8b42a5db Iustin Pop
	done
23 e4f08c46 Iustin Pop
	haddock --odir $(HDDIR) --html --ignore-all-exports \
24 8b42a5db Iustin Pop
		-t htools -p haddock-prologue \
25 8b42a5db Iustin Pop
		--source-module="src/%{MODULE/.//}.html" \
26 8b42a5db Iustin Pop
		--source-entity="src/%{MODULE/.//}.html#%{NAME}" \
27 8b42a5db Iustin Pop
		$(HSRCS)
28 e4f08c46 Iustin Pop
29 e4f08c46 Iustin Pop
clean:
30 669d7e3d Iustin Pop
	rm -f *.o hn1 zn1 *.prof *.ps *.stat *.aux \
31 669d7e3d Iustin Pop
	    gmon.out *.hi README.html TAGS Ganeti/HTools/Version.hs
32 669d7e3d Iustin Pop
	git describe >/dev/null && rm -f version
33 e4f08c46 Iustin Pop
34 8b42a5db Iustin Pop
version:
35 8b42a5db Iustin Pop
	git describe > $@
36 8b42a5db Iustin Pop
37 669d7e3d Iustin Pop
Ganeti/HTools/Version.hs: Ganeti/HTools/Version.hs.in version
38 669d7e3d Iustin Pop
	sed -e "s/%ver%/$$(cat ../version)/" < $< > $@
39 669d7e3d Iustin Pop
40 8b42a5db Iustin Pop
dist: version
41 8b42a5db Iustin Pop
	VN=$$(cat version|sed 's/^v//') ; \
42 8b42a5db Iustin Pop
	ANAME="htools-$$VN.tar" ; \
43 669d7e3d Iustin Pop
	rm -f $$ANAME $$ANAME.gz ; \
44 669d7e3d Iustin Pop
	git archive --format=tar --prefix=htools-$$VN/ HEAD > $$ANAME ; \
45 669d7e3d Iustin Pop
	tar -r -f $$ANAME --owner root --group root \
46 669d7e3d Iustin Pop
	    --transform="s,^,htools-$$VN/," version ; \
47 669d7e3d Iustin Pop
	gzip -v9 $$ANAME ; \
48 669d7e3d Iustin Pop
	tar tzvf $$ANAME.gz
49 8b42a5db Iustin Pop
50 8b42a5db Iustin Pop
.PHONY : all doc clean hn1 dist