make it possible to do 'make -C sw/' even with builddir!=srcdir

The change in partial_build.mk assumes all the Makefile's using it
are in builddir/<module>/ or builddir/external/<module> , these are
differentiated by checking for ../External_module.mk .

Change-Id: Iddc8fa2ec0842f181780f7491cf5a2244efd014a
This commit is contained in:
Luboš Luňák 2014-03-23 16:21:51 +01:00
parent 129f9c4c39
commit 2bf2bc2c7f
2 changed files with 20 additions and 1 deletions

View file

@ -135,6 +135,22 @@ if ($src_path ne $build_path)
{
system ("ln -sf $src_path/configure.ac configure.ac");
system ("ln -sf $src_path/g g");
my @modules = <$src_path/*/Makefile>;
foreach my $module (@modules)
{
my $dir = basename (dirname ($module));
mkdir ($dir);
system ("ln -sf $src_path/$dir/Makefile $dir/Makefile");
}
my @external_modules = <$src_path/external/*/Makefile>;
mkdir ("external");
system ("ln -sf $src_path/external/Module_external.mk external/");
foreach my $module (@external_modules)
{
my $dir = basename (dirname ($module));
mkdir ("external/$dir");
system ("ln -sf $src_path/external/$dir/Makefile external/$dir/Makefile");
}
}
system ("$aclocal $aclocal_flags") && die "Failed to run aclocal";
unlink ("configure");

View file

@ -22,7 +22,10 @@ gb_Side:=host
endif
ifeq (,$(BUILDDIR))
BUILDDIR := $(dir $(realpath $(lastword $(MAKEFILE_LIST))))../..
gb_partial_build__makefile_dir=$(dir $(abspath $(firstword $(MAKEFILE_LIST))))
BUILDDIR := $(if $(wildcard $(gb_partial_build__makefile_dir)../Module_external.mk), \
$(gb_partial_build__makefile_dir)../.., \
$(gb_partial_build__makefile_dir)..)
endif
ifeq ($(BUILD_TYPE),)