2004-11-10 01:47:44 +01:00
|
|
|
#!/bin/sh
|
2006-01-25 16:28:43 +01:00
|
|
|
# $Id: makeme,v 1.3 2006/01/25 15:28:43 joerg Exp $
|
2004-11-10 01:47:44 +01:00
|
|
|
# This hack won't work for every trick you can play with /usr/msrc.
|
|
|
|
# If the Distfile sends different files to the various platforms, or
|
|
|
|
# builds a file on the meta source machine with a special tool or
|
|
|
|
# database you are toast. {N.B. mk's lib, rdist, mkcmd have issues.}
|
|
|
|
|
|
|
|
# if we have a local.defs read it for umask, PATH, and such.
|
|
|
|
[ -f /usr/local/lib/distrib/local.defs ] && . /usr/local/lib/distrib/local.defs
|
|
|
|
|
|
|
|
# It does work for the tools that build the meta source system itself,
|
|
|
|
# of course (mkcmd, distrib, rcsvg, and the like). You can use it to
|
|
|
|
# process the Make.host file through m4 for localhost.
|
|
|
|
#
|
|
|
|
# Check for the mandatory Make.host file...
|
|
|
|
if [ ! -f Make.host ] ; then
|
|
|
|
echo 1>&2 "$0: not in a meta source directory, no Make.host"
|
|
|
|
exit 126
|
|
|
|
fi
|
|
|
|
|
|
|
|
# distrib: default column headers: %HOST SHORTHOST HOSTTYPE HOSTOS HASSRC
|
|
|
|
if [ -z "$HOST" ] ; then
|
|
|
|
HOST=`uname -n || hostname`
|
|
|
|
fi
|
|
|
|
if [ -z "$SHORTHOST" ] ; then
|
|
|
|
SHORTHOST=`expr $HOST : '\([^.]*\)\..*' \| $HOST`
|
|
|
|
fi
|
|
|
|
if [ -z "$HOSTTYPE" ] ; then
|
|
|
|
case `uname -sr || uname -a` in
|
|
|
|
HP-UX*7.*)
|
|
|
|
HOSTTYPE="HPUX9" ;;
|
|
|
|
HP-UX*8.*)
|
|
|
|
HOSTTYPE="HPUX9" ;;
|
|
|
|
HP-UX*9.*)
|
|
|
|
HOSTTYPE="HPUX9" ;;
|
|
|
|
HP-UX*10.*)
|
|
|
|
HOSTTYPE="HPUX10" ;;
|
|
|
|
*NEXT*)
|
|
|
|
HOSTTYPE="NEXT2" ;;
|
|
|
|
*Solaris*|*[Ss]un[Oo][Ss]*)
|
|
|
|
HOSTTYPE="SUN5" ;;
|
2006-01-25 16:28:43 +01:00
|
|
|
Darwin*|*BSD*|DragonFly*)
|
2004-11-10 01:47:44 +01:00
|
|
|
HOSTTYPE="FREEBSD" ;;
|
|
|
|
BSDI*)
|
|
|
|
HOSTTYPE="BSDI" ;;
|
|
|
|
Linux*|LINUX*)
|
|
|
|
HOSTTYPE="LINUX" ;;
|
|
|
|
*)
|
|
|
|
echo 1>&2 "$0: set HOSTTYPE and export it by hand."
|
|
|
|
exit 2 ;;
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
if [ -z "$HOSTOS" ] ; then
|
|
|
|
HOSTOS=`uname -r | sed -e 's/^[A-Za-z .]*//' -e 's/-[A-Za-z]*//' -e 's/\.\([0-9][0-9]\)/\1/g' -e 'y/./0/' -e 's/^0*//'`
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Now fake the Distrib @file@ expansion and hope the rest works out.
|
|
|
|
# Some make's mistakenly think you must call fork() to get a SIG-child...
|
|
|
|
# so they barf out errors for this -- they should learn UNIX.
|
|
|
|
m4 - Make.host <<! |make -f - ${1:+"$@"}
|
|
|
|
define(\`HOST',\`$HOST')dnl
|
|
|
|
define(\`SHORTHOST',\`$SHORTHOST')dnl
|
|
|
|
define(\`HOSTTYPE',\`$HOSTTYPE')dnl
|
|
|
|
define(\`MYTYPE',\`$HOSTTYPE')dnl
|
|
|
|
define(\`HOSTOS',\`$HOSTOS')dnl
|
|
|
|
define(\`MYOS',\`$HOSTOS')dnl
|
|
|
|
define(\`HASSRC',\`yes')dnl
|
|
|
|
define(\`MSRC_BOOT',\`${MSRC_BOOT-yes}')dnl
|
|
|
|
!
|