diff options
Diffstat (limited to 'bin/sh/mkbuiltins')
-rwxr-xr-x | bin/sh/mkbuiltins | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/bin/sh/mkbuiltins b/bin/sh/mkbuiltins index 104ded6..7c610d5 100755 --- a/bin/sh/mkbuiltins +++ b/bin/sh/mkbuiltins @@ -34,19 +34,21 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# @(#)mkbuiltins 8.1 (Berkeley) 5/31/93 -# $Id: mkbuiltins,v 1.3 1995/03/30 19:45:20 phk Exp $ +# @(#)mkbuiltins 8.2 (Berkeley) 5/4/95 +# $Id: mkbuiltins,v 1.4 1996/06/24 04:22:22 jkh Exp $ temp=/tmp/ka$$ havejobs=0 if grep '^#define JOBS[ ]*1' shell.h > /dev/null then havejobs=1 fi -if [ -d ${OBJDIR} ] ; then - exec > ${OBJDIR}/builtins.c -else - exec > builtins.c +havehist=1 +if [ "X$1" = "X-h" ]; then + havehist=0 + shift fi +objdir=$1 +exec > ${objdir}/builtins.c cat <<\! /* * This file was generated by the mkbuiltins program. @@ -56,8 +58,8 @@ cat <<\! #include "builtins.h" ! -awk '/^[^#]/ {if('$havejobs' || $2 != "-j") print $0}' builtins | - sed 's/-j//' > $temp +awk '/^[^#]/ {if(('$havejobs' || $2 != "-j") && ('$havehist' || $2 != "-h")) \ + print $0}' builtins.def | sed 's/-j//' > $temp awk '{ printf "int %s();\n", $1}' $temp echo ' int (*const builtinfunc[])() = {' @@ -66,16 +68,12 @@ echo '}; const struct builtincmd builtincmd[] = {' awk '{ for (i = 2 ; i <= NF ; i++) { - printf "\t\"%s\", %d,\n", $i, NR-1 + printf "\t{ \"%s\", %d },\n", $i, NR-1 }}' $temp -echo ' NULL, 0 +echo ' { NULL, 0 } };' -if [ -d ${OBJDIR} ] ; then - exec > ${OBJDIR}/builtins.h -else - exec > builtins.h -fi +exec > ${objdir}/builtins.h cat <<\! /* * This file was generated by the mkbuiltins program. |