title: How does the makefile write user-defined variables to the yaml file to support vagrantfile fetch parameters
body: <p>I have a project which use makefile to control vagrant, I want to put the vagrant parameter into the makefile, such as <code>cpu</code>, <code>memory</code>, <code>ip</code>, <code>hostname</code>, <code>forwarded_port</code> and the like. I find a <a href="https://stackoverflow.com/questions/16708917/how-do-i-include-variables-in-my-vagrantfile">way</a> that vagrantfile read yaml file to parameterize vagrantfile. So makefile needs a <code>target</code> to read all the user option variables and write them to config.yaml as <code>key-value</code> pairs.</p>
  
  <p>The sample is as follows</p>
  
  <pre><code># === BEGIN USER OPTIONS ===
  BOX_OS ?= fedora
  # Box setup
  #BOX_IMAGE
  # Disk setup
  DISK_COUNT ?= 1
  DISK_SIZE_GB ?= 25
  # VM Resources
  MASTER_CPUS ?= 2
  MASTER_MEMORY_SIZE_GB ?= 2
  NODE_CPUS ?= 2
  NODE_MEMORY_SIZE_GB ?= 2
  
  NODE_COUNT ?= 2
  # Network
  MASTER_IP ?= 192.168.26.10
  NODE_IP_NW ?= 192.168.26.
  POD_NW_CIDR ?= 10.244.0.0/16
  
  ...
  ...
  # === END USER OPTIONS ===
  </code></pre>
  
  <p>The <code>echo</code> command does achieve it</p>
  
  <pre><code># Makefile
  envInit:
      @echo "POD_NW_CIDR : \"$(POD_NW_CIDR)\"" &gt; ${FILECWD}/configs.yaml
  </code></pre>
  
  <p>But <code>too many variables</code> can be too complex.</p>
  
  <p>Is there a way to bulk read variables and their values and write them to a yml file</p>
  
  <p>I would very appreciate it if you guys can tell me how to achieve it that bulk read variables and their values and write them to a yml file.</p>