about summary refs log tree commit diff
path: root/Makefile
diff options
context:
space:
mode:
authorFilippo Valsorda <filippo.valsorda@gmail.com>2012-08-03 20:10:54 +0200
committerFilippo Valsorda <filippo.valsorda@gmail.com>2012-08-03 20:10:54 +0200
commitdce1088450becaa95e7fcaea2c70e8965b142a69 (patch)
treed006bff78f49946cb30e9860611a4d83b830e53a /Makefile
parent7a7c093ab011ea94de52d90500cb90c7a39ea0a2 (diff)
downloadyoutube-dl-dce1088450becaa95e7fcaea2c70e8965b142a69.tar.gz
youtube-dl-dce1088450becaa95e7fcaea2c70e8965b142a69.tar.xz
youtube-dl-dce1088450becaa95e7fcaea2c70e8965b142a69.zip
A more "make-esque" Makefile with file targets and dependencies
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile62
1 files changed, 31 insertions, 31 deletions
diff --git a/Makefile b/Makefile
index ea1efe075..26c85b578 100644
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,32 @@
-all: compile exe readme man-page bash-completion update-latest
+all: youtube-dl youtube-dl.exe README.md youtube-dl.1 youtube-dl.bash-completion LATEST_VERSION
 
-update-latest:
-	./youtube-dl --version > LATEST_VERSION
+install: youtube-dl youtube-dl.1 youtube-dl.bash-completion
+	install -m 755 --owner root --group root youtube-dl /usr/local/bin/
+	install -m 644 --owner root --group root youtube-dl.1 /usr/local/man/man1
+	install -m 644 --owner root --group root youtube-dl.bash-completion /etc/bash_completion.d/youtube-dl
+
+release:
+	@if [ -z "$$version" ]; then echo 'ERROR: specify version number like this: make release version=1994.09.06'; exit 1; fi
+	@if [ ! -z "`git tag | grep "$$version"`" ]; then echo 'ERROR: version already present'; exit 1; fi
+	@if [ ! -z "`git status --porcelain`" ]; then echo 'ERROR: the working directory is not clean; commit or stash changes'; exit 1; fi
+	@sed -i "s/__version__ = '.*'/__version__ = '$$version'/" youtube_dl/__init__.py
+	make all
+	git add -A
+	git commit -m "release $$version"
+	git tag -m "Release $$version" "$$version"
+
+.PHONY: all install release
+
+youtube-dl: youtube_dl/*.py
+	zip --quiet --junk-paths youtube-dl youtube_dl/*.py
+	echo '#!/usr/bin/env python' > youtube-dl
+	cat youtube-dl.zip >> youtube-dl
+	rm youtube-dl.zip
+
+youtube-dl.exe: youtube_dl/*.py
+	bash devscripts/wine-py2exe.sh build_exe.py
 
-readme:
+README.md: youtube-dl
 	@options=$$(COLUMNS=80 ./youtube-dl --help | sed -e '1,/.*General Options.*/ d' -e 's/^\W\{2\}\(\w\)/## \1/') && \
 		header=$$(sed -e '/.*# OPTIONS/,$$ d' README.md) && \
 		footer=$$(sed -e '1,/.*# FAQ/ d' README.md) && \
@@ -15,36 +38,13 @@ readme:
 		echo '# FAQ' >> README.md && \
 		echo "$${footer}" >> README.md
 
-man-page:
+youtube-dl.1: README.md
 	pandoc -s -w man README.md -o youtube-dl.1
 
-bash-completion:
+youtube-dl.bash-completion: README.md
 	@options=`egrep -o '(--[a-z-]+) ' README.md | sort -u | xargs echo` && \
 		content=`sed "s/opts=\"[^\"]*\"/opts=\"$${options}\"/g" youtube-dl.bash-completion` && \
 		echo "$${content}" > youtube-dl.bash-completion
 
-compile:
-	zip --quiet --junk-paths youtube-dl youtube_dl/*.py
-	echo '#!/usr/bin/env python' > youtube-dl
-	cat youtube-dl.zip >> youtube-dl
-	rm youtube-dl.zip
-
-exe:
-	bash devscripts/wine-py2exe.sh build_exe.py
-
-install:
-	install -m 755 --owner root --group root youtube-dl /usr/local/bin/
-	install -m 644 --owner root --group root youtube-dl.1 /usr/local/man/man1
-	install -m 644 --owner root --group root youtube-dl.bash-completion /etc/bash_completion.d/youtube-dl
-
-release:
-	@if [ -z "$$version" ]; then echo 'ERROR: specify version number like this: make release version=1994.09.06'; exit 1; fi
-	@if [ ! -z "`git tag | grep "$$version"`" ]; then echo 'ERROR: version already present'; exit 1; fi
-	@if [ ! -z "`git status --porcelain`" ]; then echo 'ERROR: the working directory is not clean; commit or stash changes'; exit 1; fi
-	@sed -i "s/__version__ = '.*'/__version__ = '$$version'/" youtube_dl/__init__.py
-	make all
-	git add -A
-	git commit -m "release $$version"
-	git tag -m "Release $$version" "$$version"
-
-.PHONY: all update-latest readme man-page bash-completion compile exe install release
+LATEST_VERSION: youtube-dl
+	./youtube-dl --version > LATEST_VERSION