changeset 1694:a5901bfefda5 draft

Move guts of "make change" to scripts/change.sh, don't try to build sh or help standalone. sh builtin commands need multiplexer, help describes other enabled commands.
author Rob Landley <rob@landley.net>
date Sat, 14 Feb 2015 01:08:15 -0600
parents 1e0af8b8c8ec
children 3d1b78e5e066
files Makefile scripts/change.sh
diffstat 2 files changed, 21 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Thu Feb 12 16:41:59 2015 -0600
+++ b/Makefile	Sat Feb 14 01:08:15 2015 -0600
@@ -11,7 +11,7 @@
 	scripts/make.sh
 
 .PHONY: clean distclean baseline bloatcheck install install_flat \
-	uinstall uninstall_flat test tests help toybox_stuff
+	uinstall uninstall_flat test tests help toybox_stuff change
 
 include kconfig/Makefile
 
@@ -46,14 +46,7 @@
 	scripts/install.sh --long --uninstall
 
 change:
-	@NOBUILD=1 scripts/make.sh > /dev/null&& \
-	$(HOSTCC) -I . scripts/install.c -o generated/instlist && \
-	export PREFIX=$${PREFIX:-change/} && \
-	mkdir -p "$$PREFIX" && \
-	for i in $$(generated/instlist); \
-		do echo -n "$$i " && \
-		scripts/single.sh $$i > /dev/null || touch $$PREFIX/$${i}.bad; \
-	done
+	scripts/change.sh
 
 clean::
 	rm -rf toybox toybox_unstripped generated change .singleconfig*
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/change.sh	Sat Feb 14 01:08:15 2015 -0600
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+# build each command as a standalone executable
+
+NOBUILD=1 scripts/make.sh > /dev/null &&
+${HOSTCC:-cc} -I . scripts/install.c -o generated/instlist &&
+export PREFIX=${PREFIX:-change/} &&
+mkdir -p "$PREFIX" || exit 1
+
+# Build all the commands standalone except:
+
+# sh - shell builtins like "cd" and "exit" need the multiplexer
+# help - needs to know what other commands are enabled (use command --help)
+
+for i in $(generated/instlist | egrep -vw "sh|help")
+do
+  echo -n "$i " &&
+  scripts/single.sh $i > /dev/null || touch $PREFIX/${i}.bad
+done