scripts/feeds calls 'make' irrespective of the platform it is running on. The attached patch changes the code to use gmake if available (which should cover non-linux platforms, and is the same logic used to adapt other programs in include/host.mk) (#3867)
Signed-off-by: Luigi Rizzo <rizzo@iet.unipi.it> SVN-Revision: 12246
This commit is contained in:
parent
2bd17fe1cb
commit
067a1fe3b6
1 changed files with 9 additions and 5 deletions
|
@ -11,6 +11,10 @@ use Cwd 'abs_path';
|
||||||
chdir "$FindBin::Bin/..";
|
chdir "$FindBin::Bin/..";
|
||||||
$ENV{TOPDIR}=getcwd();
|
$ENV{TOPDIR}=getcwd();
|
||||||
|
|
||||||
|
my $mk=`which gmake`; # select the right 'make' program
|
||||||
|
chomp($mk); # trim trailing newline
|
||||||
|
$mk or $mk = "make"; # default to 'make'
|
||||||
|
|
||||||
my @feeds;
|
my @feeds;
|
||||||
my %build_packages;
|
my %build_packages;
|
||||||
my %installed;
|
my %installed;
|
||||||
|
@ -48,8 +52,8 @@ sub update_index($)
|
||||||
-d "./feeds/$name.tmp" or mkdir "./feeds/$name.tmp" or return 1;
|
-d "./feeds/$name.tmp" or mkdir "./feeds/$name.tmp" or return 1;
|
||||||
-d "./feeds/$name.tmp/info" or mkdir "./feeds/$name.tmp/info" or return 1;
|
-d "./feeds/$name.tmp/info" or mkdir "./feeds/$name.tmp/info" or return 1;
|
||||||
|
|
||||||
system("make -s prepare-mk TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\"");
|
system("$mk -s prepare-mk TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\"");
|
||||||
system("make -s -f include/scan.mk IS_TTY=1 SCAN_TARGET=\"packageinfo\" SCAN_DIR=\"feeds/$name\" SCAN_NAME=\"package\" SCAN_DEPS=\"$ENV{TOPDIR}/include/package*.mk\" SCAN_DEPTH=4 SCAN_EXTRA=\"\" TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\"");
|
system("$mk -s -f include/scan.mk IS_TTY=1 SCAN_TARGET=\"packageinfo\" SCAN_DIR=\"feeds/$name\" SCAN_NAME=\"package\" SCAN_DEPS=\"$ENV{TOPDIR}/include/package*.mk\" SCAN_DEPTH=4 SCAN_EXTRA=\"\" TMP_DIR=\"$ENV{TOPDIR}/feeds/$name.tmp\"");
|
||||||
system("ln -sf $name.tmp/.packageinfo ./feeds/$name.index");
|
system("ln -sf $name.tmp/.packageinfo ./feeds/$name.index");
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -117,7 +121,7 @@ sub get_feed($) {
|
||||||
}
|
}
|
||||||
|
|
||||||
sub get_installed() {
|
sub get_installed() {
|
||||||
system("make -s prepare-tmpinfo");
|
system("$mk -s prepare-tmpinfo");
|
||||||
clear_packages();
|
clear_packages();
|
||||||
parse_package_metadata("./tmp/.packageinfo");
|
parse_package_metadata("./tmp/.packageinfo");
|
||||||
%installed = %package;
|
%installed = %package;
|
||||||
|
@ -299,9 +303,9 @@ sub refresh_config {
|
||||||
|
|
||||||
# refresh the config
|
# refresh the config
|
||||||
if ($default) {
|
if ($default) {
|
||||||
system("make oldconfig CONFDEFAULT=\"$default\" Config.in >/dev/null 2>/dev/null");
|
system("$mk oldconfig CONFDEFAULT=\"$default\" Config.in >/dev/null 2>/dev/null");
|
||||||
} else {
|
} else {
|
||||||
system("make defconfig Config.in >/dev/null 2>/dev/null");
|
system("$mk defconfig Config.in >/dev/null 2>/dev/null");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue