From f2955560e6f00070ef6a1439c0a32d620b19fee2 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Wed, 19 Nov 2014 02:30:27 +0100 Subject: add install and uninstall rules MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- Makefile | 215 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 212 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 7f5ac44..3e08d29 100644 --- a/Makefile +++ b/Makefile @@ -8,6 +8,29 @@ # [GNU All Permissive License] +# The package path prefix, if you want to install to another root, set DESTDIR to that root +PREFIX = /usr +# The command path excluding prefix +BIN = /bin +# The resource path excluding prefix +DATA = /share +# The command path including prefix +BINDIR = $(PREFIX)$(BIN) +# The resource path including prefix +DATADIR = $(PREFIX)$(DATA) +# The generic documentation path including prefix +DOCDIR = $(DATADIR)/doc +# The man page documentation path including prefix +MANDIR = $(DATADIR)/man +# 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 = sha3sum + + WARN = -Wall -Wextra -pedantic -Wdouble-promotion -Wformat=2 -Winit-self -Wmissing-include-dirs \ -Wtrampolines -Wfloat-equal -Wshadow -Wmissing-prototypes -Wmissing-declarations \ -Wredundant-decls -Wnested-externs -Winline -Wno-variadic-macros -Wswitch-default \ @@ -23,9 +46,12 @@ COPTIMISE = -O3 FLAGS = $(WARN) -std=gnu99 -CMDS = keccak-224sum keccak-256sum keccak-384sum keccak-512sum keccaksum \ - sha3-224sum sha3-256sum sha3-384sum sha3-512sum \ - rawshake256sum rawshake512sum shake256sum shake512sum +KECCAK_CMDS = keccak-224sum keccak-256sum keccak-384sum keccak-512sum keccaksum +SHA3_CMDS = sha3-224sum sha3-256sum sha3-384sum sha3-512sum +RAWSHAKE_CMDS = rawshake256sum rawshake512sum +SHAKE_CMDS = shake256sum shake512sum + +CMDS = $(KECCAK_CMDS) $(SHA3_CMDS) $(RAWSHAKE_CMDS) $(SHAKE_CMDS) keccak-224sum = Keccak-224 keccak-256sum = Keccak-256 @@ -128,6 +154,189 @@ bin/%.ps: doc/%.texinfo doc/fdl.texinfo +.PHONY: install +install: install-base install-shell install-info + +.PHONY: install-all +install-all: install-base install-shell install-doc + +.PHONY: install-base +install-base: install-command install-copyright + + +.PHONY: install-command +install-command: install-keccak install-sha3 install-rawshake install-shake + +.PHONY: install-keccak +install-keccak: $(foreach C,$(KECCAK_CMDS),install-$(C)) + +.PHONY: install-sha3 +install-sha3: $(foreach C,$(SHA3_CMDS),install-$(C)) + +.PHONY: install-rawshake +install-rawshake: $(foreach C,$(RAWSHAKE_CMDS),install-$(C)) + +.PHONY: install-shake +install-shake: $(foreach C,$(SHAKE_CMDS),install-$(C)) + +.PHONY: install-%sum +install-%sum: bin/%sum + install -dm755 -- "$(DESTDIR)$(BINDIR)" + install -m755 -- $< "$(DESTDIR)$(BINDIR)/$*sum" + + +.PHONY: install-copyright +install-copyright: install-copying install-license + +.PHONY: install-copying +install-copying: + install -dm755 -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)" + install -m644 -- COPYING "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)/COPYING" + +.PHONY: install-license +install-license: + install -dm755 -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)" + install -m644 -- LICENSE "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)/LICENSE" + + +.PHONY: install-shell +install-shell: install-bash install-fish install-zsh + +.PHONY: install-keccak-shell +install-keccak-shell: install-keccak-bash install-keccak-fish install-keccak-zsh + +.PHONY: install-sha3-shell +install-sha3-shell: install-sha3-bash install-sha3-fish install-sha3-zsh + +.PHONY: install-rawshake-shell +install-rawshake-shell: install-rawshake-bash install-rawshake-fish install-rawshake-zsh + +.PHONY: install-shake-shell +install-shake-shell: install-shake-bash install-shake-fish install-shake-zsh + +.PHONY: install-bash +install-bash: install-keccak-bash install-sha3-bash install-rawshake-bash install-shake-bash + +.PHONY: install-fish +install-fish: install-keccak-fish install-sha3-fish install-rawshake-fish install-shake-fish + +.PHONY: install-zsh +install-zsh: install-keccak-zsh install-sha3-zsh install-rawshake-zsh install-shake-zsh + +.PHONY: install-keccak-bash +install-keccak-bash: $(foreach C,$(KECCAK_CMDS),install-$(C)-bash) + +.PHONY: install-keccak-fish +install-keccak-fish: $(foreach C,$(KECCAK_CMDS),install-$(C)-fish) + +.PHONY: install-keccak-zsh +install-keccak-zsh: $(foreach C,$(KECCAK_CMDS),install-$(C)-zsh) + +.PHONY: install-sha3-bash +install-sha3-bash: $(foreach C,$(SHA3_CMDS),install-$(C)-bash) + +.PHONY: install-sha3-fish +install-sha3-fish: $(foreach C,$(SHA3_CMDS),install-$(C)-fish) + +.PHONY: install-sha3-zsh +install-sha3-zsh: $(foreach C,$(SHA3_CMDS),install-$(C)-zsh) + +.PHONY: install-rawshake-bash +install-rawshake-bash: $(foreach C,$(RAWSHAKE_CMDS),install-$(C)-bash) + +.PHONY: install-rawshake-fish +install-rawshake-fish: $(foreach C,$(RAWSHAKE_CMDS),install-$(C)-fish) + +.PHONY: install-rawshake-zsh +install-rawshake-zsh: $(foreach C,$(RAWSHAKE_CMDS),install-$(C)-zsh) + +.PHONY: install-shake-bash +install-shake-bash: $(foreach C,$(SHAKE_CMDS),install-$(C)-bash) + +.PHONY: install-shake-fish +install-shake-fish: $(foreach C,$(SHAKE_CMDS),install-$(C)-fish) + +.PHONY: install-shake-zsh +install-shake-zsh: $(foreach C,$(SHAKE_CMDS),install-$(C)-zsh) + +.PHONY: install-%sum-bash +install-%sum-bash: bin/$*sum.bash + install -dm755 -- "$(DESTDIR)$(DATADIR)/bash-completion/completions" + install -m644 -- $< "$(DESTDIR)$(DATADIR)/bash-completion/completions/$*sum" + +.PHONY: install-%sum-fish +install-%sum-fish: bin/$*sum.fish + install -dm755 -- "$(DESTDIR)$(DATADIR)/fish/completions" + install -m644 -- $< "$(DESTDIR)$(DATADIR)/fish/completions/$*sum.fish" + +.PHONY: install-%sum-zsh +install-%sum-zsh: bin/$*sum.zsh + install -dm755 -- "$(DESTDIR)$(DATADIR)/zsh/site-functions" + install -m644 -- $< "$(DESTDIR)$(DATADIR)/zsh/site-functions/_$*sum" + + +.PHONY: install-doc +install-doc: install-man install-info install-pdf install-dvi install-ps + +.PHONY: install-man +install-man: install-keccak-man install-sha3-man install-rawshake-man install-shake-man + +.PHONY: install-keccak-man +install-keccak-man: $(foreach C,$(KECCAK_CMDS),install-$(C)-man) + +.PHONY: install-sha3-man +install-sha3-man: $(foreach C,$(SHA3_CMDS),install-$(C)-man) + +.PHONY: install-rawshake-man +install-rawshake-man: $(foreach C,$(RAWSHAKE_CMDS),install-$(C)-man) + +.PHONY: install-shake-man +install-shake-man: $(foreach C,$(SHAKE_CMDS),install-$(C)-man) + +.PHONY: install-%sum-man +install-%sum-man: bin/%sum.1 + install -dm755 -- "$(DESTDIR)$(MANDIR)" + install -m644 -- $< "$(DESTDIR)$(MANDIR)/$*sum.1" + +.PHONY: install-info +install-info: bin/sha3sum.info + install -dm755 -- "$(DESTDIR)$(INFODIR)" + install -m644 -- $< "$(DESTDIR)$(INFODIR)/$(PKGNAME).info" + +.PHONY: install-pdf +install-pdf: bin/sha3sum.pdf + install -dm755 -- "$(DESTDIR)$(DOCDIR)" + install -m644 -- $< "$(DESTDIR)$(DOCDIR)/$(PKGNAME).pdf" + +.PHONY: install-dvi +install-dvi: bin/sha3sum.dvi + install -dm755 -- "$(DESTDIR)$(DOCDIR)" + install -m644 -- $< "$(DESTDIR)$(DOCDIR)/$(PKGNAME).dvi" + +.PHONY: install-ps +install-ps: bin/sha3sum.ps + install -dm755 -- "$(DESTDIR)$(DOCDIR)" + install -m644 -- $< "$(DESTDIR)$(DOCDIR)/$(PKGNAME).ps" + + + +.PHONY: uninstall +uninstall: + -rm -- $(foreach C,$(CMDS),"$(DESTDIR)$(BINDIR)/$(C)") + -rm -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)/COPYING" + -rm -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)/LICENSE" + -rmdir -- "$(DESTDIR)$(LICENSEDIR)/$(PKGNAME)" + -rm -- $(foreach C,$(CMDS),"$(DESTDIR)$(DATADIR)/bash-completion/completions/$(C)") + -rm -- $(foreach C,$(CMDS),"$(DESTDIR)$(DATADIR)/fish/completions/$(C).fish") + -rm -- $(foreach C,$(CMDS),"$(DESTDIR)$(DATADIR)/zsh/site-functions/_$(C)") + -rm -- $(foreach C,$(CMDS),"$(DESTDIR)$(MANDIR)/$(C).1") + -rm -- "$(DESTDIR)$(INFODIR)/$(PKGNAME).info" + -rm -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME).pdf" + -rm -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME).dvi" + -rm -- "$(DESTDIR)$(DOCDIR)/$(PKGNAME).ps" + + + .PHONY: clean clean: -rm -r bin obj -- cgit v1.2.3-70-g09d2