mirror of
				https://github.com/CumulusNetworks/ifupdown2.git
				synced 2024-05-06 15:54:50 +00:00 
			
		
		
		
	
		
			
	
	
		
			97 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
		
		
			
		
	
	
			97 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| 
								 | 
							
								.PHONY: clean clean-test clean-pyc clean-build docs help
							 | 
						||
| 
								 | 
							
								.DEFAULT_GOAL := help
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								define BROWSER_PYSCRIPT
							 | 
						||
| 
								 | 
							
								import os, webbrowser, sys
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								try:
							 | 
						||
| 
								 | 
							
									from urllib import pathname2url
							 | 
						||
| 
								 | 
							
								except:
							 | 
						||
| 
								 | 
							
									from urllib.request import pathname2url
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								webbrowser.open("file://" + pathname2url(os.path.abspath(sys.argv[1])))
							 | 
						||
| 
								 | 
							
								endef
							 | 
						||
| 
								 | 
							
								export BROWSER_PYSCRIPT
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								define PRINT_HELP_PYSCRIPT
							 | 
						||
| 
								 | 
							
								import re, sys
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								for line in sys.stdin:
							 | 
						||
| 
								 | 
							
									match = re.match(r'^([a-zA-Z_-]+):.*?## (.*)$$', line)
							 | 
						||
| 
								 | 
							
									if match:
							 | 
						||
| 
								 | 
							
										target, help = match.groups()
							 | 
						||
| 
								 | 
							
										print("%-20s %s" % (target, help))
							 | 
						||
| 
								 | 
							
								endef
							 | 
						||
| 
								 | 
							
								export PRINT_HELP_PYSCRIPT
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								BROWSER := python -c "$$BROWSER_PYSCRIPT"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								help:
							 | 
						||
| 
								 | 
							
									@python -c "$$PRINT_HELP_PYSCRIPT" < $(MAKEFILE_LIST)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								clean: clean-build clean-pyc clean-test ## remove all build, test, coverage and Python artifacts
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								clean-build: ## remove build artifacts
							 | 
						||
| 
								 | 
							
									rm -fr build/
							 | 
						||
| 
								 | 
							
									rm -fr dist/
							 | 
						||
| 
								 | 
							
									rm -fr .eggs/
							 | 
						||
| 
								 | 
							
									find . -name '*.egg-info' -exec rm -fr {} +
							 | 
						||
| 
								 | 
							
									find . -name '*.egg' -exec rm -f {} +
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								clean-pyc: ## remove Python file artifacts
							 | 
						||
| 
								 | 
							
									find . -name '*.pyc' -exec rm -f {} +
							 | 
						||
| 
								 | 
							
									find . -name '*.pyo' -exec rm -f {} +
							 | 
						||
| 
								 | 
							
									find . -name '*~' -exec rm -f {} +
							 | 
						||
| 
								 | 
							
									find . -name '__pycache__' -exec rm -fr {} +
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								clean-test: ## remove test and coverage artifacts
							 | 
						||
| 
								 | 
							
									rm -fr .tox/
							 | 
						||
| 
								 | 
							
									rm -f .coverage
							 | 
						||
| 
								 | 
							
									rm -fr htmlcov/
							 | 
						||
| 
								 | 
							
									rm -fr .pytest_cache
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								lint: ## check style with flake8
							 | 
						||
| 
								 | 
							
									flake8 ifupdown2 tests
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test: ## run tests quickly with the default Python
							 | 
						||
| 
								 | 
							
									py.test
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								test-all: ## run tests on every Python version with tox
							 | 
						||
| 
								 | 
							
									tox
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								coverage: ## check code coverage quickly with the default Python
							 | 
						||
| 
								 | 
							
									coverage run --source ifupdown2 -m pytest
							 | 
						||
| 
								 | 
							
									coverage report -m
							 | 
						||
| 
								 | 
							
									coverage html
							 | 
						||
| 
								 | 
							
									$(BROWSER) htmlcov/index.html
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								docs: ## generate Sphinx HTML documentation, including API docs
							 | 
						||
| 
								 | 
							
									rm -f docs/ifupdown2.rst
							 | 
						||
| 
								 | 
							
									rm -f docs/modules.rst
							 | 
						||
| 
								 | 
							
									sphinx-apidoc -o docs/ ifupdown2
							 | 
						||
| 
								 | 
							
									$(MAKE) -C docs clean
							 | 
						||
| 
								 | 
							
									$(MAKE) -C docs html
							 | 
						||
| 
								 | 
							
									$(BROWSER) docs/_build/html/index.html
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								servedocs: docs ## compile the docs watching for changes
							 | 
						||
| 
								 | 
							
									watchmedo shell-command -p '*.rst' -c '$(MAKE) -C docs html' -R -D .
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								testpy: ## package and upload to testpy
							 | 
						||
| 
								 | 
							
									python setup.py sdist bdist_wheel
							 | 
						||
| 
								 | 
							
									twine upload --repository-url https://test.pypi.org/legacy/ dist/*
							 | 
						||
| 
								 | 
							
									@echo "Install ifupdown2 from testpy 'pip install --index-url https://test.pypi.org/simple/ ifupdown2'"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								release: dist ## package and upload a release
							 | 
						||
| 
								 | 
							
									twine upload dist/*
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								dist: clean ## builds source and wheel package
							 | 
						||
| 
								 | 
							
									python setup.py sdist
							 | 
						||
| 
								 | 
							
									python setup.py bdist_wheel
							 | 
						||
| 
								 | 
							
									ls -l dist
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								install: clean ## install the package to the active Python's site-packages
							 | 
						||
| 
								 | 
							
									python setup.py install
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								deb: clean ## create a debian package (.deb)
							 | 
						||
| 
								 | 
							
									debuild -b -rfakeroot -us -uc
							 |