Hi, Here is v2 of the out-of-tree build. There have been a number of changes following review and also inclusion of Thomas' ppc64 patch which completes the set. The biggest change is the way I deal with creating build directories. There is now a make variable called OBJDIRS which sub-builds can add to. I had originally tried to be clever by expanding OBJDIRS into a bunch of templated mkdir's which could then be set as order-on-prerequisites as suggested by Drew. However it turns out to be very hard to add the directory of the target as a prerequisite even using hacks like GNU's secondary expansion. In the end I just created a directories target and made sure the all: target had it as the first thing. This breaks if someone tries to build an individual file without first building the tree but I assume most people don't build like that. If anyone else can come up with a neater solution I'm all ears ;-) Finally I've added a .travis.yml recipe. This really only works for github hosted repos but its better than nothing. Evidently the cross compilers complain about: lib/report.c:38:17: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] assert_msg(len < sizeof(prefixes), "%d >= %lu", len, sizeof(prefixes)); and: lib/report.c:38:2: error: format '%lu' expects argument of type 'long unsigned int', but argument 6 has type 'unsigned int' [-Werror=format=] assert_msg(len < sizeof(prefixes), "%d >= %lu", len, sizeof(prefixes)); But these can be addressed with separate patches. Alex Bennée (8): configure: make it run-able from outside source tree Makefile: ensure build-head works out-of-src-tree Makefile: set VPATH based on SRCDIR Makefiles: use explicit path for including sub-Makefiles Makefile: add explicit directories target Makefiles: fix up the x86 build dirs and include/link paths Makefiles: fix up the arm build dirs and include/link paths .travis.yml: initial build matrix Thomas Huth (1): Makefiles: Fix up the powerpc build dirs and include/link paths .travis.yml | 43 +++++++++++++++++++++++++++++++++++++++++++ Makefile | 22 +++++++++++++++++----- arm/Makefile | 2 +- arm/Makefile.arm | 2 +- arm/Makefile.arm64 | 4 +++- arm/Makefile.common | 14 ++++++++------ configure | 36 ++++++++++++++++++++++++++++-------- powerpc/Makefile | 2 +- powerpc/Makefile.common | 15 +++++++++------ powerpc/Makefile.ppc64 | 4 +++- scripts/asm-offsets.mak | 4 +++- x86/Makefile | 2 +- x86/Makefile.common | 16 ++++++++++------ x86/Makefile.i386 | 2 +- x86/Makefile.x86_64 | 2 +- 15 files changed, 130 insertions(+), 40 deletions(-) create mode 100644 .travis.yml -- 2.11.0