devscripts/make_readme.py in place of all that sedding, that has porting problems
[youtube-dl] / Makefile
1 all: youtube-dl README.md README.txt youtube-dl.1 youtube-dl.bash-completion 
2
3 clean:
4         rm -rf youtube-dl youtube-dl.exe youtube-dl.1 youtube-dl.bash-completion README.txt MANIFEST build/ dist/
5
6 PREFIX=/usr/local
7 BINDIR=$(PREFIX)/bin
8 MANDIR=$(PREFIX)/man
9 SYSCONFDIR=/etc
10
11 install: youtube-dl youtube-dl.1 youtube-dl.bash-completion
12         install -d $(DESTDIR)$(BINDIR)
13         install -m 755 youtube-dl $(DESTDIR)$(BINDIR)
14         install -d $(DESTDIR)$(MANDIR)/man1
15         install -m 644 youtube-dl.1 $(DESTDIR)$(MANDIR)/man1
16         install -d $(DESTDIR)$(SYSCONFDIR)/bash_completion.d
17         install -m 644 youtube-dl.bash-completion $(DESTDIR)$(SYSCONFDIR)/bash_completion.d/youtube-dl
18
19 test:
20         nosetests2 --nocapture test
21
22 .PHONY: all clean install test
23
24 youtube-dl: youtube_dl/*.py
25         zip --quiet youtube-dl youtube_dl/*.py
26         zip --quiet --junk-paths youtube-dl youtube_dl/__main__.py
27         echo '#!/usr/bin/env python' > youtube-dl
28         cat youtube-dl.zip >> youtube-dl
29         rm youtube-dl.zip
30         chmod a+x youtube-dl
31
32 README.md: youtube_dl/*.py
33         COLUMNS=80 python -m youtube_dl --help | python devscripts/make_readme.py
34
35 README.txt: README.md
36         pandoc -f markdown -t plain README.md -o README.txt
37
38 youtube-dl.1: README.md
39         pandoc -s -f markdown -t man README.md -o youtube-dl.1
40
41 youtube-dl.bash-completion: README.md youtube-dl.bash-completion.in
42         @options=`egrep -o '(--[a-z-]+) ' README.md | sort -u | xargs echo` && \
43                 content=`sed "s/opts=\"[^\"]*\"/opts=\"$${options}\"/g" youtube-dl.bash-completion.in` && \
44                 echo "$${content}" > youtube-dl.bash-completion