MokoMakefile is a fully automated way of setting up an OpenMoko development environment. It is an invaluable tool for getting new developers up and running with a build environment which is configured the same as all the other existing developers. It brings the same repeatability to build environment creation and maintenance as that which OpenEmbedded brings to the main task of actually building embedded software distributions.
Note that MokoMakefile does *not* replace bitbake, or svn, or monotone, or openembedded, or qmake, or anything else. It is a wrapper around all that to make it easy to set up and maintain a development environment that fully complies with the setup instructions published by OpenMoko.
Here are the steps to use it:
1/ Make sure your build host is set up according to:
http://www.openembedded.org/wiki/OEandYourDistro
2/ Create your $OMDIR directory
mkdir /home/moko ; cd /home/moko
3/ Grab MokoMakefile
wget http://www.rwhitby.net/files/openmoko/Makefile
4/ Start building
make openmoko-devel-image
This will set up the recommended directory structure as described in http://wiki.openmoko.org/wiki/Building_OpenMoko_from_scratch, will download all the required software (from the right places with the right versions), and will immediately start building an image.
Once you have done this, you can choose to continue using the MokoMakefile to initiate your subsequent builds, or you can go into the build directory and run bitbake commands manually. The choice is yours.
The nslu2-linux project has successfully used a similar MasterMakefile for more than two years, and we have found it to be an invaluable tool for getting new developers up and running with a build environment which is configured the same as all the other existing developers. It brings the same repeatability to build environment creation and maintenance as that which OpenEmbedded brings to the main task of actually building embedded software distributions.
Since this MokoMakefile is what runs my personal build environment, it will always be kept up to date with the latest build instructions. I will also be extending it to support building other OpenMoko stuff.
I would be happy for the OpenMoko core team to put this in a repository somewhere where I (and they) can update and maintain it. Alternatively, I could start a MokoMakefile project at projects.openmoko.org if they don’t want to pick it up and use it internally.
MokoMakefile is recommended by 1 out of 1 new developer on #openmoko, who said “For some reason last night I couldn’t get my manual install of everything to work (bb complained about my bbpath I think) … but with your makefile, it works great!”