Skip to content

Mike's Branches

Mike Bland edited this page Aug 9, 2014 · 4 revisions

This is what I'm actively working on in some of my development branches.

build - Changes to the build system and Makefiles that I'm ready to submit to the master repository.

makefiles - Changes to the build system and Makefiles that I'm experimenting with. The end result is pretty radical at the moment, and I'm constantly force-pushing altered history. This is like my "working branch" whereas the build branch is my "release branch" for these changes.

I describe my motivation, methodology, experiences, and results in the following:

The script I'm using to automate the changes is in my Google Code repository as update_makefiles.py.

Here's a few long-term ideas to implement after the initial refactoring:

  • Redirect the output from every test/test_* target to a literal test/test_* file. This accomplishes two things:
    • The main build log can report high-level successes and failures without getting cluttered with detailed output from every test. This way a developer can pay attention only to the individual logs that pertain to the task at hand.
    • Making the test/test_* targets correspond to actual files will ensure make only executes tests when their dependencies change. This makes it easier to verify whether or not a change works as intended, or has unintended side-effects.
    • Even if we don't redirect the logs to such files, we can still touch the files to achieve the rebuild-only-if-something-changed effect.
  • Ensure all dependencies for every test are properly declared. This may take some effort; having the test/test_* targets correspond to literal files can help.
Clone this wiki locally