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:
Florian Fainelli 2008-08-08 21:30:08 +00:00
parent 2bd17fe1cb
commit 067a1fe3b6

View file

@ -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");
} }
} }