aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2008-08-08 21:30:08 +0000
committerFlorian Fainelli <florian@openwrt.org>2008-08-08 21:30:08 +0000
commit067a1fe3b68360f3d0f5d5900c738fb7605497c4 (patch)
tree68cbae637316f0c40ea84adefb014e1bc47ceaee
parent2bd17fe1cb272d9baba3df593805543f615415b9 (diff)
downloadupstream-067a1fe3b68360f3d0f5d5900c738fb7605497c4.tar.gz
upstream-067a1fe3b68360f3d0f5d5900c738fb7605497c4.tar.bz2
upstream-067a1fe3b68360f3d0f5d5900c738fb7605497c4.zip
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
-rwxr-xr-xscripts/feeds14
1 files changed, 9 insertions, 5 deletions
diff --git a/scripts/feeds b/scripts/feeds
index b5abfc8cea..6b09f7ee41 100755
--- a/scripts/feeds
+++ b/scripts/feeds
@@ -11,6 +11,10 @@ use Cwd 'abs_path';
chdir "$FindBin::Bin/..";
$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 %build_packages;
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/info" or mkdir "./feeds/$name.tmp/info" or return 1;
- system("make -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 prepare-mk 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");
return 0;
@@ -117,7 +121,7 @@ sub get_feed($) {
}
sub get_installed() {
- system("make -s prepare-tmpinfo");
+ system("$mk -s prepare-tmpinfo");
clear_packages();
parse_package_metadata("./tmp/.packageinfo");
%installed = %package;
@@ -299,9 +303,9 @@ sub refresh_config {
# refresh the config
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 {
- system("make defconfig Config.in >/dev/null 2>/dev/null");
+ system("$mk defconfig Config.in >/dev/null 2>/dev/null");
}
}