This patch provides a Makefile that can build all three projects and merge them. It's based on a script that I have been using myself that I finally got around to cleaning up a bit.
This adds a Makefile in src/buildscripts/ as well as some shell scripts that it calls out to.
Running make combined-tar will create a combined tarball. It can also execute other commands across all three projects, e.g., make compile-core and combine their results into a single build directory. See the included README and the Makefile's comments for the full story.
In order to support mapred, hdfs, and core running in the same directory, this also modifies bin/hadoop-config.sh to assume that $HADOOP_CORE_HOME can satisify $HADOOP_MAPRED_HOME and $HADOOP_HDFS_HOME in the absense of hdfs/ and mapred/ subdirs.
Finally, this current version contains a hack in combine-bindirs.sh to reconcile the competing versions of various libraries used by mapred, hdfs, and common. These should be reconciled via their ivy.xml files – separate ticket? They are left in for now for demonstration that this Makefile system works.
I've tested this by running the various commands and verifying they work. I also used 'make combined-tar' to build a tarball, unzipped it elsewhere, and used it to start a pseudodistributed instance and run pi. I also ran this from my hadoop-common/build/combined-hadoop directory created with make combined-binary.
If you commit this or something like it, you'll need to svn add src/buildscripts/