diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 140 |
1 files changed, 131 insertions, 9 deletions
@@ -18,13 +18,16 @@ BINDIR ?= $(PREFIX)$(BIN) LIBEXECDIR ?= $(PREFIX)$(LIBEXEC) # The resource path including prefix. DATADIR ?= $(PREFIX)$(DATA) +# The generic documentation path including prefix +DOCDIR ?= $(DATADIR)/doc +# The info manual documentation path including prefix +INFODIR ?= $(DATADIR)/info # The license base path including prefix. LICENSEDIR ?= $(DATADIR)/licenses # The name of the package as it should be installed. PKGNAME ?= orphan-reaper - # The name of the command as it should be installed. COMMAND ?= orphan-reaper @@ -40,35 +43,96 @@ C_FLAGS = $(OPTIMISE) $(WARN) $(DEFS) $(USER_FLAGS) # Build rules. +.PHONY: default +default: command info shell + .PHONY: all -all: bin/orphan-reaper bin/reapd +all: command doc shell + +# Build rules for the command. +.PHONY: command +command: bin/orphan-reaper bin/reapd bin/%: src/%.c mkdir -p bin $(CC) $(C_FLAGS) -o $@ $< +# Build rules for documentation. + +.PHONY: doc +doc: info pdf dvi ps + +.PHONY: info +info: orphan-reaper.info +%.info: info/%.texinfo info/fdl.texinfo + makeinfo $< + +.PHONY: pdf +pdf: orphan-reaper.pdf +%.pdf: info/%.texinfo info/fdl.texinfo + @mkdir -p obj + cd obj ; yes X | texi2pdf ../$< + mv obj/$@ $@ + +.PHONY: dvi +dvi: orphan-reaper.dvi +%.dvi: info/%.texinfo info/fdl.texinfo + @mkdir -p obj + cd obj ; yes X | $(TEXI2DVI) ../$< + mv obj/$@ $@ + +.PHONY: ps +ps: orphan-reaper.ps +%.ps: info/%.texinfo info/fdl.texinfo + @mkdir -p obj + cd obj ; yes X | texi2pdf --ps ../$< + mv obj/$@ $@ + +# Build rules for shell auto-completion. + +.PHONY: shell +shell: bash zsh fish + +.PHONY: bash +bash: bin/orphan-reaper.bash +bin/orphan-reaper.bash: src/completion + @mkdir -p bin + auto-auto-complete bash --output $@ --source $< + +.PHONY: zsh +zsh: bin/orphan-reaper.zsh +bin/orphan-reaper.zsh: src/completion + @mkdir -p bin + auto-auto-complete zsh --output $@ --source $< + +.PHONY: fish +fish: bin/orphan-reaper.fish +bin/orphan-reaper.fish: src/completion + @mkdir -p bin + auto-auto-complete fish --output $@ --source $< + # Install rules. .PHONY: install -install: install-base +install: install-base install-info install-shell .PHONY: install -install-all: install-base +install-all: install-base install-doc install-shell -.PHONY: install-base -install-base: install-cmd install-copyright +# Install base rules. +.PHONY: install-base +install-base: install-command install-copyright -.PHONY: install-cmd -install-cmd: bin/orphan-reaper bin/reapd +.PHONY: install-command +install-command: bin/orphan-reaper bin/reapd install -dm755 -- "$(DESTDIR)$(BINDIR)" install -dm755 -- "$(DESTDIR)$(LIBEXECDIR)" install -m755 bin/orphan-reaper -- "$(DESTDIR)$(BINDIR)/$(COMMAND)" install -m755 bin/reapd -- "$(DESTDIR)$(LIBEXECDIR)/reapd" - .PHONY: install-copyright install-copyright: install-copying install-license @@ -82,6 +146,50 @@ install-license: install -dm755 -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)" install -m644 LICENSE -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)/LICENSE" +# Install documentation. + +.PHONY: install-doc +install-doc: install-info install-pdf install-ps install-dvi + +.PHONY: install-info +install-info: orphan-reaper.info + install -dm755 -- "$(DESTDIR)$(INFODIR)" + install -m644 $< -- "$(DESTDIR)$(INFODIR)/$(PKGNAME).info" + +.PHONY: install-pdf +install-pdf: orphan-reaper.pdf + install -dm755 -- "$(DESTDIR)$(DOCDIR)" + install -m644 $< -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME).pdf" + +.PHONY: install-ps +install-ps: orphan-reaper.ps + install -dm755 -- "$(DESTDIR)$(DOCDIR)" + install -m644 $< -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME).ps" + +.PHONY: install-dvi +install-dvi: orphan-reaper.dvi + install -dm755 -- "$(DESTDIR)$(DOCDIR)" + install -m644 $< -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME).dvi" + +# Install shell auto-completion. + +.PHONY: install-shell +install-shell: install-bash install-zsh install-fish + +.PHONY: install-bash +install-bash: bin/orphan-reaper.bash + install -dm755 -- "$(DESTDIR)$(DATADIR)/bash-completion/completions" + install -m644 $< -- "$(DESTDIR)$(DATADIR)/bash-completion/completions/$(COMMAND)" + +.PHONY: install-zsh +install-zsh: bin/orphan-reaper.zsh + install -dm755 -- "$(DESTDIR)$(DATADIR)/zsh/site-functions" + install -m644 $< -- "$(DESTDIR)$(DATADIR)/zsh/site-functions/_$(COMMAND)" + +.PHONY: install-fish +install-fish: bin/orphan-reaper.fish + install -dm755 -- "$(DESTDIR)$(DATADIR)/fish/completions" + install -m644 $< -- "$(DESTDIR)$(DATADIR)/fish/completions/$(COMMAND).fish" # Uninstall rules. @@ -92,6 +200,20 @@ uninstall: -rm -- "$(DESTDIR)$(LIBEXECDIR)/reapd" -rm -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)/COPYING" -rm -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)/LICENSE" + -rmdir -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)" + -rm -- "$(DESTDIR)$(INFODIR)/$(PKGNAME).info" + -rm -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME).pdf" + -rm -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME).ps" + -rm -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME).dvi" + -rm -- "$(DESTDIR)$(DATADIR)/fish/completions/$(COMMAND).fish" + -rmdir -- "$(DESTDIR)$(DATADIR)/fish/completions" + -rmdir -- "$(DESTDIR)$(DATADIR)/fish" + -rm -- "$(DESTDIR)$(DATADIR)/zsh/site-functions/_$(COMMAND)" + -rmdir -- "$(DESTDIR)$(DATADIR)/zsh/site-functions" + -rmdir -- "$(DESTDIR)$(DATADIR)/zsh" + -rm -- "$(DESTDIR)$(DATADIR)/bash-completion/completions/$(COMMAND)" + -rmdir -- "$(DESTDIR)$(DATADIR)/bash-completion/completions" + -rmdir -- "$(DESTDIR)$(DATADIR)/bash-completion" # Clean rules. |