1
0
mirror of https://github.com/spaam/svtplay-dl.git synced 2024-11-30 23:24:16 +01:00
svtplay-dl/Makefile

101 lines
2.6 KiB
Makefile
Raw Normal View History

2013-03-23 15:43:05 +01:00
all: svtplay-dl
.PHONY: test cover doctest pylint svtplay-dl \
release clean_releasedir $(RELEASE_DIR)
2013-04-21 10:48:20 +02:00
# These variables describe the latest release:
2015-09-13 23:37:02 +02:00
VERSION = 0.20
2015-10-08 23:25:24 +02:00
LATEST_RELEASE_DATE = 2015.10.08
LATEST_RELEASE = $(VERSION).$(LATEST_RELEASE_DATE)
# If we build a new release, this is what it will be called:
NEW_RELEASE_DATE = $(shell date +%Y.%m.%d)
NEW_RELEASE = $(VERSION).$(NEW_RELEASE_DATE)
RELEASE_DIR = svtplay-dl-$(NEW_RELEASE)
2013-03-23 15:43:05 +01:00
PREFIX ?= /usr/local
BINDIR = $(PREFIX)/bin
MANDIR = $(PREFIX)/share/man/man1
# Compress the manual if MAN_GZIP is set to y,
ifeq ($(MAN_GZIP),y)
MANFILE_EXT = .gz
endif
MANFILE = svtplay-dl.1$(MANFILE_EXT)
# As pod2man is a perl tool, we have to jump through some hoops
# to remove references to perl.. :-)
POD2MAN ?= pod2man --section 1 --utf8 \
--center "svtplay-dl manual" \
--release "svtplay-dl $(VERSION)" \
--date "$(LATEST_RELEASE_DATE)"
2014-02-02 15:10:17 +01:00
PYTHON ?= /usr/bin/env python
export PYTHONPATH=lib
2013-03-23 15:43:05 +01:00
# If you don't have a python3 environment (e.g. mock for py3 and
# nosetests3), you can remove the -3 flag.
TEST_OPTS ?= -2 -3
install: svtplay-dl $(MANFILE)
2013-03-23 15:43:05 +01:00
install -d $(DESTDIR)$(BINDIR)
install -d $(DESTDIR)$(MANDIR)
2013-03-23 15:43:05 +01:00
install -m 755 svtplay-dl $(DESTDIR)$(BINDIR)
2015-02-01 16:09:57 +01:00
install -m 644 $(MANFILE) $(DESTDIR)$(MANDIR)
2013-03-23 15:43:05 +01:00
svtplay-dl: $(PYFILES)
$(MAKE) -C lib
2013-03-23 16:30:19 +01:00
mv lib/svtplay-dl .
2013-03-23 17:07:36 +01:00
svtplay-dl.1: svtplay-dl.pod
rm -f $@
$(POD2MAN) $< $@
svtplay-dl.1.gz: svtplay-dl.1
rm -f $@
gzip -9 svtplay-dl.1
2013-03-23 17:07:36 +01:00
test:
sh run-tests.sh $(TEST_OPTS)
2013-04-21 10:48:20 +02:00
cover:
sh run-tests.sh -C
pylint:
2014-12-26 02:11:19 +01:00
$(MAKE) -C lib pylint
doctest: svtplay-dl
sh scripts/diff_man_help.sh
$(RELEASE_DIR): clean_releasedir
mkdir $(RELEASE_DIR)
cd $(RELEASE_DIR) && git clone -b master ../ . && \
make svtplay-dl $(MANFILE)
clean_releasedir:
rm -rf $(RELEASE_DIR)
release: $(RELEASE_DIR) release-test
2015-03-24 23:54:03 +01:00
set -e; cd $(RELEASE_DIR) && \
sed -i -re 's/^(LATEST_RELEASE_DATE = ).*/\1$(NEW_RELEASE_DATE)/' Makefile;\
sed -i -re 's/^(__version__ = ).*/\1"$(NEW_RELEASE)"/' lib/svtplay_dl/__init__.py;\
make svtplay-dl VERSION=$(NEW_RELEASE); \
2015-03-24 23:54:03 +01:00
git add svtplay-dl Makefile lib/svtplay_dl/__init__.py; \
git commit -m "Prepare for release $(NEW_RELEASE)";
(cd $(RELEASE_DIR) && git format-patch --stdout HEAD^) | git am
git tag -m "New version $(NEW_RELEASE)" \
-m "$$(git log --oneline $$(git describe --tags --abbrev=0 HEAD^)..HEAD^)" \
$(NEW_RELEASE)
make clean_releasedir
release-test: $(RELEASE_DIR)
make -C $(RELEASE_DIR) test
make -C $(RELEASE_DIR) doctest
clean:
$(MAKE) -C lib clean
rm -f svtplay-dl
rm -f $(MANFILE)