# Directories common to all architectures.# Build in order:# - critical libraries used by the limbo compiler# - the limbo compiler (used to build some subsequent libraries)# - the remaining libraries# - commands# - utilities EMUDIRS=\ lib9\ libbio\ libmp\ libsec\ libmath\ utils/yacc\ limbo\ libinterp\ libkeyring\ libdraw\ libprefab\ libtk\ libfreetype\ libmemdraw\ libmemlayer\ libdynld\ asm\ utils/data2c\ utils/ndate\ emu\ KERNEL_DIRS=\ os\ os/boot/pc\ # mkconfig is included at this point to allow it to override#the preceding declarations (particularly KERNEL_DIRS) if need be <mkconfig DIRS=\ $EMUDIRS\ appl\ foo:QV: echo mk all, clean, install, installall or nuke all:V: all-$HOSTMODELclean:V: clean-$HOSTMODELinstall:V: install-$HOSTMODELinstallall:V: installall-$HOSTMODELemu:V: emu/all-$HOSTMODELemuinstall:V: emu/install-$HOSTMODELemuclean:V: emu/clean-$HOSTMODELemunuke:V: emu/nuke-$HOSTMODELkernel:V: kernel/all-$HOSTMODELkernelall:V: kernel/all-$HOSTMODELkernelclean:V: kernel/clean-$HOSTMODELkernelinstall:V: kernel/install-$HOSTMODELkernelinstallall:V: kernel/installall-$HOSTMODELkernelnuke:V: kernel/nuke-$HOSTMODELnuke:V: nuke-$HOSTMODEL cleandist:V: clean rm -f $ROOT/$OBJDIR/lib/lib*.a nukedist:V: nuke rm -f $ROOT/$OBJDIR/bin/*.exe rm -f $ROOT/$OBJDIR/lib/lib*.a &-Posix:QV: for j in $DIRS utils tools do echo "(cd $j; mk $MKFLAGS $stem)" (cd $j; mk $MKFLAGS $stem) || exit 1 done &-Nt:QV: for (j in $DIRS utils tools) { echo '@{builtin cd' $j '; mk $MKFLAGS $stem}' @{builtin cd $j; mk.exe $MKFLAGS $stem } } &-Inferno:QV: for (j in $DIRS utils) { echo '@{builtin cd' $j '; mk $MKFLAGS $stem}' @{builtin cd $j; mk $MKFLAGS $stem } } &-Plan9:QV: for (j in $DIRS utils) { echo '@{builtin cd' $j '; mk $MKFLAGS $stem}' @{builtin cd $j; mk $MKFLAGS $stem } } emu/&-Posix:QV: for j in $EMUDIRS do echo "(cd $j; mk $MKFLAGS $stem)" (cd $j; mk $MKFLAGS $stem) || exit 1 done emu/&-Nt:QV: for (j in $EMUDIRS) { echo '@{builtin cd' $j '; mk $MKFLAGS $stem}' @{builtin cd $j; mk $MKFLAGS $stem } } emu/&-Plan9:QV: for (j in $EMUDIRS) { echo '@{builtin cd' $j '; mk $MKFLAGS $stem}' @{builtin cd $j; mk $MKFLAGS $stem } } kernel/&-Posix:QV: for j in $KERNEL_DIRS do echo "(cd $j; mk $MKFLAGS $stem)" (cd $j; mk $MKFLAGS $stem) || exit 1 done kernel/&-Nt:QV: for (j in $KERNEL_DIRS) { echo '@{builtin cd' $j '; mk $MKFLAGS $stem}' @{builtin cd $j; mk $MKFLAGS $stem } } kernel/&-Inferno:QV: for (j in $KERNEL_DIRS) { echo '@{builtin cd' $j '; mk $MKFLAGS $stem}' @{builtin cd $j; mk $MKFLAGS $stem } } kernel/&-Plan9:QV: for (j in $KERNEL_DIRS) { echo '@{builtin cd' $j '; mk $MKFLAGS $stem}' @{builtin cd $j; mk $MKFLAGS $stem } } # Convenience targets Hp-% hp-%:V: mk 'SYSHOST=Hp' 'OBJTYPE=s800' $stem Inferno-% inferno-% Inferno-386-% inferno-386-%:V: mk 'SYSHOST=Inferno' 'OBJTYPE=386' $stem Inferno-arm-% inferno-arm-%:V: mk 'SYSHOST=Inferno' 'OBJTYPE=arm' $stem Plan9-% plan9-%:V: mk 'SYSHOST=Plan9' 'OBJTYPE=386' $stem Irix-% irix-%:V: mk 'SYSHOST=Irix' 'OBJTYPE=mips' $stem Linux-% linux-%:V: mk 'SYSHOST=Linux' 'OBJTYPE=386' $stem NetBSD-% netbsd-%:V: mk 'SYSHOST=NetBSD' 'OBJTYPE=386' $stem Nt-% nt-% Win95-% win95-%:V: mk 'SYSHOST=Nt' 'OBJTYPE=386' $stem Solaris-% solaris-%:V: mk 'SYSHOST=Solaris' 'OBJTYPE=sparc' $stem
# Directories common to all architectures.
# Build in order:
# - critical libraries used by the limbo compiler
# - the limbo compiler (used to build some subsequent libraries)
# - the remaining libraries
# - commands
# - utilities
EMUDIRS=\
lib9\
libbio\
libmp\
libsec\
libmath\
utils/yacc\
limbo\
libinterp\
libkeyring\
libdraw\
libprefab\
libtk\
libfreetype\
libmemdraw\
libmemlayer\
libdynld\
asm\
utils/data2c\
utils/ndate\
emu\
KERNEL_DIRS=\
os\
os/boot/pc\
# mkconfig is included at this point to allow it to override
#the preceding declarations (particularly KERNEL_DIRS) if need be
<mkconfig
DIRS=\
$EMUDIRS\
appl\
foo:QV:
echo mk all, clean, install, installall or nuke
all:V: all-$HOSTMODEL
clean:V: clean-$HOSTMODEL
install:V: install-$HOSTMODEL
installall:V: installall-$HOSTMODEL
emu:V: emu/all-$HOSTMODEL
emuinstall:V: emu/install-$HOSTMODEL
emuclean:V: emu/clean-$HOSTMODEL
emunuke:V: emu/nuke-$HOSTMODEL
kernel:V: kernel/all-$HOSTMODEL
kernelall:V: kernel/all-$HOSTMODEL
kernelclean:V: kernel/clean-$HOSTMODEL
kernelinstall:V: kernel/install-$HOSTMODEL
kernelinstallall:V: kernel/installall-$HOSTMODEL
kernelnuke:V: kernel/nuke-$HOSTMODEL
nuke:V: nuke-$HOSTMODEL
cleandist:V: clean
rm -f $ROOT/$OBJDIR/lib/lib*.a
nukedist:V: nuke
rm -f $ROOT/$OBJDIR/bin/*.exe
rm -f $ROOT/$OBJDIR/lib/lib*.a
&-Posix:QV:
for j in $DIRS utils tools
do
echo "(cd $j; mk $MKFLAGS $stem)"
(cd $j; mk $MKFLAGS $stem) || exit 1
done
&-Nt:QV:
for (j in $DIRS utils tools)
{
echo '@{builtin cd' $j '; mk $MKFLAGS $stem}'
@{builtin cd $j; mk.exe $MKFLAGS $stem }
}
&-Inferno:QV:
for (j in $DIRS utils)
{
echo '@{builtin cd' $j '; mk $MKFLAGS $stem}'
@{builtin cd $j; mk $MKFLAGS $stem }
}
&-Plan9:QV:
for (j in $DIRS utils)
{
echo '@{builtin cd' $j '; mk $MKFLAGS $stem}'
@{builtin cd $j; mk $MKFLAGS $stem }
}
emu/&-Posix:QV:
for j in $EMUDIRS
do
echo "(cd $j; mk $MKFLAGS $stem)"
(cd $j; mk $MKFLAGS $stem) || exit 1
done
emu/&-Nt:QV:
for (j in $EMUDIRS)
{
echo '@{builtin cd' $j '; mk $MKFLAGS $stem}'
@{builtin cd $j; mk $MKFLAGS $stem }
}
emu/&-Plan9:QV:
for (j in $EMUDIRS)
{
echo '@{builtin cd' $j '; mk $MKFLAGS $stem}'
@{builtin cd $j; mk $MKFLAGS $stem }
}
kernel/&-Posix:QV:
for j in $KERNEL_DIRS
do
echo "(cd $j; mk $MKFLAGS $stem)"
(cd $j; mk $MKFLAGS $stem) || exit 1
done
kernel/&-Nt:QV:
for (j in $KERNEL_DIRS)
{
echo '@{builtin cd' $j '; mk $MKFLAGS $stem}'
@{builtin cd $j; mk $MKFLAGS $stem }
}
kernel/&-Inferno:QV:
for (j in $KERNEL_DIRS)
{
echo '@{builtin cd' $j '; mk $MKFLAGS $stem}'
@{builtin cd $j; mk $MKFLAGS $stem }
}
kernel/&-Plan9:QV:
for (j in $KERNEL_DIRS)
{
echo '@{builtin cd' $j '; mk $MKFLAGS $stem}'
@{builtin cd $j; mk $MKFLAGS $stem }
}
# Convenience targets
Hp-% hp-%:V:
mk 'SYSHOST=Hp' 'OBJTYPE=s800' $stem
Inferno-% inferno-% Inferno-386-% inferno-386-%:V:
mk 'SYSHOST=Inferno' 'OBJTYPE=386' $stem
Inferno-arm-% inferno-arm-%:V:
mk 'SYSHOST=Inferno' 'OBJTYPE=arm' $stem
Plan9-% plan9-%:V:
mk 'SYSHOST=Plan9' 'OBJTYPE=386' $stem
Irix-% irix-%:V:
mk 'SYSHOST=Irix' 'OBJTYPE=mips' $stem
Linux-% linux-%:V:
mk 'SYSHOST=Linux' 'OBJTYPE=386' $stem
NetBSD-% netbsd-%:V:
mk 'SYSHOST=NetBSD' 'OBJTYPE=386' $stem
Nt-% nt-% Win95-% win95-%:V:
mk 'SYSHOST=Nt' 'OBJTYPE=386' $stem
Solaris-% solaris-%:V:
mk 'SYSHOST=Solaris' 'OBJTYPE=sparc' $stem