# Copyright (c) 1993 The Regents of the University of California.
# All rights reserved.
#
-# %sccs.include.redist.sh%
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. All advertising materials mentioning features or use of this software
+# must display the following acknowledgement:
+# This product includes software developed by the University of
+# California, Berkeley and its contributors.
+# 4. Neither the name of the University nor the names of its contributors
+# may be used to endorse or promote products derived from this software
+# without specific prior written permission.
#
-# @(#)makesendmail 8.19 (Berkeley) %G%
+# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# @(#)makesendmail 8.26 (Berkeley) 6/20/95
#
#
# multiple architectures and Makefiles.
#
+if [ "x${1-""}" = "x-m" ]
+then
+ # show Makefile name only
+ mflag=1
+else
+ mflag=""
+fi
+
+#
+# Do heuristic guesses for machines that do not have uname
+#
if [ -d /LocalApps -a ! -f /bin/uname -a ! -f /usr/bin/uname ]
then
# probably a NeXT box
arch=NeXT
os=Mach
rel=`strings /mach | grep 'Mach.*:' | sed -e 's/.* Mach //' -e 's/:.*//'`
-else
+elif [ -f /usr/sony/bin/machine -a -f /etc/osversion ]
+then
+ # probably a Sony NEWS 4.x
+ os=NEWS-OS
+ rel=`awk '{ print $3}' /etc/osversion`
+ arch=`/usr/sony/bin/machine`
+elif [ -d /usr/omron -a -f /bin/luna ]
+then
+ # probably a Omron LUNA
+ os=LUNA
+ if [ -f /bin/luna1 ] && /bin/luna1
+ then
+ rel=unios-b
+ arch=luna1
+ elif [ -f /bin/luna2 ] && /bin/luna2
+ then
+ rel=Mach
+ arch=luna2
+ elif [ -f /bin/luna88k ] && /bin/luna88k
+ then
+ rel=Mach
+ arch=luna88k
+ fi
+fi
+
+if [ ! "$arch" -a ! "$os" -a ! "$rel" ]
+then
arch=`uname -m | sed -e 's/ //g'`
os=`uname -s | sed 's/\//-/g'`
rel=`uname -r`
9000/*) arch=`echo $arch | sed -e 's/9000.//' -e 's/..$/xx/'`;;
esac
-# tweak operating system type
+# tweak operating system type and release
case $os
in
DYNIX-ptx) os=PTX;;
Paragon*) os=Paragon;;
+ HP-UX) rel=`echo $rel | sed -e 's/^[^.]*\.0*//'`;;
+ AIX) rel=`uname -v`;;
+ BSD-386) os=BSD-OS;;
esac
-# tweak operating system release
-case $os
-in
- HP-UX) rbase=`echo $rel | sed -e 's/^[^.]*\.0*//' -e 's/\..*//'`;;
- *) rbase=`echo $rel | sed -e 's/\..*//'`
-esac
+# get "base part" of operating system release
+rbase=`echo $rel | sed -e 's/\..*//'`
# heuristic tweaks to clean up names
if [ "$os" = "unix" ]
fi
fi
+if [ -d /usr/nec -a "$os" = "UNIX_System_V" ]
+then
+ os=EWS-UX_V
+fi
+
# see if there is a "user suffix" specified
if [ "${SENDMAIL_SUFFIX-}x" = "x" ]
then
sfx=".${SENDMAIL_SUFFIX}"
fi
-echo "Making sendmail with os=$os, rel=$rel, rbase=$rbase, arch=$arch, sfx=$sfx"
+echo "Configuration: os=$os, rel=$rel, rbase=$rbase, arch=$arch, sfx=$sfx"
# now try to find a reasonable object directory
if [ -r obj.$os.$rel.$arch$sfx ]; then
echo "Cannot determine how to support $arch.$os.$rel"
exit 1
fi
+ if [ "$mflag" ]
+ then
+ echo "Will run in virgin $obj using $makefile"
+ exit 0
+ fi
echo "Creating $obj using $makefile"
mkdir $obj
(cd $obj; ln -s ../*.[ch158] ../sendmail.hf .; ln -s ../Makefiles/$makefile Makefile)
+ echo "Making dependencies in $obj"
+ (cd $obj; ${MAKE-make} depend)
fi
+
+if [ "$mflag" ]
+then
+ makefile=`ls -l $obj/Makefile | sed 's/.* //'`
+ if [ -z "$makefile" ]
+ then
+ echo "ERROR: $obj exists but has no Makefile"
+ exit 1
+ fi
+ case $makefile
+ in
+ ../Makefiles/*)
+ makefile=`echo $makefile | sed 's/...Makefiles.//'`
+ echo "Will run in existing $obj using $makefile"
+ ;;
+
+ *)
+ echo "Will run in existing $obj using custom $makefile"
+ ;;
+ esac
+ exit 0
+fi
+
echo "Making in $obj"
cd $obj
if [ $# = 0 ]