title: Bitbake - How to run do_install_prepend() for single machine conf
body: <p>I have a bb file with following functions. 
  <code>do_install_prepend()</code> is for default/base machine configuration.
  <code>do_install_prepend_m1()</code> is for m1 machine configuration.
  <code>do_install_prepend_m2()</code> is for m2 machine configuration.
  <code>do_install_prepend_m3()</code> is for m3 machine configuration.</p>
  
  <p>m1 is derived from default configuration. m2 and m3 are derived from m1.</p>
  
  <p>When I run bb file for m3 machine configuration, I see, it runs <code>do_install_prepend_m3()</code>, <code>do_install_prepend_m1()</code> and <code>do_install_prepend()</code>. All 3 functions are called.</p>
  
  <p>Is there a way to modify this bb, so that, only <code>do_install_prepend_m3()</code> is run? If <code>do_install_prepend_m3()</code> is not present, then it should run <code>do_install_prepend_m1()</code>.
  If that is not present, it should run <code>do_install_prepend()</code>. That is, I only want to run one function.</p>
  
  <pre><code>do_install_prepend () {
      echo "default install_prepend"
  }
  
  do_install_prepend_m1 () {
      echo "m1 install_prepend"
  }
  
  do_install_prepend_m2 () {
      echo "m2 install_prepend"
  }
  
  do_install_prepend_m3 () {
      echo "m3 install_prepend"
  }
  </code></pre>
  
  <p>Thanks for your help.</p>