doc/makefile-variables.txt
changeset 4196 d697072a92f5
parent 3817 30b42c38bbc4
child 4428 21fcfd647301
--- a/doc/makefile-variables.txt	Mon Apr 13 09:25:17 2015 -0500
+++ b/doc/makefile-variables.txt	Mon Apr 27 10:19:50 2015 -0500
@@ -35,6 +35,31 @@
 * REQUIRED_PACKAGES is a list of packages required to build or run the
   component and its tests.
 
+* GIT_REPO can be used in place of COMPONENT_ARCHIVE_URL to pull the component
+  source from the GIT repository referenced in the value.
+* GIT_REV is the tag or changeset that you wish to pull from GIT.
+
+* HG_REPO can be used in place of COMPONENT_ARCHIVE_URL to pull the component
+  source from the Mercurial repository referenced in the value.
+* HG_REV is the tag or changeset that you wish to pull from Mercurial.
+
+* SVN_REPO can be used in place of COMPONENT_ARCHIVE_URL to pull the component
+  source from the Subversion repository referenced in the value.
+* SVN_REV is the tag or changeset that you wish to pull from Subversion.
+
+When using a source code management system as the canonical source for a
+component, the build automatically generates a source archive for the
+component by pulling the source from the SCM and creating a tarball from
+the pulled source.  This allows us to automatically store a copy of the
+canonical source that we build from in our source archive cache and not
+continually hammer on the component's SCM repo.  The source archive name
+is automatically generated from the COMPONENT_NAME, COMPONENT_VERSION,
+and {GIT|HG|SVN}_REV values.  Also, the source is archived and unpacked
+in a directory using these values.   You should also define a hash for
+this tarball in your Makefile similar to what you do with downloaded
+source archives.
+
+
 These two are both initialized in make-rules/shared-macros.mk rather than any
 component-level Makefile, but are frequently referenced from the latter.
 * COMPONENT_DIR is the top-level directory of the given component in question.