Feature bounty: Improve our makefile

Hello all,

Our makefiles for the Core firmware need a bit of work. Very specifically, if we make all, it doesn’t pick up changes; we have to run make clean all to pick up any modifications to the code, which takes much longer and is generally annoying.

This is something we would love to improve but our team is swamped with other tasks, so we wanted to share with the community and see if anyone is interested in taking this on.

We’re issuing the following feature bounty:

  • If you (1) make an improvement to our makefiles that will allow a make dependents all to pick up changes in any of the source files in either the core-firmware repository or the dependent libraries (core-communication-lib and core-common-lib) (2) send your improvements in as a pull request on Github, and (3) your pull request is accepted by the team, we will send you a $100 credit for Spark stuff (Cores, accessories, or kits), plus a Spark T-shirt to share your love!
  • If multiple pull requests are sent, the first that we accept will get the bounty. If we accept other pull requests for incremental improvements, they will receive a free Spark Core, up to a limit of 5 pull requests. Only one bounty per person.
  • If you make any other unrelated improvements to our makefiles that we accept as a pull request (same 3-step process as above), we will also send a free Spark Core, up to a limit of 5. Only one bounty per person.

NOTE: You will need to sign our Contributor License Agreement for us to accept your pull requests; we are developing the CLA now, which will be based on the Google CLA.

Repositories below! Thanks for your help, and if you have any questions, please let me know.

https://github.com/spark/core-firmware/blob/master/build/makefile


3 Likes

I’ve issued 3 pull requests which resolve the automatic dependency tracking issues in the existing makefile.

Simply invoke make in the build directory to build either lib, or the core firmware + dependencies. Now much less aggravating when you make a header change and only the required object files are rebuilt.

4 Likes

@mattande awesome! The tech team is at RobotsConf this weekend so we might not get to this right away, but as soon as we have the bandwidth we’ll review. Thanks so much!

Hey everyone - just wanted to announce that @mattande won the feature bounty! Our makefiles have been updated in the master branch of our firmware repositories of github, so now you can run make instead of make clean dependents all. @mattande’s got some Cores and shields heading his way shortly.

We’ll probably have other feature bounties and bug bountines published in the next few weeks, so stay tuned!

4 Likes