forked from nielstron/demjson3
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
74 lines (55 loc) · 1.69 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# Makefile for demjson
# This is a simple installation front-end for Unix-like machines.
# See the INSTALL.txt file for specific instructions.
PYTHON=python
PYDOC=pdoc
MODULE=demjson3
VERSION=3.0.4
SOURCES = $(MODULE).py
SETUP = setup.py
READMES = README.txt LICENSE.txt docs/CHANGES.txt docs/INSTALL.txt docs/NEWS.txt
TESTS = test/test_$(MODULE).py
DOCS = docs/$(MODULE).txt docs/jsonlint.txt
DOCS_HTML = docs/$(MODULE).html
SCRIPTS = jsonlint
DISTDIR = dist
DIST_FILE = $(DISTDIR)/$(MODULE)-$(VERSION).tar.gz
ALL_FILES = $(SOURCES) $(SETUP) $(READMES) $(TESTS) $(DOCS) $(SCRIPTS)
all: build test install
ALWAYS:
show:
@for f in $(ALL_FILES) ; do \
echo $$f ; \
done | sort -u
#MANIFEST.in: $(ALL_FILES) Makefile
# rm -f $@
# for f in $(ALL_FILES) ; do \
# echo include $$f ; \
# done | sort -u > $@
dist: $(DIST_FILE) $(DOCS)
@ls -l -- $(DIST_FILE)
clean:
rm *.pyc
rm -r build
build: $(SOURCES) $(SETUP)
$(PYTHON) $(SETUP) build
install: $(SOURCES) $(SETUP)
$(PYTHON) $(SETUP) install
register: $(DISTDIR)/$(MODULE)-$(VERSION).tar.gz $(SETUP)
$(PYTHON) $(SETUP) register
test: ALWAYS $(SOURCES) $(TESTS)
(cd test && PYTHONPATH=.. $(PYTHON) test_$(MODULE).py)
echo done
$(DIST_FILE): MANIFEST.in $(ALL_FILES)
$(PYTHON) setup.py sdist -d $(DISTDIR)
docs: $(DOCS) ALWAYS
docs_html: $(DOCS_HTML) ALWAYS
docs/jsonlint.txt: jsonlint $(MODULE).py
PYTHONPATH=. ./jsonlint --help >$@
echo "" >>$@
PYTHONPATH=. ./jsonlint --strict --help-behaviors >>$@
docs/$(MODULE).txt: $(MODULE).py
python -m pydoc $(MODULE) | sed -e 's|/home/[a-zA-Z0-9_/.-]*/git/demjson/||' >docs/$(MODULE).txt
docs/$(MODULE).html: $(MODULE).py
$(PYDOC) --html $(MODULE) -o docs
mv docs/$(MODULE).html docs/index.html