cmds != recsel command.rec -t command -G bin -U -CP bin lists = $(patsubst %,lists/%.md, $(cmds)) default += $(lists) get_title = printf 'title: "%s"\n' '${1}' get_tags = recsel -t $(basename $<) $< -G bin \ -e 'bin = "$(1)"' -U -CP tag | \ sed 's/.*/- &/' list_commands = recsel -t $(basename $<) $< -e 'bin = "$(1)"' | \ recfmt -f lists.fmt lists/%.md: command.rec | lists/ @printf '%s\n' '---' > $@ @$(call get_title,$(basename $(notdir $@))) >> $@ @printf '%s\n' 'tags: ' >> $@ @$(call get_tags,$(basename $(notdir $@))) >> $@ @printf '%s\n' '---' >> $@ @$(call list_commands,$(basename $(notdir $@))) >> $@ .PHONY: cmd cmd: $(lists) ## Big lists of commands