1 Commits

Author SHA1 Message Date
fa8154fc21 build(make): follow GNU install dir conventions 2025-01-25 13:33:26 +01:00

View File

@@ -1,20 +1,45 @@
PREFIX := /usr/local
SHELL = /bin/sh
./agenda.1.gz: ./agenda.1
gzip -fk ./agenda.1
# See the following link regarding GNU Makefile conventions.
# https://www.gnu.org/software/make/manual/html_node/Makefile-Conventions.html
# This seems stupid. Isn't install a coreutil anyways?
# INSTALL := install
# INSTALL_PROGRAM := $(INSTALL)
# INSTALL_DATA := ${INSTALL} -m 644
# Variables for installation directories.
# https://www.gnu.org/software/make/manual/html_node/Directory-Variables.html
DESTDIR :=
prefix := /usr/local
exec_prefix := $(prefix)
bindir := $(exec_prefix)/bin
datarootdir := $(prefix)/share
datadir := $(datarootdir)
# libdir := $(prefix)/lib
mandir := $(datarootdir)/man
man1dir := $(mandir)/man1
.PHONY: all
all: ./agenda.1.gz
.PHONY: install
install: ./agenda.1.gz
install -m 755 -D ./agenda $(PREFIX)/bin/agenda
install -m 644 -D ./agenda.1.gz $(PREFIX)/share/man/man1/agenda.1.gz
install -m 644 -D ./completion.bash $(PREFIX)/share/bash-completion/completions/agenda
install -m 755 -D ./agenda $(DESTDIR)$(bindir)/agenda
install -m 644 -D ./agenda.1.gz $(DESTDIR)$(man1dir)/agenda.1.gz
install -m 644 -D ./completion.bash $(DESTDIR)$(datarootdir)/bash-completion/completions/agenda
.PHONY: uninstall
uninstall:
rm -f $(PREFIX)/bin/agenda
rm -f $(PREFIX)/share/man/man1/agenda.1.gz
rm -f $(PREFIX)/share/bash-completion/completions/agenda
rm -f $(DESTDIR)$(bindir)/agenda
rm -f $(DESTDIR)$(man1dir)/agenda.1.gz
rm -f $(DESTDIR)$(datarootdir)/bash-completion/completions/agenda
.PHONY: clean
clean:
rm -f ./agenda.1.gz
./agenda.1.gz: ./agenda.1
gzip -fk ./agenda.1