diff --git a/Makefile b/Makefile index 5a98fcd3..f5c7527a 100644 --- a/Makefile +++ b/Makefile @@ -5,13 +5,10 @@ MANDIR ?= $(PREFIX)/man SHAREDIR ?= $(PREFIX)/share PYTHON ?= /usr/bin/env python3 -# set SYSCONFDIR to /etc if PREFIX=/usr or PREFIX=/usr/local -SYSCONFDIR = $(shell if [ $(PREFIX) = /usr -o $(PREFIX) = /usr/local ]; then echo /etc; else echo $(PREFIX)/etc; fi) all: man completion docs/supportedsites.rst clean: - $(RM) gallery-dl.1 gallery-dl.conf.5 gallery-dl.bash_completion $(RM) -r build/ install: man completion @@ -26,20 +23,20 @@ test: executable: scripts/pyinstaller.py -completion: gallery-dl.bash_completion +completion: build/completion/gallery-dl -man: gallery-dl.1 gallery-dl.conf.5 +man: build/man/gallery-dl.1 build/man/gallery-dl.conf.5 .PHONY: all clean install release test executable completion man docs/supportedsites.rst: gallery_dl/*/*.py scripts/supportedsites.py $(PYTHON) scripts/supportedsites.py -gallery-dl.1: gallery_dl/option.py scripts/man.py +build/man/gallery-dl.1: gallery_dl/option.py gallery_dl/version.py scripts/man.py $(PYTHON) scripts/man.py -gallery-dl.conf.5: docs/configuration.rst scripts/man.py +build/man/gallery-dl.conf.5: docs/configuration.rst gallery_dl/version.py scripts/man.py $(PYTHON) scripts/man.py -gallery-dl.bash_completion: gallery_dl/option.py scripts/bash_completion.py +build/completion/gallery-dl: gallery_dl/option.py scripts/bash_completion.py $(PYTHON) scripts/bash_completion.py diff --git a/scripts/bash_completion.py b/scripts/bash_completion.py index 69e6a79c..b2c5eace 100755 --- a/scripts/bash_completion.py +++ b/scripts/bash_completion.py @@ -47,7 +47,7 @@ for action in option.build_parser()._actions: if opt.startswith("--"): opts.append(opt) -PATH = util.path("gallery-dl.bash_completion") +PATH = util.path("build/completion/gallery-dl") with open(PATH, "w", encoding="utf-8") as file: file.write(TEMPLATE % { "opts" : " ".join(opts), diff --git a/scripts/man.py b/scripts/man.py index 91608a3e..20d55564 100755 --- a/scripts/man.py +++ b/scripts/man.py @@ -99,7 +99,7 @@ and https://github.com/mikf/gallery-dl/graphs/contributors )) if not path: - path = util.path("gallery-dl.1") + path = util.path("build/man/gallery-dl.1") with open(path, "w", encoding="utf-8") as file: file.write(TEMPLATE.lstrip() % { "options": "\n".join(options), @@ -217,7 +217,7 @@ and https://github.com/mikf/gallery-dl/graphs/contributors content.append(strip_rst(text, field != "Example")) if not path: - path = util.path("gallery-dl.conf.5") + path = util.path("build/man/gallery-dl.conf.5") with open(path, "w", encoding="utf-8") as file: file.write(TEMPLATE.lstrip() % { "options": "\n".join(content), diff --git a/scripts/util.py b/scripts/util.py index bfbd6cbf..773794ca 100644 --- a/scripts/util.py +++ b/scripts/util.py @@ -8,4 +8,6 @@ sys.path.insert(0, os.path.realpath(ROOTDIR)) def path(*segments, join=os.path.join): - return join(ROOTDIR, *segments) + result = join(ROOTDIR, *segments) + os.makedirs(os.path.dirname(result), exist_ok=True) + return result diff --git a/setup.py b/setup.py index ddf2a514..ff630937 100644 --- a/setup.py +++ b/setup.py @@ -36,9 +36,9 @@ VERSION = re.search( FILES = [ (path, [f for f in files if check_file(f)]) for (path, files) in [ - ('etc/bash_completion.d', ['gallery-dl.bash_completion']), - ('share/man/man1' , ['gallery-dl.1']), - ('share/man/man5' , ['gallery-dl.conf.5']), + ("share/bash-completion/completions", ["build/completion/gallery-dl"]), + ("share/man/man1" , ["build/man/gallery-dl.1"]), + ("share/man/man5" , ["build/man/gallery-dl.conf.5"]), ] ]