Skip to content
  • Andy Fleming's avatar
    Allow for parallel builds and saved output · f588bb03
    Andy Fleming authored
    
    
    The MAKEALL script cleverly runs make with the appropriate options
    to use all of the cores on the system, but your average U-Boot build
    can't make much use of more than a few cores.  If you happen to have
    a many-core server, your builds will leave most of the system idle.
    
    In order to make full use of such a system, we need to build multiple
    targets in parallel, and this requires directing make output into
    multiple directories. We add a BUILD_NBUILDS variable, which allows
    users to specify how many builds to run in parallel.
    When BUILD_NBUILDS is set greater than 1, we redefine BUILD_DIR for
    each build to be ${BUILD_DIR}/${target}. Also, we make "./build" the
    default BUILD_DIR when BUILD_NBUILDS is greater than 1.
    
    MAKEALL now tracks which builds are still running, and when one
    finishes, it starts a new build.
    
    Once each build finishes, we run "make tidy" on its directory, to reduce
    the footprint.
    
    As a result, we are left with a build directory with all of the built
    targets still there for use, which means anyone who wanted to use
    MAKEALL as part of a test harness can now do so.
    
    Signed-off-by: default avatarAndy Fleming <afleming@freescale.com>
    f588bb03