1 LIBRARY_VERSION
=$(shell grep version library
/setup.cfg | awk
-F
" = " '{print $$2}')
2 LIBRARY_NAME
=$(shell grep name library
/setup.cfg | awk
-F
" = " '{print $$2}')
4 .PHONY
: usage
install uninstall
6 @echo
"Library: ${LIBRARY_NAME}"
7 @echo
"Version: ${LIBRARY_VERSION}\n"
8 @echo
"Usage: make <target>, where target is one of:\n"
9 @echo
"install: install the library locally from source"
10 @echo
"uninstall: uninstall the local library"
11 @echo
"check: peform basic integrity checks on the codebase"
12 @echo
"python-readme: generate library/README.rst from README.md"
13 @echo
"python-wheels: build python .whl files for distribution"
14 @echo
"python-sdist: build python source distribution"
15 @echo
"python-clean: clean python build and dist directories"
16 @echo
"python-dist: build all python distribution files"
17 @echo
"python-testdeploy: build all and deploy to test PyPi"
18 @echo
"tag: tag the repository with the current version"
27 @echo
"Checking for trailing whitespace"
28 @
! grep
-IUrn
--color
"[[:blank:]]$$" --exclude-dir
=sphinx
--exclude-dir
=.tox
--exclude-dir
=.git
--exclude
=PKG-INFO
29 @echo
"Checking for DOS line-endings"
30 @
! grep
-IUrn
--color
"
" --exclude-dir
=sphinx
--exclude-dir
=.tox
--exclude-dir
=.git
--exclude
=Makefile
31 @echo
"Checking library/CHANGELOG.txt"
32 @cat library
/CHANGELOG.txt | grep ^
${LIBRARY_VERSION}
33 @echo
"Checking library/${LIBRARY_NAME}/__init__.py"
34 @cat library
/${LIBRARY_NAME}/__init__.py | grep
"^__version__ = '${LIBRARY_VERSION}'"
37 git tag
-a
"v${LIBRARY_VERSION}" -m
"Version ${LIBRARY_VERSION}"
39 python-readme
: library
/README.rst
41 python-license
: library
/LICENSE.txt
43 library
/README.rst
: README.md library
/CHANGELOG.txt
44 pandoc
--from
=markdown
--to
=rst
-o library
/README.rst README.md
45 echo
"" >> library
/README.rst
46 cat library
/CHANGELOG.txt
>> library
/README.rst
48 library
/LICENSE.txt
: LICENSE
49 cp LICENSE library
/LICENSE.txt
51 python-wheels
: python-readme python-license
52 cd library
; python3 setup.py bdist_wheel
53 cd library
; python setup.py bdist_wheel
55 python-sdist
: python-readme python-license
56 cd library
; python setup.py sdist
61 -rm -r library
/*.egg-info
63 python-dist
: python-clean python-wheels python-sdist
66 python-testdeploy
: python-dist
67 twine upload
--repository-url https
://test.pypi.org
/legacy
/ library
/dist/*
69 python-deploy
: check python-dist
70 twine upload library
/dist/*