2002 2003 2004 2005 2006 <2007> 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 | Index | 2002 2003 2004 2005 2006 <2007> 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: GNU make multiple jobs option |
From: | Andrew Johnson <[email protected]> |
To: | Janet Anderson <[email protected]> |
Cc: | EPICS core-talk <[email protected]> |
Date: | Thu, 25 Oct 2007 14:20:47 -0500 |
Janet Anderson wrote:
Yesterday I committed changes to the EPICS base R3.14 branch and the main trunk to allow the GNU make "-j jobs" option to work when building EPICS base. I also made a change in the makeBaseApp.pl templates to allow the -j option when building new ioc applications . There is a note about the -j change in the R3.14 branch release notes.
Note that Janet's parallel build rules that support the -j option require the use of $(eval ...) which was introduced in GNU Make version 3.81. Serial compilation still works on older versions of Make as before, but if you give a -j option the build will fail since many of the dependencies won't have been set.
On our 8-core Linux box the performance gain is obvious; building Base for Linux and one RTEMS target came down from 6 minutes to 2 minutes in my test.
- Andrew -- When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong. -- Arthur C. Clarke