- $(PYTHON) -m nose --verbose test --exclude test_download.py --exclude test_age_restriction.py --exclude test_subtitles.py --exclude test_write_annotations.py --exclude test_youtube_lists.py --exclude test_iqiyi_sdk_interpreter.py
-
-tar: youtube-dl.tar.gz
-
-.PHONY: all clean install test tar bash-completion pypi-files zsh-completion fish-completion ot offlinetest codetest supportedsites
-
-pypi-files: youtube-dl.bash-completion README.txt youtube-dl.1 youtube-dl.fish
-
-youtube-dl: youtube_dl/*.py youtube_dl/*/*.py
- zip --quiet youtube-dl youtube_dl/*.py youtube_dl/*/*.py
- zip --quiet --junk-paths youtube-dl youtube_dl/__main__.py
- echo '#!$(PYTHON)' > youtube-dl
- cat youtube-dl.zip >> youtube-dl
- rm youtube-dl.zip
- chmod a+x youtube-dl
-
-README.md: youtube_dl/*.py youtube_dl/*/*.py
- COLUMNS=80 $(PYTHON) youtube_dl/__main__.py --help | $(PYTHON) devscripts/make_readme.py
+ $(PYTHON) -m nose --verbose test \
+ --exclude test_age_restriction.py \
+ --exclude test_download.py \
+ --exclude test_iqiyi_sdk_interpreter.py \
+ --exclude test_overwrites.py \
+ --exclude test_socks.py \
+ --exclude test_subtitles.py \
+ --exclude test_write_annotations.py \
+ --exclude test_youtube_lists.py \
+ --exclude test_youtube_signature.py \
+ --exclude test_post_hooks.py
+
+yt-dlp: yt_dlp/*.py yt_dlp/*/*.py
+ mkdir -p zip
+ for d in yt_dlp yt_dlp/downloader yt_dlp/extractor yt_dlp/postprocessor ; do \
+ mkdir -p zip/$$d ;\
+ cp -pPR $$d/*.py zip/$$d/ ;\
+ done
+ touch -t 200001010101 zip/yt_dlp/*.py zip/yt_dlp/*/*.py
+ mv zip/yt_dlp/__main__.py zip/
+ cd zip ; zip -q ../yt-dlp yt_dlp/*.py yt_dlp/*/*.py __main__.py
+ rm -rf zip
+ echo '#!$(PYTHON)' > yt-dlp
+ cat yt-dlp.zip >> yt-dlp
+ rm yt-dlp.zip
+ chmod a+x yt-dlp
+
+README.md: yt_dlp/*.py yt_dlp/*/*.py
+ COLUMNS=80 $(PYTHON) yt_dlp/__main__.py --help | $(PYTHON) devscripts/make_readme.py