Fix a relative path bug
[catalyst.git] / Makefile
1 # Copyright (C) 2011 Sebastian Pipping <sebastian@pipping.org>
2 # Licensed under GPL v2 or later
3
4 PACKAGE_VERSION = $(shell PYTHONPATH=. python -c 'import catalyst; print(catalyst.__version__)')
5 MAN_PAGE_SOURCES = $(wildcard doc/*.?.txt)
6 MAN_PAGES = $(patsubst doc/%.txt,files/%,$(MAN_PAGE_SOURCES))
7 MAN_PAGE_INCLUDES = doc/subarches.generated.txt doc/targets.generated.txt
8 DOC_SOURCES = $(filter-out $(MAN_PAGE_SOURCES) $(MAN_PAGE_INCLUDES),$(wildcard doc/*.txt))
9 DOCS = $(patsubst doc/%.txt,files/%.html,$(DOC_SOURCES))
10 DOC_SIDE_EFFECTS  = files/docbook-xsl.css
11 EXTRA_DIST = $(MAN_PAGES) $(DOCS) $(DOC_SIDE_EFFECTS)
12 GENERATED_FILES = $(MAN_PAGES) $(MAN_PAGE_INCLUDES) $(DOCS) $(DOC_SIDE_EFFECTS)
13
14 distdir = catalyst-$(PACKAGE_VERSION)
15
16
17 all: $(EXTRA_DIST)
18
19 $(MAN_PAGES): files/%: doc/%.txt doc/asciidoc.conf Makefile catalyst
20         a2x --conf-file=doc/asciidoc.conf --attribute="catalystversion=$(PACKAGE_VERSION)" \
21                  --format=manpage -D files "$<"
22
23 # Additional dependencies due to inclusion
24 files/catalyst.1: doc/subarches.generated.txt
25 files/catalyst-spec.5: doc/subarches.generated.txt doc/targets.generated.txt
26
27 doc/subarches.generated.txt: $(wildcard arch/*.py) doc/make_subarch_table_guidexml.py
28         ./doc/make_subarch_table_guidexml.py
29
30 doc/targets.generated.txt: doc/make_target_table.py $(wildcard modules/*_target.py)
31         "./$<" > "$@"
32
33 $(DOCS): files/%.html: doc/%.txt doc/asciidoc.conf Makefile
34         a2x --conf-file=doc/asciidoc.conf --attribute="catalystversion=$(PACKAGE_VERSION)" \
35                  --format=xhtml -D files "$<"
36
37 $(DOC_SIDE_EFFECTS): $(firstword $(DOCS))
38
39 clean:
40         rm -f $(GENERATED_FILES)
41         find -name '*.pyo' -delete
42
43 check-git-repository:
44         git diff --quiet || { echo 'STOP, you have uncommitted changes in the working directory' ; false ; }
45         git diff --cached --quiet || { echo 'STOP, you have uncommitted changes in the index' ; false ; }
46
47 dist: check-git-repository $(EXTRA_DIST)
48         rm -Rf "$(distdir)" "$(distdir)".tar "$(distdir)".tar.bz2
49         mkdir "$(distdir)"
50         git ls-files -z | xargs -0 cp --no-dereference --parents --target-directory="$(distdir)" \
51                 $(EXTRA_DIST)
52         tar cf "$(distdir)".tar "$(distdir)"
53         bzip2 -9v "$(distdir)".tar
54         rm -Rf "$(distdir)"