Skip to content
  • Uwe Hermann's avatar
    Switch to a non-recursive automake setup. · 67bd8055
    Uwe Hermann authored
    Instead of >= 44 Makefile.am's we now only have one top-level
    Makefile.am, and use the 'subdir-objects' automake option to
    handle the build via non-recursive (auto)make.
    
    This has the advantage of fewer (boilerplate or other) files and less
    clutter in general, as well as performance advantages since the new
    setup can build many files in parallel (with 'make -j'), not only 2 or 3
    files within the same (e.g. hardware/xxxx/* subdirectory) and also since
    we no longer need to build intermediate libtool helper libs per subdirectory.
    
    A quick, non-scientific test build on a quad-core laptop with 'make -j 4'
    yields a build time reduction from 35s to 19s.
    
    All autotools features that worked before are still intact without any
    regressions, including the Make targets 'install', 'uninstall', 'check',
    'dist', 'clean', 'distclean' and so on, as well as all the usual portability
    handling (build works on any OS, with any Make implementation such as
    GNU Make or BSD Make, with any shell such as sh/ksh/zsh/bash/dash, etc. etc.)
    and features such as out-of-tree build support, cross-compile support,
    testsuite support (also with colored output), "silent make rules", etc. etc.
    67bd8055