Add install and uninstall build targets

This commit is contained in:
Vladimir Zhelezov 2020-12-18 06:36:29 +01:00
parent 1b6f968a6a
commit b97c2043b8
2 changed files with 36 additions and 11 deletions

View File

@ -4,6 +4,22 @@
# get parallel jobs. # get parallel jobs.
MAKEFLAGS += --jobs=$(shell nproc 2>/dev/null || printf 8) MAKEFLAGS += --jobs=$(shell nproc 2>/dev/null || printf 8)
EUID := $(shell id -u)
ifeq ($(EUID),0)
PREFIX := /usr/local
endif
ifdef PREFIX
BASHCOMPDIR := $(PREFIX)/share/bash-completion/completions
else
XDG_DATA_HOME ?= $(HOME)/.local/share
BASH_COMPLETION_USER_DIR ?= $(XDG_DATA_HOME)/bash-completion
BASHCOMPDIR := $(BASH_COMPLETION_USER_DIR)/completions
endif
DESTDIR ?=
# Parse hledger's help and output all commands and command aliases in # Parse hledger's help and output all commands and command aliases in
# parenthesis. Do not output single letter command aliases, it's not useful. # parenthesis. Do not output single letter command aliases, it's not useful.
COMMANDS_TMP := commands.tmp COMMANDS_TMP := commands.tmp
@ -28,10 +44,29 @@ sort -u
endef endef
EXTENSIONS := ui web api EXTENSIONS := ui web api
INSTALLED_EXTENSIONS := $(foreach EXT,$(EXTENSIONS),$(shell type hledger-$(EXT) >/dev/null 2>&1 && echo $(EXT)))
COMMANDS := $(sort $(shell $(PARSE_COMMANDS)) $(EXTENSIONS)) COMMANDS := $(sort $(shell $(PARSE_COMMANDS)) $(INSTALLED_EXTENSIONS))
CMDOPTFILES := $(foreach CMD,$(COMMANDS),options-$(CMD).txt) CMDOPTFILES := $(foreach CMD,$(COMMANDS),options-$(CMD).txt)
all: hledger-completion.bash
.PHONY: install
install:
@install -v -d "$(DESTDIR)$(BASHCOMPDIR)"
@install -v -m 0644 hledger-completion.bash "$(DESTDIR)$(BASHCOMPDIR)/hledger"
@for ext in $(INSTALLED_EXTENSIONS); do \
printf "symlink " ; \
ln -sfv hledger "$(DESTDIR)$(BASHCOMPDIR)/hledger-$$ext" ; \
done
.PHONY: uninstall
uninstall:
@rm -vf "$(DESTDIR)$(BASHCOMPDIR)/hledger"
@for ext in $(INSTALLED_EXTENSIONS); do \
rm -vf "$(DESTDIR)$(BASHCOMPDIR)/hledger-$$ext" ; \
done
define M4DEPS := define M4DEPS :=
hledger-completion.bash.m4 \ hledger-completion.bash.m4 \
hledger-completion.bash.stub \ hledger-completion.bash.stub \
@ -42,8 +77,6 @@ generic-options.txt \
$(CMDOPTFILES) $(CMDOPTFILES)
endef endef
all: hledger-completion.bash
hledger-completion.bash: $(M4DEPS) hledger-completion.bash: $(M4DEPS)
m4 hledger-completion.bash.m4 > $@ m4 hledger-completion.bash.m4 > $@

View File

@ -417,7 +417,6 @@ read -r -d "" _hledger_complist_commands <<TEXT
accounts accounts
activity activity
add add
api
areg areg
aregister aregister
bal bal
@ -456,7 +455,6 @@ tags
test test
txns txns
ui ui
web
TEXT TEXT
read -r -d "" _hledger_complist_query_filters <<TEXT read -r -d "" _hledger_complist_query_filters <<TEXT
@ -603,9 +601,6 @@ read -r -d "" _hledger_complist_options_add <<TEXT
--version --version
TEXT TEXT
read -r -d "" _hledger_complist_options_api <<TEXT
TEXT
read -r -d "" _hledger_complist_options_areg <<TEXT read -r -d "" _hledger_complist_options_areg <<TEXT
--alias= --alias=
--anon --anon
@ -2050,7 +2045,4 @@ read -r -d "" _hledger_complist_options_ui <<TEXT
--yearly --yearly
TEXT TEXT
read -r -d "" _hledger_complist_options_web <<TEXT
TEXT
return 0 return 0