- Moved the build variants descriptions into build_system
- Added Makefile stub into sensors.jd as a starting point
- Small cleanup to build_new_device to reference the PRODUCT_* parameters
- Fixed URL in the README for app engine testing
diff --git a/pdk/docs/guide/build_system.jd b/pdk/docs/guide/build_system.jd
index 64216d8..4b29202 100755
--- a/pdk/docs/guide/build_system.jd
+++ b/pdk/docs/guide/build_system.jd
@@ -12,6 +12,7 @@
 <li><a href="#androidBuildSystemLayers">Layers</a></li>
 <li><a href="#androidSourceSetupBuildingCodeBase">Building the Android Platform</a></li>
 <li><a href="#androidSourceSetupBuildingKernel">Building the Android Kernel</a></li>
+<li><a href="#androidBuildVariants">Build Variants</a></li>
 </ul>
 </div>
 </div>
@@ -108,6 +109,8 @@
 % make -j4 PRODUCT-generic-eng
 </pre>
 
+<p>These <a href="#androidBuildVariants">Build Variants</a> differ in terms of debug options and packages installed. 
+ 
 
 <a name="androidBuildingCleaning"></a><h4>Cleaning Up</h4>
 
@@ -194,4 +197,73 @@
 <p>To build the kernel, execute:</p>
 <pre class="prettyprint">
 % make -j4
-</pre>
\ No newline at end of file
+</pre>
+
+<a name="androidBuildVariants"></a><h3>Build Variants</h3>
+
+<p> 
+When building for a particular product, it's often useful to have minor
+variations on what is ultimately the final release build.  These are the
+currently-defined build variants:
+</p> 
+ 
+<table border=1> 
+<tr> 
+    <td> 
+        <code>eng<code> 
+    </td> 
+    <td> 
+        This is the default flavor. A plain "<code>make</code>" is the
+        same as "<code>make eng</code>".
+        <ul> 
+        <li>Installs modules tagged with: <code>eng</code>, <code>debug</code>,
+            <code>user</code>, and/or <code>development</code>.
+        <li>Installs non-APK modules that have no tags specified.
+        <li>Installs APKs according to the product definition files, in
+            addition to tagged APKs.
+        <li><code>ro.secure=0</code> 
+        <li><code>ro.debuggable=1</code> 
+        <li><code>ro.kernel.android.checkjni=1</code> 
+        <li><code>adb</code> is enabled by default.
+    </td> 
+</tr> 
+<tr> 
+    <td> 
+        <code>user<code> 
+    </td> 
+    <td> 
+        "<code>make user</code>"
+        <p> 
+        This is the flavor intended to be the final release bits.
+        <ul> 
+        <li>Installs modules tagged with <code>user</code>.</li>
+        <li>Installs non-APK modules that have no tags specified.</li>
+        <li>Installs APKs according to the product definition files; tags
+            are ignored for APK modules.</li>
+        <li><code>ro.secure=1</code> </li>
+        <li><code>ro.debuggable=0</code> </li>
+        <li><code>adb</code> is disabled by default.</li>
+    </td> 
+</tr> 
+<tr> 
+    <td> 
+        <code>userdebug<code> 
+    </td> 
+    <td> 
+        "<code>make userdebug</code>"
+        <p> 
+        The same as <code>user</code>, except:
+        <ul> 
+        <li>Also installs modules tagged with <code>debug</code>.
+        <li><code>ro.debuggable=1</code> 
+        <li><code>adb</code> is enabled by default.
+    </td> 
+</tr> 
+</table> 
+ 
+<p> 
+If you build one flavor and then want to build another, you should run
+"<code>make installclean</code>" between the two makes to guarantee that
+you don't pick up files installed by the previous flavor.  "<code>make
+clean</code>" will also suffice, but it takes a lot longer.
+</p> 
\ No newline at end of file