summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorAyush Agarwal <ayush@fastmail.in>2021-11-14 17:20:49 +0530
committerAyush Agarwal <ayush@fastmail.in>2021-11-14 17:20:49 +0530
commit725f510ef3f34835440fbc4ae8bdbeece10314b5 (patch)
tree3f10bf9929bae430750371b5b71d5e0c57c973dd /Makefile
parent285823d84bf8444f2c17b00569c06950e2c6ec4b (diff)
refactor!: build man page, improve Makefile
BREAKING CHANGE: The location of the bash completion script has been changed from the legacy folder '/etc/bash_completion.d/' to '/usr/share/bash-completion/completions/'. Exisiting users will need to delete the bash completion script for tessen from the legacy folder.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile51
1 files changed, 31 insertions, 20 deletions
diff --git a/Makefile b/Makefile
index 85d2f84..100244a 100644
--- a/Makefile
+++ b/Makefile
@@ -2,28 +2,39 @@ PROG ?= tessen
PREFIX ?= /usr
DESTDIR ?=
BINDIR ?= $(PREFIX)/bin
-BASHCOMPDIR ?= /etc/bash_completion.d
+MANDIR ?= $(PREFIX)/share/man
+BASHCOMPDIR ?= $(PREFIX)/share/bash-completion/completions
FISHCOMPDIR ?= $(PREFIX)/share/fish/vendor_completions.d
+RM := rm
+ECHO := @echo
+SCDOC := scdoc
+INSTALL := install
+
+.PHONY: all man install clean uninstall
+
all:
- @echo "$(PROG) is a shell script and doesn't need to be compiled"
- @echo ""
- @echo "To install it, enter \"make install\""
- @echo ""
-
-install:
- @install -vd "$(DESTDIR)$(BINDIR)" "$(DESTDIR)$(BASHCOMPDIR)" "$(DESTDIR)$(FISHCOMPDIR)"
- @install -vm 0755 "$(PROG)" "$(DESTDIR)$(BINDIR)/$(PROG)"
- @install -vm 0644 "completion/$(PROG).bash-completion" "$(DESTDIR)$(BASHCOMPDIR)/$(PROG)"
- @install -vm 0644 "completion/$(PROG).fish-completion" "$(DESTDIR)$(FISHCOMPDIR)/$(PROG).fish"
- @echo
- @echo "$(PROG) has been installed succesfully"
- @echo
+ $(ECHO) "$(PROG) is a shell script and doesn't need to be compiled"
+ $(ECHO) "To install it, enter \"make install\""
-uninstall:
- @rm -f \
- "$(DESTDIR)$(BINDIR)/$(PROG)" \
- "$(DESTDIR)$(BASHCOMPDIR)/$(PROG)" \
- "$(DESTDIR)$(FISHCOMPDIR)/$(PROG).fish"
+man: man/tessen.1
+
+man/%: man/%.scd
+ $(SCDOC) < $^ > $@
-.PHONY: install uninstall
+install: man
+ $(INSTALL) -Dm 0755 $(PROG) -t $(DESTDIR)$(BINDIR)
+ $(INSTALL) -Dm 0644 man/*.1 -t $(DESTDIR)$(MANDIR)/man1
+ $(INSTALL) -Dm 0644 completion/$(PROG).bash-completion $(DESTDIR)$(BASHCOMPDIR)/$(PROG)
+ $(INSTALL) -Dm 0644 completion/$(PROG).fish-completion $(DESTDIR)$(FISHCOMPDIR)/$(PROG).fish
+ $(ECHO) ""
+ $(ECHO) "$(PROG) has been installed succesfully"
+
+clean:
+ $(RM) -f man/*.1
+
+uninstall:
+ $(RM) -f "$(DESTDIR)$(BINDIR)/$(PROG)"
+ $(RM) -f "$(DESTDIR)$(MANDIR)/man1/$(PROG).1"
+ $(RM) -f "$(DESTDIR)$(BASHCOMPDIR)/$(PROG)"
+ $(RM) -f "$(DESTDIR)$(FISHCOMPDIR)/$(PROG).fish"