tools/doc: makefile: (auto-)document makefile targets with 'make help'

This commit is contained in:
nodiscc 2022-06-05 17:54:51 +02:00
parent 5cb8afa849
commit 613777928b
No known key found for this signature in database
GPG key ID: 067FC4266A4B6909
2 changed files with 16 additions and 8 deletions

View file

@ -1,6 +1,6 @@
SHELL := /bin/bash
.PHONY: install # install in a virtualenv
.PHONY: install # install build tools in a virtualenv
install:
python3 -m venv .venv
source .venv/bin/activate && \
@ -27,3 +27,7 @@ build: install
source .venv/bin/activate && \
hecat build --source-directory ./ --output-directory awesome-selfhosted --output-file README.md
cd awesome-selfhosted && git diff --color=always
.PHONY: help # generate list of targets with descriptions
help:
@grep '^.PHONY: .* #' Makefile | sed 's/\.PHONY: \(.*\) # \(.*\)/\1 \2/' | expand -t20

View file

@ -63,13 +63,7 @@ If you are not comfortable sending a pull request, please copy/edit the template
In [single page mode](https://github.com/awesome-selfhosted/awesome-selfhosted) the software will only appear under the first category in its `tags` list, so choose wisely.
## Build the markdown list
```bash
make build
```
## Maintenance tasks
## Maintenance
**Rename a tag/category:** the tag must be renamed in the appropriate `tags/mytag.yml` file. All references to it must be updated in `tags/*.yml` and `software/*.yml`.
@ -102,6 +96,16 @@ name: Java
description: "[Java](https://en.wikipedia.org/wiki/Java_(programming_language)) is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible."
```
**Automated tasks:**
```bash
$ make help
install install build tools in a virtualenv
import import data from original list at https://github.com/awesome-selfhosted/awesome-selfhosted
process apply automatic processing (gather github metadata)
build build markdown singlepage document from yaml data
help generate list of targets with descriptions
```
## License