Compare commits

...

2 Commits

Author SHA1 Message Date
f398f52e55
generate graphviz png 2025-03-26 16:29:53 +01:00
cd9bdb80c1
remove half-baked man page generator 2025-03-26 16:29:53 +01:00

View File

@ -1,5 +1,8 @@
.PHONY: help
ignore_file = .git/info/exclude
.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 | \
@ -20,63 +23,45 @@ queries = queries authqueries
query_formats = $(patsubst %, .dbs/%.txt, $(queries))
.dbs/:
dotquery_formats = $(patsubst %, .dbs/%.dot, $(queries))
.dbs/: | $(ignore_file)
mkdir $@
ignored += .dbs/
$(query_formats): .dbs/%.txt: | .dbs/
echo "[ {{name}} ] -- $(basename $(@F)) --> [ {{$(basename $(@F))}} ]" > $@
$(dotquery_formats): .dbs/%.dot: | .dbs/
echo '{{name}} -> {{$(basename $(@F))}} [ label="$(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
$(RM) $@
$(foreach relation, $(queries), \
recsel $< -t lxc -e "$(relation) != ''" -p name,$(relation) | recfmt -f .dbs/$(relation).txt >> $@ ;\
)
########## Man Pages ##########
.dbs/network.dot: network.rec $(dotquery_formats)
echo 'digraph network {' > $@
$(foreach relation, $(queries), \
recsel $< -t lxc -e "$(relation) != ''" -p name,$(relation) | recfmt -f .dbs/$(relation).dot >> $@ ;\
)
echo '}' >> $@
mandir = $(HOME)/.local/man/man6
network.png: .dbs/network.dot $(ignore_file) $(ignore_file)
dot < $< -T png > $@
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>')
ignored += network.png
##########
$(ignore_file): $(MAKEFILE_LIST)
echo $(ignored) | tr ' ' '\n' > $@
clean:
$(RM) $(kralmans) $(krovmans)
$(RM) -r .dbs
$(RM) -r $(ignored)