| Mike Marchetti | 4c7e237 | 2017-05-08 16:07:20 -0400 | [diff] [blame] | 1 | # 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 | |
| 18 | all: build_tools |
| 19 | $(MAKE) test |
| 20 | $(MAKE) package |
| 21 | |
| 22 | BUILD_TOOLS=python python3 virtualenv \ |
| 23 | libcurl4-gnutls-dev python-pip \ |
| 24 | python3-pip libgnutls-dev debhelper |
| 25 | |
| 26 | VENV=osmclient-venv |
| 27 | VENV3=osmclient-venv3 |
| 28 | VENV_BIN=$(VENV)/bin/python |
| 29 | VENV3_BIN=$(VENV3)/bin/python |
| 30 | |
| 31 | venv: $(VENV)/bin/activate |
| 32 | venv3: $(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 | |
| 44 | build_tools: |
| 45 | sudo apt-get -y install $(BUILD_TOOLS) |
| 46 | |
| 47 | package: build_tools |
| 48 | $(VENV_BIN) setup.py --command-packages=stdeb.command bdist_deb |
| 49 | |
| 50 | test_flake8: venv |
| 51 | $(VENV_BIN) setup.py flake8 |
| 52 | |
| 53 | test_nose: venv |
| 54 | $(VENV_BIN) setup.py test |
| 55 | |
| 56 | test_nose3: venv3 |
| 57 | $(VENV3_BIN) setup.py test |
| 58 | |
| 59 | test: test_flake8 test_nose test_nose3 |
| 60 | |
| 61 | .PHONY: package build_tools test test_flake8 test_nose test_nose3 |
| 62 | |
| 63 | clean: |
| 64 | rm -rf $(VENV) $(VENV3) deb_dist dist osmclient.egg-info |