#!/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
# 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
do
case $1 in
-L*)
- DST="$DST `echo $1|sed -e 's/^-L//'`"
+ DST="$DST `echo "$1"|sed -e 's/^-L//'`"
;;
-*)
OPT="$OPT $1"
llib="llib-l$LLIB"
fi
-if test ! -f $llib ; then
- if ( make $llib )
+if test ! -f "$llib" ; then
+ if ( make "$llib" )
then
:
else
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"
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