blob: c8b6c395ae52b74afc490b1fb9464aecd279fdb8 [file] [log] [blame]
Mike Marchetti4c7e2372017-05-08 16:07:20 -04001# Copyright 2017 Sandvine
2#
3# All Rights Reserved.
4#
5# Licensed under the Apache License, Version 2.0 (the "License"); you may
6# not use this file except in compliance with the License. You may obtain
7# a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14# License for the specific language governing permissions and limitations
15# under the License.
16#
17
18all: build_tools
19 $(MAKE) test
20 $(MAKE) package
21
22BUILD_TOOLS=python python3 virtualenv \
23 libcurl4-gnutls-dev python-pip \
24 python3-pip libgnutls-dev debhelper
25
26VENV=osmclient-venv
27VENV3=osmclient-venv3
28VENV_BIN=$(VENV)/bin/python
29VENV3_BIN=$(VENV3)/bin/python
30
31venv: $(VENV)/bin/activate
32venv3: $(VENV3)/bin/activate
33
34$(VENV)/bin/activate: test_requirements.txt
35 test -d $(VENV) || virtualenv $(VENV)
36 $(VENV)/bin/pip install -Ur test_requirements.txt
37 touch $(VENV)/bin/activate
38
39$(VENV3)/bin/activate: test_requirements.txt
40 test -d $(VENV3) || virtualenv -p python3 $(VENV3)
41 $(VENV3)/bin/pip3 install -Ur test_requirements.txt
42 touch $(VENV3)/bin/activate
43
44build_tools:
45 sudo apt-get -y install $(BUILD_TOOLS)
46
47package: build_tools
48 $(VENV_BIN) setup.py --command-packages=stdeb.command bdist_deb
49
50test_flake8: venv
51 $(VENV_BIN) setup.py flake8
52
53test_nose: venv
54 $(VENV_BIN) setup.py test
55
56test_nose3: venv3
57 $(VENV3_BIN) setup.py test
58
59test: test_flake8 test_nose test_nose3
60
61.PHONY: package build_tools test test_flake8 test_nose test_nose3
62
63clean:
64 rm -rf $(VENV) $(VENV3) deb_dist dist osmclient.egg-info