1. Introduces enumerations (and some booleans) intended to replace all
the magic numbers used throughout the code to represent multiple
choices.
2. Replace the gray_params.sh script a new one that automatically
generates code for all the GRAY parameters by parsing
gray_params.f90.
3. Also generate extra code to accept the enum identifiers as valid
values in the configuration files and command line arguments.
4. Set sensible default values for parameters that are rarely changes.
ar does not support multiple builder writing to the same file.
This disable parallel building for .a targets.
See also "Archive Pitfalls" in the GNU Make manual.
When building the static library the Nixpkgs stdenv `ar` defaults to not
writing timestamps for the members file. This imply make will always try
to add all members to the archive, which defeats the purpose of the
file-level granularity.
- Documentation is not built anymore with the default `all` rule to
improve portability. It must be built explicitly with `make docs`.
- Font types are not specified to allow building on systems with a
restricted set of fonts.
- Syntax fixes in the documentation Markdown.
The \+ syntax is not POSIX and supported only by GNU sed.
This changes both the grep and sed commands to use extended regex.
Note: sed -E option is not POSIX either, but widely supported.
- unify the three makefiles into a single generic one
- automatically generate link targets (via the `depend` script)
and object dependencies (via a make rule)
- move all build artifacts under the build/ directory
- replace svn with git for the version information
- add a `static` variable to toggle between static/shared builds
- add a target to build the dependency graph of GRAY modules