Simplify Makefile help target

An in-line Python script, while flexible, is arguably
more complex and less stable than the long-lived `grep`,
`awk`, and `printf`.  Make use of these simple tools
to display a column-aligned table of target and description
help output.

Also, the first target that appears in a Makefile is considered
the default (when no target is specified on the command-line).
However, despite it's name, the `default` target was not listed
first.  Fix this, and redefine "default" target to "all" as
intended, instead of "help".

Lastly, add a small workaround for a vim syntax-hilighting bug.

Signed-off-by: Chris Evich <cevich@redhat.com>
This commit is contained in:
Chris Evich
2021-04-08 08:55:56 -04:00
parent 5a703bbf7a
commit 0e83851f08
2 changed files with 31 additions and 30 deletions

View File

@@ -14,12 +14,20 @@ valid_args() {
cut -d '*' -f 1
}
# `git describe` does not reliably produce a useful version number.
# `git describe` will never produce a useful version number under all
# branches. This is because the podman release process (see `RELEASE_PROCESS.md`)
# tags release versions only on release-branches (i.e. never on master).
# Scraping the version number directly from the source, is the only way
# to reliably obtain the number from all the various contexts supported by
# the `Makefile`.
scrape_version() {
local versionfile='version/version.go'
local version_line=$(grep -m 1 'var Version =' $versionfile)
local version_string=$(cut -d '"' -f 2 <<<"$version_line")
echo "$version_string" | tr -d '[:space:]'
local v
# extract the value of 'var Version'
v=$(sed -ne 's/^var\s\+Version\s\+=\s.*("\(.*\)").*/\1/p' <version/version.go)
# If it's empty, something has changed in version.go, that would be bad!
test -n "$v"
# Value consumed literally, must not have any embedded newlines
echo -n "$v"
}
unset OUTPUT