83 lines
2.1 KiB
Makefile
83 lines
2.1 KiB
Makefile
.PHONY: help
|
|
|
|
help: ## Print the help message
|
|
@awk 'BEGIN {FS = ":.*?## "} /^[0-9a-zA-Z._-]+:.*?## / {printf "\033[36m%s\033[0m : %s\n", $$1, $$2}' $(MAKEFILE_LIST) | \
|
|
sort | \
|
|
column -s ':' -t
|
|
|
|
.PHONY: check
|
|
check: ## Check you have all dependencies
|
|
@command -v graph-easy >/dev/null || { echo "Install perl-graph-easy" && exit 1 ;}
|
|
@command -v recsel >/dev/null || { echo "Install recutils" && exit 1 ;}
|
|
@command -v lowdown >/dev/null || { echo "Install lowdown" && exit 1 ;}
|
|
@echo "All dependencies installed"
|
|
|
|
########## Network Map ##########
|
|
|
|
graph_cmd = graph-easy --boxart
|
|
|
|
queries = queries authqueries
|
|
|
|
query_formats = $(patsubst %, .dbs/%.txt, $(queries))
|
|
|
|
.dbs/:
|
|
mkdir $@
|
|
|
|
$(query_formats): .dbs/%.txt: | .dbs/
|
|
echo "[ {{name}} ] -- $(basename $(@F)) --> [ {{$(basename $(@F))}} ]" > $@
|
|
|
|
.PHONY: map
|
|
map: .dbs/network.txt ## Show a network map
|
|
$(graph_cmd) < $<
|
|
|
|
.dbs/network.txt: network.rec $(query_formats)
|
|
$(RM) .dbs/network.txt
|
|
$(foreach relation, $(queries), \
|
|
recsel $< -t lxc -e "$(relation) != ''" -p name,$(relation) | recfmt -f .dbs/$(relation).txt >> $@ ;\
|
|
)
|
|
|
|
########## Man Pages ##########
|
|
|
|
mandir = $(HOME)/.local/man/man6
|
|
|
|
kralizec_docs != grep -rl "^section:" kralizec
|
|
kralmans = $(kralizec_docs:kralizec/%/README.md=$(mandir)/%.6)
|
|
|
|
$(mandir)/%.6: kralizec/%/README.md
|
|
lowdown -stman $< > $@
|
|
|
|
krov_docs != grep -rl "^section:" krov
|
|
krovmans = $(krov_docs:krov/%/README.md=$(mandir)/%.6)
|
|
|
|
$(mandir)/%.6: krov/%/README.md
|
|
lowdown -stman $< > $@
|
|
|
|
splint_docs != grep -rl "^section:" splintrs
|
|
splintmans = $(splint_docs:splintrs/%/README.md=$(mandir)/%.6)
|
|
|
|
$(mandir)/%.6: splintrs/%/README.md
|
|
lowdown -stman $< > $@
|
|
|
|
setup_docs != grep -rl "^section:" setup
|
|
setupmans = $(setup_docs:setup/%.md=$(mandir)/%.6)
|
|
|
|
$(mandir)/%.6: setup/%.md
|
|
lowdown -stman $< > $@
|
|
|
|
$(mandir):
|
|
mkdir -p $@
|
|
|
|
$(kralmans) $(krovmans) $(splintmans) $(setupmans) :| $(mandir)
|
|
|
|
.PHONY: pages
|
|
pages: $(kralmans) $(krovmans) $(setupmans) $(splintmans)
|
|
$(info $(kralmans))
|
|
@test ! $(command -v mandb) || mandb --user-db
|
|
$(info Open DMZ's man pages with 'man 6 <tab>')
|
|
|
|
##########
|
|
|
|
clean:
|
|
$(RM) $(kralmans) $(krovmans)
|
|
$(RM) -r .dbs
|