By including `@filename@` in the enums/errors types header template, we
generate files containing the full path to source files, which reflects
the particular filesystem layout used for a given build. As such, this
alters build reproducibility as it causes a (admittedly small) diff
between builds executed in different environments.
Using `@basename@` instead ensures only the file name (without its full
path) is mentioned in the generated files, making the builds
reproducible again.
The template files in the `build-aux` directory used in enums sources
and headers generation use the `{$name}-template.[ch]` pattern.
However, the examples in the official guide[0] and usually GNOME and
Freedesktop packages use the `{$name}.[ch].template` pattern.
Due to this, the name of the template files and build commands have
been changed.
[0] https://developer.gnome.org/gobject/stable/glib-mkenums.html