53 lines
1.3 KiB
Makefile
53 lines
1.3 KiB
Makefile
.POSIX:
|
|
.SUFFIXES:
|
|
.SUFFIXES: .1 .5 .1.scd .5.scd
|
|
|
|
PREFIX?=/usr/local
|
|
BINDIR?=$(PREFIX)/bin
|
|
MANDIR?=$(PREFIX)/share/man
|
|
|
|
# Exists in GNUMake but not in NetBSD make and others.
|
|
RM?=rm -f
|
|
|
|
RMDIR_IF_EMPTY:=sh -c '\
|
|
if test -d $$0 && ! ls -1qA $$0 | grep -q . ; then \
|
|
rmdir $$0; \
|
|
fi'
|
|
|
|
all: docs ## Build and generate files
|
|
|
|
docs: docs/aptpkg.1 docs/aptpkg.5 ## Generate docs
|
|
|
|
.1.scd.1:
|
|
scdoc < $< > $@
|
|
|
|
.5.scd.5:
|
|
scdoc < $< > $@
|
|
|
|
.PHONY: clean
|
|
clean: ## Remove generated files
|
|
$(RM) docs/aptpkg.1 docs/aptpkg.5
|
|
|
|
.PHONY: help
|
|
help: ## Show this help
|
|
@egrep -h '\s##\s' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
|
|
|
|
.PHONY: install
|
|
install: ## Install aptpkg
|
|
mkdir -m755 -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(MANDIR)/man1 $(DESTDIR)$(MANDIR)/man5
|
|
install -m755 aptpkg $(DESTDIR)$(BINDIR)/aptpkg
|
|
install -m644 docs/aptpkg.1 $(DESTDIR)$(MANDIR)/man1/aptpkg.1
|
|
install -m644 docs/aptpkg.5 $(DESTDIR)$(MANDIR)/man5/aptpkg.5
|
|
|
|
.PHONY: test
|
|
test: ## Run shellcheck tests
|
|
shellcheck aptpkg
|
|
|
|
.PHONY: uninstall
|
|
uninstall: ## Uninstall aptpkg
|
|
$(RM) $(DESTDIR)$(BINDIR)/aptpkg
|
|
$(RM) $(DESTDIR)$(MANDIR)/man1/aptpkg.1
|
|
$(RM) $(DESTDIR)$(MANDIR)/man5/aptpkg.5
|
|
${RMDIR_IF_EMPTY} $(DESTDIR)$(BINDIR)
|
|
${RMDIR_IF_EMPTY} $(DESTDIR)$(MANDIR)
|