Reorganize makefiles and roll out consistent debug structure to them

What does this MR do and why?

Continuing on creating consistent debug output, this MR:

  • Reorganizes Makefiles so that there is a "common" file where we can put variables used in other places.
  • Introduces the support directory, very much like gitlab-development-kit (https://gitlab.com/gitlab-org/gitlab-development-kit/-/tree/main/support) where non-core things can be placed to get them out of the root directory. I think we'd move scripts in there too.
  • Make printf debug output look indistinguishable from gum debug output for places where we can't be sure we have gum.
  • Make sure that all Make targets have consistent debug output.

How to set up and validate locally

  1. Configure a local GitLab Docs environment.
  2. Check out this branch.
  3. Run make setup and see that printf Make targets look gum-like.
  4. Run make test and see where some lines are completely colorized (like a "heading") and other lines only have the debug level colorized. This is similar to how make update-all-projects looks.

Merge request acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Merge request reports

Loading