diff --git a/Provision/Context/site.php b/Provision/Context/site.php
index 664908c..6e6cdbd 100644
--- a/Provision/Context/site.php
+++ b/Provision/Context/site.php
@@ -36,6 +36,7 @@ class Provision_Context_site extends Provision_Context {
     $this->setProperty('aliases', array(), TRUE);
     $this->setProperty('redirection', FALSE);
     $this->setProperty('cron_key', '');
+    $this->setProperty('makefile', '');
 
     // this can potentially be handled by a Drupal sub class
     $this->setProperty('profile', 'default');
diff --git a/platform/install.provision.inc b/platform/install.provision.inc
index ca3d2c1..c6a170b 100644
--- a/platform/install.provision.inc
+++ b/platform/install.provision.inc
@@ -50,6 +50,17 @@ function drush_provision_drupal_provision_install() {
  // Requires at least the database settings to complete.
   provision_prepare_environment();
   _provision_drupal_create_settings_file();
+
+  // Build site contents from makefile.
+  if (d()->makefile) {
+    $arguments = array();
+    $options = array();
+    $arguments[] = d()->makefile;
+    $options[] = '--no-core';
+    $options[] = '--contrib-destination=.' . str_replace(d()->root, '', d()->site_path);
+    drush_invoke_process('@none', "make", $arguments, $options);
+  }
+
   provision_drupal_push_site();
 
   provision_save_site_data();
