autotools と並行してビルドを行うことができます。並行して構築したいものに対して再帰的なmakeを行うことを避ける必要があるだけです。基本的な考え方は、次のMakefile.am
ようにすることです。
bin_PROGRAMS =
noinst_LDLIBRARIES =
SUBDIRS = sub1 sub2 .
include here1/Makefile-files
include here2/Makefile-files
などhere1/Makefile-files
:
bin_PROGRAMS += here1
noinst_LDLIBRARIES += libhere1.la
here1_SOURCES = here1/src1.c here1/src2.c here1/src3.c
libhere1_la_SOURCES = here1/lib1.c here1/lib2.c
次に、サブディレクトリ内のものは、現在のディレクトリsub1/
とsub2/
は別に、その前に構築されます (それぞれのビルドが同じトリックで並行して行われる可能性があります!)。次に、現在のディレクトリが現在のディレクトリ内のものの構築を開始します。Makefile.am
とhere[12]/Makefile-files
並行して。
たとえば、いくつかの前提条件が構築された後、libgphoto2
そのメカニズムを使用して50 以上のカメラ ドライバーを並行して構築します。これにより、合計ビルド時間が大幅に短縮されます。
OK、これによってconfigure
スクリプト自体が高速化されることはありませんが、少なくともクロスコンパイルは実行されます (一部の代替ビルド システムとは異なります)。(要件の 1 つとしてポータブルを挙げていますが、これは多くの場合、クロスコンパイルを意味します。)