106 lines
2.0 KiB
Bash
Executable File
106 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Tool to generate HEADER.html in various directories with
|
|
# context-specific documentation
|
|
#
|
|
# Call as:
|
|
#
|
|
# generate_headers $INPUT_FILE $OUTPUT_DIR $ARCH [firmware]
|
|
|
|
set -e
|
|
|
|
TOPDIR=$(dirname $0)
|
|
if [ "$TOPDIR" = "." ] ; then
|
|
TOPDIR=`pwd`
|
|
fi
|
|
export TOPDIR
|
|
|
|
. ${TOPDIR}/CONF.sh
|
|
. ${TOPDIR}/settings.sh
|
|
. ${TOPDIR}/common.sh
|
|
|
|
CPP="cpp -traditional -undef -P -C -nostdinc"
|
|
|
|
if [ "$1"x = ""x ] ; then
|
|
echo "$0: Need to be told what input file to use!"
|
|
exit 1
|
|
fi
|
|
INPUT=$1
|
|
|
|
if [ "$2"x = ""x ] ; then
|
|
echo "$0: Need to be told which directory to target!"
|
|
exit 1
|
|
fi
|
|
WORK=$2
|
|
|
|
if [ "$3"x = ""x ] ; then
|
|
echo "$0: Need to be told which architecture to target!"
|
|
exit 1
|
|
fi
|
|
INARCH=$3
|
|
|
|
if [ "$4"x = "firmware"x ] ; then
|
|
FIRMWARE="-DFIRMWARE"
|
|
IN_FW=1
|
|
fi
|
|
|
|
if [ "$IN_FW"x = ""x ]; then
|
|
if $(arch_has_firmware $INARCH) ; then
|
|
FIRMWARE="-DARCH_HAS_FIRMWARE"
|
|
else
|
|
FIRMWARE=""
|
|
fi
|
|
fi
|
|
|
|
case $INARCH in
|
|
i386|amd64|arm64)
|
|
EXTRAS="-DISOHYBRID"
|
|
ARCH=$INARCH
|
|
;;
|
|
multi-arch)
|
|
EXTRAS="-DISOHYBRID -DONEonly"
|
|
ARCH="multi"
|
|
;;
|
|
*)
|
|
ARCH=$INARCH
|
|
EXTRAS=""
|
|
;;
|
|
esac
|
|
|
|
case $WORK in
|
|
*daily*)
|
|
# for daily builds, don't mention large sets - we're only
|
|
# making netinsts...
|
|
EXTRAS="$EXTRAS -DONEonly"
|
|
;;
|
|
esac
|
|
|
|
case $ARCH in
|
|
kfreebsd*)
|
|
KERNEL="kFreeBSD"
|
|
;;
|
|
hurd*)
|
|
KERNEL="Hurd"
|
|
;;
|
|
*)
|
|
KERNEL="Linux"
|
|
;;
|
|
esac
|
|
|
|
cd $WORK
|
|
for DIR1 in *-* tar; do
|
|
STYLE=$(echo $DIR1 | sed 's,^.*/,,g;s,-.*$,,g')
|
|
TYPE=$(echo $DIR1 | sed 's,^.*-,,g')
|
|
if [ -d $DIR1 ]; then
|
|
UPDATES=""
|
|
if (ls -l $DIR1 | grep -q update); then
|
|
UPDATES="-DUPDATES"
|
|
fi
|
|
#echo "Found directory $DIR (ARCH $ARCH, STYLE $STYLE, TYPE $TYPE)"
|
|
$CPP -DARCH=${ARCH} -DARCH${ARCH} -DKERNEL=${KERNEL} -DSTYLE${STYLE} -DSTYLE=${STYLE} -DTYPE${TYPE} $UPDATES $EXTRAS $FIRMWARE $INPUT > $DIR1/HEADER.html
|
|
if [ -e $DIR1/.errata.html ]; then
|
|
$CPP -DARCH=${ARCH} -DARCH${ARCH} -DKERNEL=${KERNEL} -DSTYLE${STYLE} -DSTYLE=${STYLE} -DTYPE${TYPE} $UPDATES $EXTRAS $FIRMWARE $DIR1/.errata.html >> $DIR1/HEADER.html
|
|
fi
|
|
fi
|
|
done
|