~rvb/maas/ephemeral-simplestreams

« back to all changes in this revision

Viewing changes to Makefile

  • Committer: Graham Binns
  • Date: 2013-11-14 09:55:21 UTC
  • mfrom: (28 maas-test)
  • mto: This revision was merged to the branch mainline in revision 31.
  • Revision ID: graham.binns@canonical.com-20131114095521-bs1uh8w0decac7ib
Made changes to bring things into line with Raphaël's fixes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
 
4
4
PYTHON := python
5
5
 
 
6
define virtualenv
 
7
virtualenv --python=$(PYTHON) --quiet
 
8
endef
 
9
 
6
10
define apt-get
7
11
sudo DEBIAN_FRONTEND=noninteractive \
8
12
    apt-get --assume-yes --no-install-recommends
9
13
endef
10
14
 
 
15
# ---
11
16
 
12
 
build: bin/python bin/pip requirements.txt
13
 
        bin/pip install --requirement=requirements.txt
 
17
build: bin/maas-test
14
18
 
15
19
dist: bin/python setup.py
16
 
        bin/python setup.py egg_info -r sdist
 
20
        bin/python setup.py --quiet egg_info -r sdist
17
21
 
18
 
test: bin/python setup.py
19
 
        bin/python setup.py test
 
22
test: setup.py bin/tox tox.ini
 
23
        @bin/tox
20
24
 
21
25
clean:
22
26
        $(RM) -r bin build dist include lib local TAGS tags
23
27
        find . -name '*.py[co]' -print0 | xargs -r0 $(RM) -r
 
28
        find . -name '__pycache__' -print0 | xargs -r0 $(RM) -r
24
29
        find . -name '*.egg' -print0 | xargs -r0 $(RM) -r
25
30
        find . -name '*.egg-info' -print0 | xargs -r0 $(RM) -r
26
31
        find . -name '*~' -print0 | xargs -r0 $(RM)
 
32
        $(RM) -r .tox .deps
27
33
 
28
34
lint: bin/flake8
29
35
        @bin/flake8 maastest
30
36
 
31
 
bin/flake8: bin/python bin/pip
32
 
        @bin/pip install -q flake8
33
 
 
34
 
bin/python bin/pip:
35
 
        virtualenv --python=$(PYTHON) --system-site-packages $(PWD)
36
 
 
37
37
install-dependencies: packages.txt
38
38
        @xargs --verbose --no-run-if-empty $(apt-get) install < packages.txt
39
39
 
40
 
 
41
 
.PHONY: build dist clean install-dependencies lint test
 
40
update-requirements: requirements.txt.new
 
41
        mv $< requirements.txt
 
42
 
 
43
# ---
 
44
 
 
45
bin/maas-test: bin/python setup.py
 
46
        bin/python setup.py --quiet develop
 
47
 
 
48
bin/flake8 bin/pyflakes bin/pep8 bin/tox: bin/pip requirements.txt
 
49
        bin/pip install --quiet --ignore-installed -r requirements.txt
 
50
 
 
51
bin/python bin/pip:
 
52
        $(virtualenv) --system-site-packages $(PWD)
 
53
 
 
54
requirements.txt.new: requirements.txt
 
55
        $(virtualenv) --no-site-packages .deps
 
56
        .deps/bin/pip install --quiet --ignore-installed -r requirements.txt
 
57
        .deps/bin/pip freeze --local | egrep -v ^virtualenv= > $@
 
58
        @$(RM) -r .deps
 
59
        @diff -u $< $@ || true
 
60
 
 
61
# ---
 
62
 
 
63
define phony
 
64
  build
 
65
  clean
 
66
  dist
 
67
  install-dependencies
 
68
  lint
 
69
  test
 
70
  update-requirements
 
71
endef
 
72
 
 
73
.PHONY: $(strip $(phony))