]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - misc/makellib
ncurses 6.2 - patch 20210911
[ncurses.git] / misc / makellib
index 4a571d60b26340a3e6a2714129a9df04649d2a2a..fb3d3b7a92fda0122cafe21718d8625ea764c588 100755 (executable)
@@ -1,24 +1,36 @@
 #!/bin/sh
-################################################################################
-# Copyright 1996,1997 by Thomas E. Dickey <dickey@clark.net>                   #
-# All Rights Reserved.                                                         #
-#                                                                              #
-# Permission to use, copy, modify, and distribute this software and its        #
-# documentation for any purpose and without fee is hereby granted, provided    #
-# that the above copyright notice appear in all copies and that both that      #
-# copyright notice and this permission notice appear in supporting             #
-# documentation, and that the name of the above listed copyright holder(s) not #
-# be used in advertising or publicity pertaining to distribution of the        #
-# software without specific, written prior permission. THE ABOVE LISTED        #
-# COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,    #
-# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT #
-# SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY SPECIAL,        #
-# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM   #
-# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE   #
-# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR    #
-# PERFORMANCE OF THIS SOFTWARE.                                                #
-################################################################################
-# $Id: makellib,v 1.6 1997/03/02 01:28:36 tom Exp $
+##############################################################################
+# Copyright 2020,2021 Thomas E. Dickey                                       #
+# Copyright 1998,2000 Free Software Foundation, Inc.                         #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996,1997,2000
+#
+# $Id: makellib,v 1.11 2021/09/04 15:49:38 tom Exp $
 # System-dependent wrapper for 'lint' that creates a lint-library via the
 # following method (XXX is the name of the library):
 #      a.  If the file llib-lXXX doesn't exist, create it using the make-rule
@@ -33,7 +45,7 @@
 #      a.  On a few systems, you'll have to manually-edit the llib-lXXX file
 #          to get a usable lint-library (not all C-preprocessors work well).
 #      b.  The system's lint utility won't recognize -lXXX as a lint-library
-#          (Use tdlint as a wrapper; it's designed for this).
+#          (Use tdlint as a wrapper; it is designed for this).
 #
 # Parameters:
 #      $1 = library name
@@ -56,7 +68,7 @@ while test $# != 0
 do
        case $1 in
        -L*)
-               DST="$DST `echo $1|sed -e 's/^-L//'`"
+               DST="$DST `echo "$1"|sed -e 's/^-L//'`"
                ;;
        -*)
                OPT="$OPT $1"
@@ -82,8 +94,8 @@ then
        llib="llib-l$LLIB"
 fi
 
-if test ! -f $llib ; then
-       if ( make $llib )
+if test ! -f "$llib" ; then
+       if ( make "$llib" )
        then
                :
        else
@@ -91,34 +103,39 @@ if test ! -f $llib ; then
        fi
 fi
 
-rm -f $llib.ln $llib.c
+rm -f "$llib.ln" "$llib.c"
 TARGET=$LLIB
 
 case "$ARCH" in
 AIX)
        CREATE="-uvxo$LLIB -Nn4000"
        TARGET=$llib.c
-       ln $llib $TARGET
+       ln "$llib" "$TARGET"
        ;;
 Solaris)
        CREATE="-C$llib"
        TARGET=$llib.c
-       ln $llib $TARGET
+       ln "$llib" "$TARGET"
+       ;;
+FreeBSD)
+       CREATE="-g -z -C$LLIB"
+       TARGET=$llib.c
+       ln "$llib" "$TARGET"
        ;;
 CLIX)
        CREATE="-DLINTLIBRARY -vxo$LLIB"
        TARGET=$llib.c
-       ln $llib $TARGET
+       ln "$llib" "$TARGET"
        ;;
 IRIX*)
        CREATE="-DLINTLIBRARY -vxyo$LLIB"
        TARGET=$llib.c
-       ln $llib $TARGET
+       ln "$llib" "$TARGET"
        ;;
 UNIX_SV)
        CREATE="-DLINTLIBRARY -vxyo$LLIB"
        TARGET=$llib.c
-       ln $llib $TARGET
+       ln "$llib" "$TARGET"
        ;;
 *)
        echo "Sorry.  I do not know how to build a lint-library for $ARCH"
@@ -128,24 +145,24 @@ esac
 echo OPT    "$OPT"
 echo TARGET "$TARGET"
 echo LIBNAME "$llib"
-if ( lint $CREATE $OPT $TARGET )
+if ( lint "$CREATE" "$OPT" "$TARGET" )
 then
-       if test -f $llib.ln
+       if test -f "$llib.ln"
        then
                for p in $HOME/lib $HOME/lib/$ARCH $HOME/lib/$ARCH/lint
                do
-                       if test ! -d $p
+                       if test ! -d "$p"
                        then
-                               mkdir $p
+                               mkdir "$p"
                        fi
                done
                for p in $DST
                do
-                       cp $llib.ln $p/
+                       cp "$llib.ln" "$p/"
                done
-               rm -f $llib.ln
+               rm -f "$llib.ln"
        fi
 fi
 if test "x$TARGET" = "x$llib.c" ; then
-       rm -f $TARGET
+       rm -f "$TARGET"
 fi