<../../../mkconfigobjtype=386SYSTARG=$OSTARGOBJTYPE=386BIN=$ROOT/Inferno/$OBJTYPELIBDIR=$ROOT/Inferno/$OBJTYPE/libLIBDIRS=../libflate $ROOT/libkernLIBS=\ libflate\ libkern\ LIBFILES=${LIBS:%=$LIBDIR/%.a}<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE BIN=$ROOT/Inferno/$OBJTYPE TARG=\ 9load\ 9pxeload\ 9loadlite\ 9loaddebug\ 9loadlitedebug\ ld.com\ mbr\ pbs\ pbslba\ CORE=\ alarm.$O\ cga.$O\ clock.$O\ console.$O\ dosboot.$O\ devfloppy.$O\ dma.$O\ fs.$O\ ilock.$O\ kbd.$O\ kfsboot.$O\ print.$O\ queue.$O\ trap.$O\ getcallerpc.$O\ LOAD=\ 8250.$O\ apm.$O\ boot.$O\ devpccard.$O\ conf.$O\ devi82365.$O\ devsd.$O\ inflate.$O\ load.$O\ memory.$O\ part.$O\ pci.$O\ sdata.$O\ sdmylex.$O\ sd53c8xx.$O\ sdscsi.$O\ ETHER=\ bootp.$O\ eipfmt.$O\ ether.$O\ ether2114x.$O\ ether2000.$O\ ether589.$O\ ether79c970.$O\ ether8003.$O\ ether8139.$O\ ether8169.$O\ ether82557.$O\ ether83815.$O\ ether8390.$O\ etherec2t.$O\ etherelnk3.$O\ etherigbe.$O\ ethermii.$O\ etherrhine.$O\ BCOM=\ bcom.$O\ bootld.$O\ devsd.$O\ memory.$O\ part.$O\ pci.$O\ sdata.$O\ sdscsi.$O\ HFILES=\ lib.h\ mem.h\ dat.h\ fns.h\ io.h\ CFLAGS=-FVw -I. -I$ROOT/Inferno/$OBJTYPE/include -I$ROOT/include all:V: $TARG 9load: l.$O $CORE $LOAD $ETHER $LIBFILES $LD -o $target -H3 -T0x80010000 -l $prereq ls -l $target 9pxeload: l.$O $CORE $LOAD $ETHER $LIBFILES $LD -o $target -H3 -T0x80007C00 -l $prereq ls -l $target 9loaddebug: l.$O $CORE $LOAD $ETHER $LIBFILES $LD -o $target -T0x80010000 -l $prereq ls -l $target # acid $target # map({"text", 0x80010000, 0x80090000, 0x00000020}) 9loadlite: l.$O $CORE $LOAD noether.$O $LIBFILES $LD -o $target -H3 -T0x80010000 -l $prereq ls -l $target 9loadlitedebug: l.$O $CORE $LOAD noether.$O $LIBFILES $LD -o $target -T0x80010000 -l $prereq ls -l $target # acid $target # map({"text", 0x80010000, 0x80090000, 0x00000020}) ld.com: ld.$O $CORE $BCOM $LIBFILES $LD -o $target -H3 -T0x80080100 -l $prereq ls -l $target lddebug: ld.$O $CORE $BCOM $LIBFILES $LD -o $target -T0x80080100 -l $prereq ls -l $target # acid $target # map({"text", 0x80080100, 0x800B0000, 0x00000020}) ld.$O: l.s $AS -DDOTCOM -o $target l.s lpxe.$O: l.s $AS -DPXE -o $target l.s %.$O: %.s $AS $stem.s %.$O: %.c $CC $CFLAGS $stem.c %.$O: $HFILES l.$O pbs.$O pbslba.$O mbr.$O: x16.h clock.$O floppy.$O trap.$O: ureg.hbcom.$O conf.$O devfloppy.$O devsd.$O dosboot.$O fs.$O \ kfsboot.$O load.$O part.$O: dosfs.h fs.h kfs.hether.$O etherelnk3.$O: etherif.hdevsd.$O part.$O sdata.$O sdscsi.$O: sd.hbootp.$O: ip.h mbr: mbr.$O $LD -o $target -H3 -T0x0600 -l $prereq ls -l $target pbs&: pbs%.$O $LD -o $target -H3 -T0x7C00 -l $prereq ls -l $target pbs&.debug: pbs%.$O $LD -o $target -T0x7C00 -l $prereq ls -l $target # acid $target # map({"text", 0x7C00, 0x7E00, 0x00000020}) # added to cause libflate to be made automatically: $ROOT/Inferno/$OBJTYPE/lib/lib%.a:Q: all-$SHELLTYPE # rc-lib%.a nt-lib%.a:VQ: echo '@{builtin cd ' $ROOT/lib$stem ';mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE install}' @{builtin cd $ROOT/lib$stem ;mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE install} sh-lib%.a:VQ: echo "(cd $ROOT/lib$stem ; mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE install)" (cd $ROOT/lib$stem ; mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE install) clean: rm -f *.[$OS] [$OS].out y.tab.? y.debug y.output $TARG 9loaddebug lddebug install:V: for (i in $TARG) mk $MKFLAGS $i.install %.install:V: $BIN/% $BIN/%: % cp $stem $BIN/$stem UPDATE=\ mkfile\ ${CORE:%.$O=%.c}\ ${LOAD:%.$O=%.c}\ ${BCOM:%.$O=%.c}\ ${ETHER:%.$O=%.c}\ $HFILES\ l.s\ noether.c\ pbs.s\ pbslba.s\ mbr.s\ x16.h\ ureg.h\ dosfs.h\ fs.h\ kfs.h\ etherif.h\ sd.h\ ip.h\ devfloppy.h\ ${TARG:%=/386/%}\ update:V: update $UPDATEFLAGS $UPDATE %-sh:QV: for i in $LIBDIRS do echo "(cd $i ; mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE $stem)" (cd $i; mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE $stem) done %-rc %-nt:QV: for (i in $LIBDIRS) { echo '@{cd $i ; mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE $stem}' @{cd $i; mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE $stem} } nuke:V: clean nuke-$SHELLTYPE
<../../../mkconfig
objtype=386
SYSTARG=$OSTARG
OBJTYPE=386
BIN=$ROOT/Inferno/$OBJTYPE
LIBDIR=$ROOT/Inferno/$OBJTYPE/lib
LIBDIRS=../libflate $ROOT/libkern
LIBS=\
libflate\
libkern\
LIBFILES=${LIBS:%=$LIBDIR/%.a}
<$ROOT/mkfiles/mkfile-$SYSTARG-$OBJTYPE
BIN=$ROOT/Inferno/$OBJTYPE
TARG=\
9load\
9pxeload\
9loadlite\
9loaddebug\
9loadlitedebug\
ld.com\
mbr\
pbs\
pbslba\
CORE=\
alarm.$O\
cga.$O\
clock.$O\
console.$O\
dosboot.$O\
devfloppy.$O\
dma.$O\
fs.$O\
ilock.$O\
kbd.$O\
kfsboot.$O\
print.$O\
queue.$O\
trap.$O\
getcallerpc.$O\
LOAD=\
8250.$O\
apm.$O\
boot.$O\
devpccard.$O\
conf.$O\
devi82365.$O\
devsd.$O\
inflate.$O\
load.$O\
memory.$O\
part.$O\
pci.$O\
sdata.$O\
sdmylex.$O\
sd53c8xx.$O\
sdscsi.$O\
ETHER=\
bootp.$O\
eipfmt.$O\
ether.$O\
ether2114x.$O\
ether2000.$O\
ether589.$O\
ether79c970.$O\
ether8003.$O\
ether8139.$O\
ether8169.$O\
ether82557.$O\
ether83815.$O\
ether8390.$O\
etherec2t.$O\
etherelnk3.$O\
etherigbe.$O\
ethermii.$O\
etherrhine.$O\
BCOM=\
bcom.$O\
bootld.$O\
devsd.$O\
memory.$O\
part.$O\
pci.$O\
sdata.$O\
sdscsi.$O\
HFILES=\
lib.h\
mem.h\
dat.h\
fns.h\
io.h\
CFLAGS=-FVw -I. -I$ROOT/Inferno/$OBJTYPE/include -I$ROOT/include
all:V: $TARG
9load: l.$O $CORE $LOAD $ETHER $LIBFILES
$LD -o $target -H3 -T0x80010000 -l $prereq
ls -l $target
9pxeload: l.$O $CORE $LOAD $ETHER $LIBFILES
$LD -o $target -H3 -T0x80007C00 -l $prereq
ls -l $target
9loaddebug: l.$O $CORE $LOAD $ETHER $LIBFILES
$LD -o $target -T0x80010000 -l $prereq
ls -l $target
# acid $target
# map({"text", 0x80010000, 0x80090000, 0x00000020})
9loadlite: l.$O $CORE $LOAD noether.$O $LIBFILES
$LD -o $target -H3 -T0x80010000 -l $prereq
ls -l $target
9loadlitedebug: l.$O $CORE $LOAD noether.$O $LIBFILES
$LD -o $target -T0x80010000 -l $prereq
ls -l $target
# acid $target
# map({"text", 0x80010000, 0x80090000, 0x00000020})
ld.com: ld.$O $CORE $BCOM $LIBFILES
$LD -o $target -H3 -T0x80080100 -l $prereq
ls -l $target
lddebug: ld.$O $CORE $BCOM $LIBFILES
$LD -o $target -T0x80080100 -l $prereq
ls -l $target
# acid $target
# map({"text", 0x80080100, 0x800B0000, 0x00000020})
ld.$O: l.s
$AS -DDOTCOM -o $target l.s
lpxe.$O: l.s
$AS -DPXE -o $target l.s
%.$O: %.s
$AS $stem.s
%.$O: %.c
$CC $CFLAGS $stem.c
%.$O: $HFILES
l.$O pbs.$O pbslba.$O mbr.$O: x16.h
clock.$O floppy.$O trap.$O: ureg.h
bcom.$O conf.$O devfloppy.$O devsd.$O dosboot.$O fs.$O \
kfsboot.$O load.$O part.$O: dosfs.h fs.h kfs.h
ether.$O etherelnk3.$O: etherif.h
devsd.$O part.$O sdata.$O sdscsi.$O: sd.h
bootp.$O: ip.h
mbr: mbr.$O
$LD -o $target -H3 -T0x0600 -l $prereq
ls -l $target
pbs&: pbs%.$O
$LD -o $target -H3 -T0x7C00 -l $prereq
ls -l $target
pbs&.debug: pbs%.$O
$LD -o $target -T0x7C00 -l $prereq
ls -l $target
# acid $target
# map({"text", 0x7C00, 0x7E00, 0x00000020})
# added to cause libflate to be made automatically:
$ROOT/Inferno/$OBJTYPE/lib/lib%.a:Q: all-$SHELLTYPE
#
rc-lib%.a nt-lib%.a:VQ:
echo '@{builtin cd ' $ROOT/lib$stem ';mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE install}'
@{builtin cd $ROOT/lib$stem ;mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE install}
sh-lib%.a:VQ:
echo "(cd $ROOT/lib$stem ; mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE install)"
(cd $ROOT/lib$stem ; mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE install)
clean:
rm -f *.[$OS] [$OS].out y.tab.? y.debug y.output $TARG 9loaddebug lddebug
install:V:
for (i in $TARG)
mk $MKFLAGS $i.install
%.install:V: $BIN/%
$BIN/%: %
cp $stem $BIN/$stem
UPDATE=\
mkfile\
${CORE:%.$O=%.c}\
${LOAD:%.$O=%.c}\
${BCOM:%.$O=%.c}\
${ETHER:%.$O=%.c}\
$HFILES\
l.s\
noether.c\
pbs.s\
pbslba.s\
mbr.s\
x16.h\
ureg.h\
dosfs.h\
fs.h\
kfs.h\
etherif.h\
sd.h\
ip.h\
devfloppy.h\
${TARG:%=/386/%}\
update:V:
update $UPDATEFLAGS $UPDATE
%-sh:QV:
for i in $LIBDIRS
do
echo "(cd $i ; mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE $stem)"
(cd $i; mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE $stem)
done
%-rc %-nt:QV:
for (i in $LIBDIRS)
{
echo '@{cd $i ; mk SHELLTYPE=$SHELLTYPE SYSTARG=$SYSTARG OBJTYPE=$OBJTYPE $stem}'
@{cd $i; mk 'SHELLTYPE='$SHELLTYPE 'SYSTARG='$SYSTARG 'OBJTYPE='$OBJTYPE $stem}
}
nuke:V: clean nuke-$SHELLTYPE