Peter Memishian wrote:
> 
>  > http://cr.grommit.com/~chin/ksh93-webrev-jun29/jun29-makefiles/
> 
> I've completed my review of the Makefiles.  Things are looking good --
> most of my comments are quite minor.  Nice work, Roland :-)
> 
> General:
> 
>         * Seems like every AST-related Makefile contains:
> 
>             # Override this top level flag so the compiler builds in its
>             # native C99 mode.  This has been enabled to support the math
>             # stuff in the AST tools.
>             C99MODE= $(C99_ENABLE) -D_XOPEN_SOURCE=600 -D__EXTENSIONS__=1
> 
>             # silence common libast&co. warnings (upstream will handle this
>             # later) ...  ... about |#pragma prototyped| ...
>             CERRWARN += -erroff=E_UNRECOGNIZED_PRAGMA_IGNORED
> 
>           It would be really nice if we could centralize these somewhere.
>           (Just a request, not a requirement.)

I had the same idea... but it would mean we would need an extra
"include" statement and a new file extra for these flags... and that's
IMO an overkill unless more "common" things could be abstracted somehow.

>         * I realize the use of SHELL=/usr/bin/ksh has been discussed
>           before, and I know you want to keep it.  But for the library
>           Makefiles, can we please consolidate it into libfoo/Makefile.com
>           and yank it out of libfoo/$ISA/Makefile?

Ok... somehow I remeber that SHELL=<my-preferred-shell> must be one of
the first statements but I am not sure whether this rule is obsolete,
applies to Solaris or whether my memory is playing tricky on me ...
... fixed.

>           (That should also
>           allow you to remove libcmd/$ISA/Makefile from your list of
>           changed files.)

Mhhh... assuming there weren't any other changes...

>         * A nit, but almost every libfoo/Makefile.com has "explicitly"
>           misspelled as "expliclity".

Fixed (yes, yes, my english is horrible... ;-( ).

>         * Similarly another nit: almost every libfoo/Makefile has a
>           needless "definitions for install_h target" comment above HDRS.

Fixed.

> lib/Makefile:
> 
>         * 515: libshell appears to have a spurious dependency on libnsl.

Fixed (assuming "spurious"==unneccesary).

> lib/libc/{sparc,sparcv9,amd64,i386}/Makefile.com:
> 
>         * It's a shame this has to be duplicated across all four Makefiles,
>           but I guess that's status quo with the libc Makefiles.

Well, we could declare the old version of |libc::wordexp()| obsolete
(which will be an intersting ARC case because the current
|libc::wordexp()| has seperate codepaths for normal and XPG4 behaviour
(the difference is whether /usr/bin/ksh or /usr/xpog4/bin/sh is used)
while the new one only supports XPG4 behaviour. The question is whether
there is a difference between both shells when word expansion is done...
I can't even imagine a testcase to probe for the difference between
/usr/bin/ksh and /usr/xpg4/bin/sh and therefore I assume the difference
is more or less "zero" (except that you could use shell-specfic
variables and check $0 for the name of the shell - but AFAIK no consumer
will do that...)) and this flag will disappear... :-)

>         * In theory, you need a FLG here so that when someone brings
>           over usr/src/lib/libc they'll get Makefile.ksh93switch brought
>           over too.  But FLGs are dying soon with the Mercurial switch,
>           so I guess it doesn't matter.

Uhm... what do you mean with "FLG" ?

> lib/libcmd/Makefile:
> 
>         * 51-52: Not sure why the HDRDIR32/HDRDIR64 handling warrants a
>           comment here (none of the other uses seem to have comments).

AFAIK it was copied over from another Makefile - I removed the
comments...
... fixed.

> lib/libcmd/Makefile.com:
> 
>         * 104: "-Isrc/lib/libcmd" seems bizarre; why is this necessary?

See
http://mail.opensolaris.org/pipermail/busybox-dev/2007-April/000033.html
for the layout of the upstream source files and includes. We basically
use the same include file directory layout to avoid that we have to
touch all consumers and adjust their "#include"-statements. This is one
of the major items why the original "prototype001" failed - we didn't
realise that the AST codebase has several include files with the same
name in different subdirs with slightly different functionality - and
getting the include order wrong may result in a code which compiles but
won't work properly (remeber my screaming&&wailing about the test suite
? This was one of the items which was "caught" by the test suite...).
As a result the "prototype002" (and all the later follow-ups) stopped
messing around with the include order+source files and just copies the
upstream directory layout of include files even if it looks slightly
"weired" (OS/Net seems to like "precendents" and therefore I am quoting
the perl build as precedent for "weired" source file layout... :-) ).
The result is a _MUCH_ easier to maintain, avoids that we need to change
any of the upstream sources and won't trigger the include ordering h*ll
we had with the first prototype.

>         * 131-132: Comment about fnamecheck omission seems unnecessary.

Fixed (comment removed).

> lib/libdll/{sparc,sparcv9,amd64,i386}/Makefile:
> 
>         * GETRELEASEMINOR seems the hard way around; seems simpler to
>           update Makefile.master to have:
> 
>                 RELEASE_MAJOR=5
>                 RELEASE_MINOR=11
>                 RELEASE=$(RELEASE_MAJOR).$(RELEASE_MINOR)
> 
>           ... then get rid of GETRELEASEMINOR.  (But if for some reason it
>           needs to be kept, then please move it somewhere more common.)

AFAIK this was discussed long ago. In theory you're right that such a
thing belongs into Makefile.master ...
... but I am trying to avoid global changes for this putback. I am
willing to fix this with a seperate putback (together with lots of other
"janitor" stuff I've complained about in
opensolaris-code at opensolaris.org) but please please not with this
putback. Putting a new global flag into Makefile.master affects _all_
Makefiles and I am not happy with having such a thing in the already
large&&complex putback.

>         * Seems simpler to replace DLLPLATFORMCPPFLAGS with
>           DLLPLATFORM=sun4 (or i386), and then have Makefile.com have
>           "-DHOSTTYPE="sol$(RELEASE_MINOR).$(DLLPLATFORM)" in CPPFLAGS.

Right... but DLLPLATFORMCPPFLAGS was modelled after a matching upstream
build flag which is per-platform. I know it's currently slightly
"redundant" but DLLPLATFORMCPPFLAGS is intended to contain only
per-platform flags which are set in
usr/src/lib/libdll/$(TRANSMACH)/Makefile ...
... your choice: Keep the current code or change it...

> lib/libast/{sparc,sparcv9,amd64,i386}/Makefile:
> 
>         * Same comments as libdll above.

See comment above...

> lib/libpp/Makefile.com
> 
>         * 100: s/execept/except/

Fixed.

> lib/libshell/Makefile.demo:
> 
>         * 74: Continuation line here seems awkward.

Yes... the target once had more stuff and the list was later reduced...
... fixed.

> lib/libshell/Makefile.com:
> 
>         * 122: Comment mentions libnsl, but it's not in the corresponding
>           macro.

Right... April did lots of testing and one of the items she fouond was
that libnsl was redundant...
... fixed.

>         * 134-171: Could we keep the CPPFLAGS in cmd/ksh/Makefile.com
>           and here in-sync through includes instead?

Uhm.. in theory yes... but it would generate "yet another" Makefile
include and IMO the current four/five/six-level hieracy is mind-bending
and sometimes it's already tricky to answer the question "...where does
_that_ weired flag come from..." (somehow I wish there would be
something like a "makefile debugger").
Erm... your choice... keep current code or create seperate Makefile
include (I would prefer to keep the current makefile code, assuming that
people read the comments in the makefiles... :-) ) ...

>         * 143: -Isrc/cmd/ksh93 seems suspicious; why are header files
>           for the library lurking over in a command directory?

See above... it's the upstream source file layout.

> cmd/Makefile:
> 
>         * 31: Why include ksh/Makefile.ksh93switch here?

Originally it was added for the /sbin/ksh93 machinery which was removed
during PSARC 2006/550... AFAIK April had some ideas to (later) turn-off
putting ksh88 into /usr/bin/ksh when the flag is "on"...
... April ?

>           If we really
>           need this, seems like Makefile.ksh93switch needs to move to a
>           more common directory.

Any suggestions where I should it move to (AFAIK usr/src/, right ?) ?

> cmd/ast/msgcc/Makefile
> 
>         * 70: Comment about "install rules" doesn't seem to match code
>           that follows.

Fixed (comment removed).

>         * 73: "main" comment here seems unnecessary.

Fixed (comment removed).

>         * 80-82: Suggest consolidating into `clean lint:'

Fixed.

>         * 84-90: These lines should be needless now that all the programs
>           are listed in $(PROG).

Fixed (lines removed).

> cmd/ksh/Makefile:
> 
>         * 65-74: I'm confused why this logic is here and at e.g. lines
>           39-46 of cmd/ksh/i386/Makefile.

This logic is needed to install isaexec links for all variants of ksh
(e.g. restricted shell, profile shell etc.) depending on the setting in
Makefile.ksh93switch and the values of USRKSH_ALIAS_LIST and PROG,
including the detail that it should still work when
ON_BUILD_KSH93_AS_BINKSH is changed between rebuilds (e.g. do a $ cd
usr/src/cmd/ksh ; export ON_BUILD_KSH93_AS_BINKSH=1 ; make install # to
toggle the setting for /usr/bin/ksh and
/usr/bin/ksh93+isaexec+platform-specific targets). The code is slighty
tricky but AFAIK the only way to go (or better: There are likely other
options... but I doubt they will be better or shorter than the current
mini-script) - I've tried the normal installation rules but they fail
horribly when the switch gets flipped. After some testing I started
using the current code instead of custom makefile rules because the
makefile rules can't handle changes in USRKSH_ALIAS_LIST (or short: It's
a slimy mess with large tentacles to get all three items (variable
install location, variable number of installation targets and isaexec)
working without shooting yourself into arms, legs and chest at the same
time with one bullet... ;-( ).
BTW: If you really want to see something horrible take a look at the
Makefile when we had the /sbin/ksh93 thing in the tree (which had a
switch to make /sbin/sh a link to /sbin/ksh or /sbin/ksh93 depending on
flags in ON_BUILD_KSH93_AS_BINKSH)

> cmd/ksh/Makefile.com:
> 
>         * 39-43: This comment seems a bit hard to believe, since there
>           seems to be a sizeable difference between this Makefile's
>           structure and the one in libshell.

That's the result of different evolution. The original
cmd/ksh/Makefile.com was an 1:1 clone of
usr/src/lib/libshell/Makefile.com, cut-down for the pmain.o file. Since
then the different changes caused horrible mutations in both Makefiles
(e.g. more legs, more teeth, 2nd stomach to digest more food etc. ...
:-) ) they now look different... ;-(

>           Given that there's just
>           a single source file, I don't see the need for mkpicdirs.

Grumble... grumble...
... removed.

>         * 49: See previous FLG-related comment.
> 
>         * 52: Extra blank line.

Fixed.

>         * 57-58: See previous comment on the need to share this
>           list with libshell.

See above... IMO "yet another" makefile include will make things
worse...

>         * 132: I think this comment is supposed to explain why we delete
>           ksh and ksh93 even for `clean' (rather than `clobber'), but I'm
>           not quite getting it.

We delete _both_ targets to make sure that a change in
"ON_BUILD_KSH93_AS_BINKSH" gets handled properly. It's a safeguard to
avoid that anyone works with stale binaries by accident (and there is
the old issue with "io.sh" (which is AFAIK fixed but I didn't had time
to verify that yet... ;-( )).

> cmd/ksh/Makefile.testshell:
> 
>         * 38-44: So will this test suite failure be resolved prior to
>           integration?

It doesn't occur for the "C" locale, only some of the non-"C" locales
are affected and I strongly belive it's only the sort order of the
locale. I've looked at the problem and IMHO it's not important for now.
I have to sync with David&&Glenn later - AFAIK the test suite needs to
be fixed but the problem is _how_ ... there is currently (AFAIK) no
portable way to query the sort order of the current locale from within a
shell script (Solaris's /usr/bin/locale has properties for this case but
other platforms lack the matching options (or short: Welcome to
portabilty hell... ;-( )).


>         * 56-61: Since we're well past build 64, can this issue be
>           removed?  (If not, please reformat the comment to be 80-column
>           friendly.)

Erm... I don't have a build machine > B61 and I can't simply update my
two build machines because I would either loose the abilty to test the
|libc::wordexp()| code or have to update the whole tree to a newer
Nevada build (which would trigger problems for April because she would
have to re-do her whole SCCS tree...).

>         * 66: s/compliciated./complicated./

Fixed.

>         * 81, 95: Use of csh prompt syntax seems surprising here ;-)

Fixed (one of the early B37 machines had a /etc/profile copied over from
a machine where the owner prefers '%' for his bash/ksh login prompt...
;-/ ).

>         * 100: s/weired/weird/.

Fixed.

>         * 104: One exclamation point will do ;-)

Fixed.

>         * 113-143: Please reformat to be 80-column friendly.

OUCH... ;-(
Is this really neccesary ? AFAIAK the code will fit within a 90-column
boundary but using 80 will result in unreadable code marmelade (unless
the default amount of space for blocks/etc. gets reduced from four to
two and if we reduce the text of the "print"/"printf" messages somehow)
...

> cmd/ksh/Makefile.ksh93switch:
> 
>         * 28-30: Nit: the suggestion would be easier to parse if we
>           removed the embedded comment -- e.g.:
> 
>             # Should we build ksh93 as /bin/ksh ?
>             # This can be overridden at build time via:
>             # $ export ON_BUILD_KSH93_AS_BINKSH=1

Fixed.

>         * 37: Extra blank line.

Fixed.

> usr/src/lib/Makefile.astmsg:
> 
>         * 29: Should "Temporary control building" be "Temporary control
>           over building"?  (Or maybe "Temporarily" was meant?)

Uhm... uhm... I've picked "Temporarily" and pray that noone realises how
bad my english is... :-)
... fixed.

>         * 33-35: Similar nit to Makefile.ksh93switch.

Fixed.

>         * 44: s/mesage/message/

Fixed.

>         * 60-63: Seems like the common part of these macros should be
>           moved into ASTMSGCCFLAGS.

Fixed.
>           (I'm also unclear why ASTMSGCCFLAGS
>           is needed, rather than directly using CPPFLAGS.)

Erm, if I put the values directly into CPPFLAGS it would affect the
normal *.c ----> *.o rules. ASTMSGCCFLAGS is seperate to have a way to
1) monitor the values which are "special" for msgcc and 2) set some
values which are not set in CPPFLAGS/CFLAGS.

>         * 69, 63, 76: Why is CFLAGS needed?

"msgcc" works like the normal compiler and should get the normal
compiler flags, msgcc will then process the matching sources like "cc"
and finally extract the l10n strings.

>         * 79-81: Seems like it would be simpler as:
> 
>            $(ASTMSGCATALOG): $(MSGLIBNAME).msg
>                 @$(RM) $@; \
>                 $(SED) 's/^$$translation msgcc .*//' $(MSGLIBNAME).msg | 
> gencat $@ -
> 
>           ... but I haven't tested it.

Fixed (I removed the "cat" and used <"$(MSGLIBNAME).msg" instead).

>         * 90: $(TOUCH) instead?

I am using "touch" to create an "empty" message catalog file for now
when we don't build the AST message catalogs, e.g. if
ON_BUILD_AST_L10N_CATALOGS is "0". Otherwise we have to poke the package
database for the missing catalog files each time the
"ON_BUILD_AST_L10N_CATALOGS" variable is changed... and that's slightly
messy. Instead of creating lots of machinery to adjust the package
database or do other stunts I used "touch" to create an empty file - IMO
this solution is easier since the "ON_BUILD_AST_L10N_CATALOGS" flag is
going away three or four weeks after the first putback anyway (with a
"flag day" ... ;-( ).

> cmd/sgs/libelf/Makefile.com:
> 
>         * Not sure why the DIRMODE setting is no longer needed.

AFAIK it was the same as the default mode.


I've attached the changes as "ksh93_integration_review_meem001.diff.txt"
- if they are Ok for you then I'll commit them to the tree...

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) roland.mainz at nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 7950090
 (;O/ \/ \O;)
-------------- next part --------------
Index: src/cmd/ksh/Makefile.ksh93switch
===================================================================
--- src/cmd/ksh/Makefile.ksh93switch    (revision 694)
+++ src/cmd/ksh/Makefile.ksh93switch    (working copy)
@@ -26,12 +26,11 @@
 #
 
 # Should we build ksh93 as /bin/ksh ?
-# this can be overridden via
-# $ export ON_BUILD_KSH93_AS_BINKSH=1 # at build time
+# This can be overridden at build time via:
+# $ export ON_BUILD_KSH93_AS_BINKSH=1
 ON_BUILD_KSH93_AS_BINKSH=0
 
 BINKSH_IS_KSH93_1=   $(ON_BUILD_KSH93_AS_BINKSH:0=$(POUND_SIGN))
 BINKSH_ISNOT_KSH93_1=$(ON_BUILD_KSH93_AS_BINKSH:1=$(POUND_SIGN))
 BINKSH_IS_KSH93=     $(BINKSH_IS_KSH93_1:1=)
 BINKSH_ISNOT_KSH93=  $(BINKSH_ISNOT_KSH93_1:0=)
-
Index: src/cmd/ksh/Makefile.testshell
===================================================================
--- src/cmd/ksh/Makefile.testshell      (revision 724)
+++ src/cmd/ksh/Makefile.testshell      (working copy)
@@ -63,7 +63,7 @@
 #
 # - The test frontend in this Makefile should be rewritten in ksh93
 #   instead of the current /usr/bin/ksh (=ksh88i). This would be far less
-#   compliciated.
+#   complicated.
 #
 # - More locales should be tested here (via ON_KSH_TEST_LOCALES below).
 #   Locales like "ru_RU.KOI8-R","de_DE.UTF-8", "is_IS.ISO8859-1", 
@@ -78,7 +78,7 @@
 #
 
 # ON_KSH_TEST_LOCALES can be overridden via
-# % export ON_KSH_TEST_LOCALES=<value> before % make install
+# $ export ON_KSH_TEST_LOCALES=<value> # before $ make install #
 ON_KSH_TEST_LOCALES = \
        C \
        en_US en_US.UTF-8 \
@@ -92,34 +92,34 @@
        zh_TW.BIG5 zh_TW.EUC zh_TW.UTF-8
 
 # ON_KSH_TEST_LIST can be overridden via
-# % export ON_KSH_TEST_LIST=<value> before % make install
+# $ export ON_KSH_TEST_LIST=<value> # before $ make install #
 ON_KSH_TEST_LIST = $(LIBSHELLSRC)/tests/*.sh
 
 # We must wait for other things in this subdir to finish before running
 # the test suite, otherwise we may run into trouble that this activity
-# may disturb the test suite run (resulting in weired "heisenbug"-like
+# may disturb the test suite run (resulting in weird "heisenbug"-like
 # test failures).
 testshell: $(PROG)
        @ \
-       print '# NOTE: Make sure your binaries in ROOT match your kernel!!' ; \
-       (set +e ; export PATH="$(SRC)/cmd/ksh/$(CMDTRANSMACH):/bin:/usr/bin" ; \
+       print '# NOTE: Make sure your binaries in ROOT match your kernel!' ; \
+       (set +o errexit ; export 
PATH="$(SRC)/cmd/ksh/$(CMDTRANSMACH):/bin:/usr/bin" ; \
            printf "# which ksh='%s', ksh93='%s'\n" "$$(which ksh)" "$$(which 
ksh93)" ; \
        ) ; \
-       if [ "$$(isalist | fgrep "$(CMDTRANSMACH)")" = "" ] ; then \
-           printf "# ISA=$(CMDTRANSMACH) cannot be executed on this system, 
skipping tests...\n" ; \
+       if [[ "$$(isalist | fgrep "$(CMDTRANSMACH)")" = "" ]] ; then \
+           printf "# ISA='%s' cannot be executed on this system, skipping 
tests...\n" "$(CMDTRANSMACH)" ; \
            exit 0 ; \
        fi ; \
        exec 2>&1 ; \
-       (supported_locales="$$(locale -a)" ; \
+       (supported_locales="$$(/usr/bin/locale -a)" ; \
        for test_lang in $(ON_KSH_TEST_LOCALES) ; do \
            if [ "$$(print "$${supported_locales}" | egrep 
"^$${test_lang}\$$")" = "" ] ; then \
-               print "# Locale $${test_lang} not supported, skipping tests..." 
; \
+               printf "# Locale '%s' not supported, skipping tests...\n" 
"$${test_lang}" ; \
                continue ; \
            fi ; \
            (for test_item in $(ON_KSH_TEST_LIST) ; do \
-                   [ "$${test_item}" = "$(LIBSHELLSRC)/tests/builtins.sh" -o \
-                     "$${test_item}" = "$(LIBSHELLSRC)/tests/options.sh" -o \
-                     "$${test_item}" = 
"$(LIBSHELLSRC)/tests/sun_solaris_getconf.sh" ] && set +e ; \
+                   [[ "$${test_item}" = "$(LIBSHELLSRC)/tests/builtins.sh" || \
+                      "$${test_item}" = "$(LIBSHELLSRC)/tests/options.sh" || \
+                      "$${test_item}" = 
"$(LIBSHELLSRC)/tests/sun_solaris_getconf.sh" ]] && set +o errexit ; \
                    printf "## Running $(CMDTRANSMACH)/ksh test: LANG='%s' 
script='%s'\n" "$${test_lang}" "$$(basename "$${test_item}")"; \
                     ( \
                        test_output="$$( ( \
@@ -139,6 +139,6 @@
                        ) 2>&1 | while read ; do printf "#\t%s\n" "$${REPLY}" ; 
done | tee /dev/stderr)" ; \
                        [ "$$(print "$${test_output}" | egrep 'passed \[ .* 
tests 0 errors \]')" != "" ] || (print "##> test failed" ; exit 1) \
                     ) ; \
-                   set -e ; \
+                   set -o errexit ; \
            done) ; \
        done)
Index: src/cmd/ksh/sparcv9/Makefile
===================================================================
--- src/cmd/ksh/sparcv9/Makefile        (revision 718)
+++ src/cmd/ksh/sparcv9/Makefile        (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 # Specify the MACH we currently use to build and test ksh
 CMDTRANSMACH= $(MACH64)
 
@@ -40,7 +38,7 @@
        (print "# Installing 64bit $(PROG) aliases $(USRKSH_ALIAS_LIST)" ; \
        set -o xtrace ; \
        for i in $(USRKSH_ALIAS_LIST) ; do \
-               [ $$i = $(PROG) ] && continue ; \
+               [[ "$$i" = "$(PROG)" ]] && continue ; \
                $(RM) "$(ROOTBIN64)/$$i" ; \
                $(LN) "$(ROOTBIN64)/$(PROG)" "$(ROOTBIN64)/$$i" ; \
        done \
Index: src/cmd/ksh/sparc/Makefile
===================================================================
--- src/cmd/ksh/sparc/Makefile  (revision 718)
+++ src/cmd/ksh/sparc/Makefile  (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 # Specify the MACH we currently use to build and test ksh
 CMDTRANSMACH= $(MACH)
 
@@ -39,7 +37,7 @@
        (print "# Installing 32bit $(PROG) aliases $(USRKSH_ALIAS_LIST)" ; \
        set -o xtrace ; \
        for i in $(USRKSH_ALIAS_LIST) ; do \
-               [ $$i = $(PROG) ] && continue ; \
+               [[ "$$i" = "$(PROG)" ]] && continue ; \
                $(RM) "$(ROOTBIN32)/$$i" ; \
                $(LN) "$(ROOTBIN32)/$(PROG)" "$(ROOTBIN32)/$$i" ; \
        done \
Index: src/cmd/ksh/i386/Makefile
===================================================================
--- src/cmd/ksh/i386/Makefile   (revision 718)
+++ src/cmd/ksh/i386/Makefile   (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 # Specify the MACH we currently use to build and test ksh
 CMDTRANSMACH= $(MACH)
 
@@ -39,7 +37,7 @@
        (print "# Installing 32bit $(PROG) aliases $(USRKSH_ALIAS_LIST)" ; \
        set -o xtrace ; \
        for i in $(USRKSH_ALIAS_LIST) ; do \
-               [ $$i = $(PROG) ] && continue ; \
+               [[ "$$i" = "$(PROG)" ]] && continue ; \
                $(RM) "$(ROOTBIN32)/$$i" ; \
                $(LN) "$(ROOTBIN32)/$(PROG)" "$(ROOTBIN32)/$$i" ; \
        done \
Index: src/cmd/ksh/Makefile.com
===================================================================
--- src/cmd/ksh/Makefile.com    (revision 732)
+++ src/cmd/ksh/Makefile.com    (working copy)
@@ -25,6 +25,8 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
+SHELL=/usr/bin/ksh
+
 include ../Makefile.ksh93switch
 
 $(BINKSH_IS_KSH93)PROG= ksh
@@ -34,23 +36,12 @@
 $(BINKSH_ISNOT_KSH93)USRKSH_ALIAS_LIST=ksh93 rksh93
 
 OBJECTS= \
-       sh/pmain.o
+       pmain.o
 
-# We are storing the object files into subdirs, following the
-# object file layout of usr/src/lib/libshell/Makefile.com
-# (this Makefile is basically a cut-down version of that
-# Makefile).
-OBJDIRS =  \
-       sh
-PICSDIRS= $(OBJDIRS)
-mkpicdirs:
-       @mkdir -p $(PICSDIRS)
-       
-LIBSHELLSRC=../../../lib/libshell/common
+LIBSHELLSRC=../../../lib/libshell/common/sh
 
-SRCS=           $(OBJECTS:%.o=$(LIBSHELLSRC)/%.c)
+SRCS=  $(OBJECTS:%.o=$(LIBSHELLSRC)/%.c)
 
-
 GROUP= bin
 LDLIBS += -lshell
 
@@ -112,7 +103,7 @@
        $(COMPILE.c) -c -o $@ $<
        $(POST_PROCESS_O)
 
-all:   mkpicdirs .WAIT $(PROG)
+all:   $(PROG)
 
 # We explicitly delete "ksh" and "ksh93" to catch changes in
 # BUILD_KSH93_AS_BINKSH (see Makefile.ksh93switch)
@@ -124,15 +115,15 @@
        $(LINK.c) $(OBJECTS) -o $@ $(LDLIBS)
        $(POST_PROCESS)
        (set +o errexit ; \
-       [ ! -x ksh93 ] && ln $(PROG) ksh93 ; \
-       [ ! -x ksh   ] && ln $(PROG) ksh   ; \
+       [[ ! -x ksh93 ]] && ln $(PROG) ksh93 ; \
+       [[ ! -x ksh   ]] && ln $(PROG) ksh   ; \
        true \
        )
 
 # We explicitly delete "ksh" and "ksh93" to catch changes in
 # BUILD_KSH93_AS_BINKSH (see Makefile.ksh93switch)
 clean:
-       $(RM) $(OBJECTS)
+       $(RM) $(OBJECTS) ; \
        $(RM) ksh ksh93
 
 #
Index: src/cmd/ksh/amd64/Makefile
===================================================================
--- src/cmd/ksh/amd64/Makefile  (revision 718)
+++ src/cmd/ksh/amd64/Makefile  (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 # Specify the MACH we currently use to build and test ksh
 CMDTRANSMACH= $(MACH64)
 
@@ -40,7 +38,7 @@
        (print "# Installing 64bit $(PROG) aliases $(USRKSH_ALIAS_LIST)" ; \
        set -o xtrace ; \
        for i in $(USRKSH_ALIAS_LIST) ; do \
-               [ $$i = $(PROG) ] && continue ; \
+               [[ "$$i" = "$(PROG)" ]] && continue ; \
                $(RM) "$(ROOTBIN64)/$$i" ; \
                $(LN) "$(ROOTBIN64)/$(PROG)" "$(ROOTBIN64)/$$i" ; \
        done \
Index: src/cmd/ksh/Makefile
===================================================================
--- src/cmd/ksh/Makefile        (revision 718)
+++ src/cmd/ksh/Makefile        (working copy)
@@ -67,7 +67,7 @@
        $(LN) $(ISAEXEC) $(ROOTPROG)
        @(set -o xtrace ; \
        for i in $(USRKSH_ALIAS_LIST) ; do \
-               [ $$i = $(PROG) ] && continue ; \
+               [[ "$$i" = "$(PROG)" ]] && continue ; \
                $(RM) "$(ROOTBIN)/$$i" ; \
                $(LN) "$(ROOTBIN)/$(PROG)" "$(ROOTBIN)/$$i" ; \
        done \
Index: src/cmd/nsadmin/Makefile
===================================================================
--- src/cmd/nsadmin/Makefile    (revision 694)
+++ src/cmd/nsadmin/Makefile    (working copy)
@@ -56,4 +56,3 @@
        $(RM) .login
 
 lint:
-
Index: src/cmd/ast/msgcc/Makefile
===================================================================
--- src/cmd/ast/msgcc/Makefile  (revision 718)
+++ src/cmd/ast/msgcc/Makefile  (working copy)
@@ -67,26 +67,14 @@
        ) >msgcc ; \
        chmod a+rx msgcc
 
-# install rules for AST tools/commands
 ROOTCMDDIR=$(ROOT)/usr/ast/bin
 
-# main
 PROG= msgcvt msggen msgget msgcpp msgcc
 
 all: $(PROG)
 
 install: all $(ROOTCMD)
 
-clean:
+clean lint:
 
-lint:
-
-# cleanup
-CLOBBERFILES += \
-       msgcc \
-       msgcvt \
-       msggen \
-       msgget \
-       msgcpp
-
 include ../../Makefile.targ
Index: src/lib/libshell/Makefile.demo
===================================================================
--- src/lib/libshell/Makefile.demo      (revision 720)
+++ src/lib/libshell/Makefile.demo      (working copy)
@@ -71,5 +71,4 @@
                $(ROOTDEMODIRBASE)/fun \
                $(ROOTDEMODIRBASE)/tests
 
-install: \
-       $(ROOTDEMODIRS) .WAIT $(ROOTDEMOFILES)
+install: $(ROOTDEMODIRS) .WAIT $(ROOTDEMOFILES)
Index: src/lib/libshell/sparcv9/Makefile
===================================================================
--- src/lib/libshell/sparcv9/Makefile   (revision 718)
+++ src/lib/libshell/sparcv9/Makefile   (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 include ../Makefile.com
 include ../../Makefile.lib.64
 
Index: src/lib/libshell/sparc/Makefile
===================================================================
--- src/lib/libshell/sparc/Makefile     (revision 698)
+++ src/lib/libshell/sparc/Makefile     (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 include ../Makefile.com
 
 install: all $(ROOTLIBS) $(ROOTLINKS) $(ROOTLINT)
Index: src/lib/libshell/i386/Makefile
===================================================================
--- src/lib/libshell/i386/Makefile      (revision 698)
+++ src/lib/libshell/i386/Makefile      (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 include ../Makefile.com
 
 install: all $(ROOTLIBS) $(ROOTLINKS) $(ROOTLINT)
Index: src/lib/libshell/Makefile.com
===================================================================
--- src/lib/libshell/Makefile.com       (revision 718)
+++ src/lib/libshell/Makefile.com       (working copy)
@@ -25,6 +25,8 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
+SHELL=/usr/bin/ksh
+
 LIBRARY=       libshell.a
 VERS=          .1
 
@@ -119,7 +121,7 @@
 
 LIBS =         $(DYNLIB) $(LINTLIB)
 
-# load dll, socket, nsl and secdb libraries on demand
+# load dll, socket, and secdb libraries on demand
 LDLIBS += \
        -lcmd \
        -z lazyload -ldll -z nolazyload \
@@ -137,7 +139,7 @@
 # case - it MUST come as the last element but future changes in -D options
 # may then cause silent breakage in the AST sources because the last -D
 # option specified overrides previous -D options so we prefer the current
-# way to expliclity list each single flag.
+# way to explicitly list each single flag.
 CPPFLAGS = \
        $(DTEXTDOM) $(DTS_ERRNO) \
        -Isrc/cmd/ksh93 \
Index: src/lib/libshell/amd64/Makefile
===================================================================
--- src/lib/libshell/amd64/Makefile     (revision 718)
+++ src/lib/libshell/amd64/Makefile     (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 include ../Makefile.com
 include ../../Makefile.lib.64
 
Index: src/lib/libshell/Makefile
===================================================================
--- src/lib/libshell/Makefile   (revision 718)
+++ src/lib/libshell/Makefile   (working copy)
@@ -45,7 +45,6 @@
 
 LIBRARY=       libshell.a
 
-# definitions for install_h target
 HDRS= \
        history.h \
        nval.h \
Index: src/lib/Makefile.astmsg
===================================================================
--- src/lib/Makefile.astmsg     (revision 718)
+++ src/lib/Makefile.astmsg     (working copy)
@@ -26,13 +26,13 @@
 #
 
 #
-# Temporary control building AST l10n catalogs until all build machines
-# have been updated.
+# Temporarily control building AST l10n catalogs until all build
+# machines have been updated.
 #
 
 # Should we build AST l10n catalogs ?
-# this can be overridden via
-# % export ON_BUILD_AST_L10N_CATALOGS=1 # at build time
+# This can be overridden at build time via:
+# $ export ON_BUILD_KSH93_AS_BINKSH=1
 ON_BUILD_AST_L10N_CATALOGS=0
 
 DO_BUILD_AST_CATALOGS_1=       $(ON_BUILD_AST_L10N_CATALOGS:0=$(POUND_SIGN))
@@ -41,7 +41,7 @@
 DONT_BUILD_AST_CATALOGS=       $(DONT_BUILD_AST_CATALOGS_1:0=)
 
 #
-# l10n mesage catalog generation for AST libraries
+# l10n message catalog generation for AST libraries
 #
 
 MSGLIBNAME= $(LIBRARY:.a=)
@@ -57,11 +57,11 @@
 ASTMSGS=  $(OBJECTS:%.o=msgs/%.mso)
 
 # cpp defines needed by msgcc
-i386_ASTMSGCCFLAGS=    -D_STDC_C99 -D__STDC__ -D__BUILTIN_VA_ARG_INCR -D__i386
-amd64_ASTMSGCCFLAGS=   -D_STDC_C99 -D__STDC__ -D__BUILTIN_VA_ARG_INCR -D__amd64
-sparc_ASTMSGCCFLAGS=   -D_STDC_C99 -D__STDC__ -D__BUILTIN_VA_ARG_INCR -D__sparc
-sparcv9_ASTMSGCCFLAGS= -D_STDC_C99 -D__STDC__ -D__BUILTIN_VA_ARG_INCR 
-D__sparcv9
-ASTMSGCCFLAGS=$($(TARGETMACH)_ASTMSGCCFLAGS)
+i386_ASTMSGCCFLAGS=    -D__i386
+amd64_ASTMSGCCFLAGS=   -D__amd64
+sparc_ASTMSGCCFLAGS=   -D__sparc
+sparcv9_ASTMSGCCFLAGS= -D__sparcv9
+ASTMSGCCFLAGS= -D_STDC_C99 -D__STDC__ -D__BUILTIN_VA_ARG_INCR 
$($(TARGETMACH)_ASTMSGCCFLAGS)
 
 msgs/%.mso: ../common/%.c
        @mkdir -p "$$(dirname "$@")" ; \
@@ -78,7 +78,7 @@
 
 $(ASTMSGCATALOG): $(MSGLIBNAME).msg
        @$(RM) "$(ASTMSGCATALOG)" ; \
-       cat "$(MSGLIBNAME).msg" | sed 's/^$$translation msgcc .*//' | gencat 
"$@" -
+       sed 's/^$$translation msgcc .*//' <"$(MSGLIBNAME).msg" | gencat "$@" -
 
 # Main catalog target
 $(DO_BUILD_AST_CATALOGS)_msg: $(ASTMSGCATALOG)
Index: src/lib/libcmd/sparcv9/Makefile
===================================================================
--- src/lib/libcmd/sparcv9/Makefile     (revision 698)
+++ src/lib/libcmd/sparcv9/Makefile     (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 include ../Makefile.com
 include ../../Makefile.lib.64
 
Index: src/lib/libcmd/sparc/Makefile
===================================================================
--- src/lib/libcmd/sparc/Makefile       (revision 698)
+++ src/lib/libcmd/sparc/Makefile       (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 include ../Makefile.com
 
 all: $(LIBS)
Index: src/lib/libcmd/i386/Makefile
===================================================================
--- src/lib/libcmd/i386/Makefile        (revision 698)
+++ src/lib/libcmd/i386/Makefile        (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 include ../Makefile.com
 
 all: $(LIBS)
Index: src/lib/libcmd/Makefile.com
===================================================================
--- src/lib/libcmd/Makefile.com (revision 718)
+++ src/lib/libcmd/Makefile.com (working copy)
@@ -25,6 +25,8 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
+SHELL=/usr/bin/ksh
+
 LIBRARY =      libcmd.a
 VERS =         .1
 OBJECTS =      \
@@ -95,7 +97,7 @@
 # case - it MUST come as the last element but future changes in -D options
 # may then cause silent breakage in the AST sources because the last -D
 # option specified overrides previous -D options so we prefer the current
-# way to expliclity list each single flag.
+# way to explicitly list each single flag.
 # Notes:
 #   - "-D_BLD_DLL" comes from ${mam_cc_DLL} in Mamfile
 CPPFLAGS = \
@@ -128,8 +130,6 @@
 
 .KEEP_STATE:
 
-# libcmd API is completely private and therefore does not need
-# to call "fnamecheck" here
 all: $(LIBS) 
 
 #
Index: src/lib/libcmd/amd64/Makefile
===================================================================
--- src/lib/libcmd/amd64/Makefile       (revision 698)
+++ src/lib/libcmd/amd64/Makefile       (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 include ../Makefile.com
 include ../../Makefile.lib.64
 
Index: src/lib/libcmd/Makefile
===================================================================
--- src/lib/libcmd/Makefile     (revision 718)
+++ src/lib/libcmd/Makefile     (working copy)
@@ -43,13 +43,10 @@
 
 all clean clobber install lint _msg: $(SUBDIRS)
 
-# definitions for install_h target
 HDRS=  \
        cmd.h \
        cmdext.h
 
-# libast/libcmd headers are partially generated and depend on
-# the architecture (e.g. "i386", "sparc", ...)
 HDRDIR32= $(MACH)/include/ast
 HDRDIR64= $(MACH64)/include/ast
 include ../Makefile.astinclude
Index: src/lib/Makefile
===================================================================
--- src/lib/Makefile    (revision 731)
+++ src/lib/Makefile    (working copy)
@@ -512,7 +512,7 @@
 libsasl:       libgss libsocket pkcs11 libmd
 sasl_plugins:  pkcs11 libgss libsocket libsasl
 libsctp:       libsocket
-libshell:      libast libcmd libdll libsocket libnsl libsecdb
+libshell:      libast libcmd libdll libsocket libsecdb
 libsip:                libmd5
 libsocket:     libnsl
 libldap5:      libsasl libsocket libnsl libmd
Index: src/lib/libdll/sparcv9/Makefile
===================================================================
--- src/lib/libdll/sparcv9/Makefile     (revision 718)
+++ src/lib/libdll/sparcv9/Makefile     (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 # Fetch minor version from RELEASE, e.g. "10" for "5.10", "11" for "5.11" etc.
 GETRELEASEMINOR = /usr/bin/ksh -c 'x=$(RELEASE) ; print 
"$${x$(POUND_SIGN)$(POUND_SIGN)*.}"'
 
Index: src/lib/libdll/sparc/Makefile
===================================================================
--- src/lib/libdll/sparc/Makefile       (revision 698)
+++ src/lib/libdll/sparc/Makefile       (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 # Fetch minor version from RELEASE, e.g. "10" for "5.10", "11" for "5.11" etc.
 GETRELEASEMINOR = /usr/bin/ksh -c 'x=$(RELEASE) ; print 
"$${x$(POUND_SIGN)$(POUND_SIGN)*.}"'
 
Index: src/lib/libdll/i386/Makefile
===================================================================
--- src/lib/libdll/i386/Makefile        (revision 698)
+++ src/lib/libdll/i386/Makefile        (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 # Fetch minor version from RELEASE, e.g. "10" for "5.10", "11" for "5.11" etc.
 GETRELEASEMINOR = /usr/bin/ksh -c 'x=$(RELEASE) ; print 
"$${x$(POUND_SIGN)$(POUND_SIGN)*.}"'
 
Index: src/lib/libdll/Makefile.com
===================================================================
--- src/lib/libdll/Makefile.com (revision 718)
+++ src/lib/libdll/Makefile.com (working copy)
@@ -25,6 +25,8 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
+SHELL=/usr/bin/ksh
+
 LIBRARY=       libdll.a
 VERS=          .1
 
@@ -59,7 +61,7 @@
 # case - it MUST come as the last element but future changes in -D options
 # may then cause silent breakage in the AST sources because the last -D
 # option specified overrides previous -D options so we prefer the current
-# way to expliclity list each single flag.
+# way to explicitly list each single flag.
 # Notes:
 #   - "-D_BLD_DLL" comes from ${mam_cc_DLL} in Mamfile
 CPPFLAGS = \
Index: src/lib/libdll/amd64/Makefile
===================================================================
--- src/lib/libdll/amd64/Makefile       (revision 718)
+++ src/lib/libdll/amd64/Makefile       (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 # Fetch minor version from RELEASE, e.g. "10" for "5.10", "11" for "5.11" etc.
 GETRELEASEMINOR = /usr/bin/ksh -c 'x=$(RELEASE) ; print 
"$${x$(POUND_SIGN)$(POUND_SIGN)*.}"'
 
Index: src/lib/libdll/Makefile
===================================================================
--- src/lib/libdll/Makefile     (revision 718)
+++ src/lib/libdll/Makefile     (working copy)
@@ -45,7 +45,6 @@
 
 LIBRARY=       libdll.a
 
-# definitions for install_h target
 HDRS= \
        dlldefs.h
 
Index: src/lib/libast/sparcv9/Makefile
===================================================================
--- src/lib/libast/sparcv9/Makefile     (revision 718)
+++ src/lib/libast/sparcv9/Makefile     (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 # Fetch minor version from RELEASE, e.g. "10" for "5.10", "11" for "5.11" etc.
 GETRELEASEMINOR = /usr/bin/ksh -c 'x=$(RELEASE) ; print 
"$${x$(POUND_SIGN)$(POUND_SIGN)*.}"'
 
Index: src/lib/libast/sparc/Makefile
===================================================================
--- src/lib/libast/sparc/Makefile       (revision 718)
+++ src/lib/libast/sparc/Makefile       (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 # Fetch minor version from RELEASE, e.g. "10" for "5.10", "11" for "5.11" etc.
 GETRELEASEMINOR = /usr/bin/ksh -c 'x=$(RELEASE) ; print 
"$${x$(POUND_SIGN)$(POUND_SIGN)*.}"'
 
Index: src/lib/libast/i386/Makefile
===================================================================
--- src/lib/libast/i386/Makefile        (revision 718)
+++ src/lib/libast/i386/Makefile        (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 # Fetch minor version from RELEASE, e.g. "10" for "5.10", "11" for "5.11" etc.
 GETRELEASEMINOR = /usr/bin/ksh -c 'x=$(RELEASE) ; print 
"$${x$(POUND_SIGN)$(POUND_SIGN)*.}"'
 
Index: src/lib/libast/Makefile.com
===================================================================
--- src/lib/libast/Makefile.com (revision 718)
+++ src/lib/libast/Makefile.com (working copy)
@@ -25,6 +25,8 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
+SHELL=/usr/bin/ksh
+
 LIBRARY=       libast.a
 VERS=          .1
 
Index: src/lib/libast/amd64/Makefile
===================================================================
--- src/lib/libast/amd64/Makefile       (revision 718)
+++ src/lib/libast/amd64/Makefile       (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 # Fetch minor version from RELEASE, e.g. "10" for "5.10", "11" for "5.11" etc.
 GETRELEASEMINOR = /usr/bin/ksh -c 'x=$(RELEASE) ; print 
"$${x$(POUND_SIGN)$(POUND_SIGN)*.}"'
 
Index: src/lib/libast/Makefile
===================================================================
--- src/lib/libast/Makefile     (revision 718)
+++ src/lib/libast/Makefile     (working copy)
@@ -45,7 +45,6 @@
 
 LIBRARY=       libast.a
 
-# definitions for install_h target
 HDRS=  \
        align.h \
        ast_botch.h \
Index: src/lib/libpp/sparc/Makefile
===================================================================
--- src/lib/libpp/sparc/Makefile        (revision 698)
+++ src/lib/libpp/sparc/Makefile        (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 include ../Makefile.com
 
 install: all $(ROOTLIBS) $(ROOTLINKS) $(ROOTLINT)
Index: src/lib/libpp/i386/Makefile
===================================================================
--- src/lib/libpp/i386/Makefile (revision 698)
+++ src/lib/libpp/i386/Makefile (working copy)
@@ -25,8 +25,6 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
-SHELL=/usr/bin/ksh
-
 include ../Makefile.com
 
 install: all $(ROOTLIBS) $(ROOTLINKS) $(ROOTLINT)
Index: src/lib/libpp/Makefile.com
===================================================================
--- src/lib/libpp/Makefile.com  (revision 718)
+++ src/lib/libpp/Makefile.com  (working copy)
@@ -25,6 +25,8 @@
 # ident        "%Z%%M% %I%     %E% SMI"
 #
 
+SHELL=/usr/bin/ksh
+
 LIBRARY=       libpp.a
 VERS=          .1
 
@@ -77,7 +79,7 @@
 # case - it MUST come as the last element but future changes in -D options
 # may then cause silent breakage in the AST sources because the last -D
 # option specified overrides previous -D options so we prefer the current
-# way to expliclity list each single flag.
+# way to explicitly list each single flag.
 CPPFLAGS = \
        $(DTEXTDOM) $(DTS_ERRNO) \
        -I. \
@@ -97,7 +99,7 @@
        -xstrconst
 
 # silence common libast&co. warning about |#pragma prototyped|
-# (upstream is working on getting everything execept the
+# (upstream is working on getting everything except the
 # E_UNRECOGNIZED_PRAGMA_IGNORED stuff fixed)
 CERRWARN += -erroff=E_UNRECOGNIZED_PRAGMA_IGNORED
 pics/ppcall.o          := CERRWARN += -erroff=E_INTEGER_OVERFLOW_DETECTED
Index: src/lib/libpp/Makefile
===================================================================
--- src/lib/libpp/Makefile      (revision 718)
+++ src/lib/libpp/Makefile      (working copy)
@@ -45,7 +45,6 @@
 
 LIBRARY=       libpp.a
 
-# definitions for install_h target
 HDRS= \
        pp.h \
        ppkey.h

Reply via email to