#!/bin/bash umask 022 #------- # Verify the correct architecture #------- mach=$( uname -m ) if [ "$mach" != "i386" -a "$mach" != "i486" -a "$mach" != "i586" -a "$mach" != "i686" ]; then echo "Unrecognized architecture: $mach" exit 1 fi #------- # Get version number #------- version=$( pwd | gawk -F- '{print $NF;}' ) #------- # Set up various options #------- deftrace="-DCDINIT_TRACE=1" defarch="-DCDINIT_ARCH_INTEL32" defname='-DCDINIT_ARCH_NAME="intel32"' defvers="-DCDINIT_VERSION="'"'"${version}"'"' comopt="-O2 -Wall -fno-builtin -fomit-frame-pointer" asmopt="-static -nostdlib" #------- # Compile the three stages of cdinit. #------- echo "===============================================================================" echo gcc $comopt -S -o cdinit1-intel32.s $defarch $defname $defvers cdinit1.c gcc $comopt -S -o cdinit1-intel32.s $defarch $defname $defvers cdinit1.c || exit 1 echo gcc $asmopt -o cdinit1-intel32 cdinit1-intel32.s gcc $asmopt -o cdinit1-intel32 cdinit1-intel32.s || exit 1 echo strip cdinit1-intel32 strip cdinit1-intel32 || exit 1 echo chmod 755 cdinit1-intel32 chmod 755 cdinit1-intel32 || exit 1 echo ls -ld cdinit1-intel32 ls -ld cdinit1-intel32 || exit 1 echo "===============================================================================" echo gcc $comopt -S -o cdinit2-intel32.s $defarch $defname $defvers cdinit2.c gcc $comopt -S -o cdinit2-intel32.s $defarch $defname $defvers cdinit2.c || exit 1 echo gcc $asmopt -o cdinit2-intel32 cdinit2-intel32.s gcc $asmopt -o cdinit2-intel32 cdinit2-intel32.s || exit 1 echo strip cdinit2-intel32 strip cdinit2-intel32 || exit 1 echo chmod 755 cdinit2-intel32 chmod 755 cdinit2-intel32 || exit 1 echo ls -ld cdinit2-intel32 ls -ld cdinit2-intel32 || exit 1 echo "===============================================================================" echo gcc $comopt -S -o cdinit3-intel32.s $defarch $defname $defvers cdinit3.c gcc $comopt -S -o cdinit3-intel32.s $defarch $defname $defvers cdinit3.c || exit 1 echo gcc $asmopt -o cdinit3-intel32 cdinit3-intel32.s gcc $asmopt -o cdinit3-intel32 cdinit3-intel32.s || exit 1 echo strip cdinit3-intel32 strip cdinit3-intel32 || exit 1 echo chmod 755 cdinit3-intel32 chmod 755 cdinit3-intel32 || exit 1 echo ls -ld cdinit3-intel32 ls -ld cdinit3-intel32 || exit 1 echo "===============================================================================" exit 0