objtype=386
</$objtype/mkfile
BIN=/386

TARG=9bootiso 9bootpxe 9bootfat 9boothyb mbr pbs

HFILES=mem.h fns.h x16.h

all: 9bootiso 9bootpxe 9bootfat 9boothyb mbr pbs

clean:V:
       rm -rf $TARG *.$O test.* tmp

liso.$O: l.s
       $AS -DISO -o $target l.s

lpxe.$O: l.s
       $AS -DPXE -o $target l.s

lfat.$O: l.s
       $AS -DFAT -o $target l.s

lhyb.$O: l.s
       $AS -DFAT -o $target l.s

hyb.$O: iso.c
       $CC $CFLAGS -DFAT -o $target iso.c

%.$O:   %.s
       $AS $stem.s

%.$O:   %.c
       $CC $CFLAGS $stem.c

%.$O:   $HFILES

mbr:    mbr.$O
       $LD -o $target -H3 -T0x0600 -l $prereq
       ls -l $target

pbs:    pbs.$O
       $LD -o $target -H3 -T0x0800 -l $prereq
       ls -l $target

9boot&: l%.$O %.$O sub.$O apm.$O e820.$O a20.$O uart.$O
       $LD -o $target -H3 -T0x7c00 -l $prereq
       ls -l $target

install:V:
       for (i in $TARG)
               mk $MKFLAGS $i.install

%.install:V:    $BIN/%


$BIN/%: %
       cp $stem $BIN/$stem

test.iso: 9bootiso 9boothyb 9bootfat mbr pbs
       rm -fr tmp $target
       mkdir tmp
       mkdir tmp/386
       mkdir tmp/cfg
       cp 9bootiso tmp/386
       cp /386/9pc tmp/386
       cp /sys/lib/dist/cfg/plan9.ini tmp/cfg/plan9.ini
       echo wait >>tmp/cfg/plan9.ini
       disk/mk9660 -B 386/9bootiso -p <{echo +} -s tmp $target
       @{rfork n
               bind 9boothyb 9bootfat
               dd -if /dev/zero -bs 512 -count 4096 >> $target
               disk/partfs -m /n/partfs $target
               disk=/n/partfs/sdXX
               disk/mbr -m mbr $disk/data
               @{echo a p1 '$-1' '$'
                       echo t p1 FAT16
                       echo A p1
                       echo w
                       echo q} | disk/fdisk -b $disk/data
               disk/format -b pbs -d -r 1 $disk/dos 9bootfat
       }
       rm -fr tmp

test.dsk: 9bootfat mbr pbs test.iso
       rm -fr tmp $target
       mkdir tmp
       cp test.iso 9bootfat tmp
       mkdir tmp/386
       cp /386/9pc tmp/386
       echo 'bootfile=/386/9pc' >tmp/plan9.ini
       dd -if /dev/zero -of $target -bs 512 -count 32768
       disk/partfs -m /n/$target $target
       disk=/n/$target/sdXX
       disk/mbr -m mbr $disk/data
       disk/fdisk -baw $disk/data
       disk/prep -bw -a 9fat $disk/plan9
       disk/format -b pbs -d -r 2 $disk/9fat
       s=$target.dos
       m=/n/$target.9fat
       rm -f /srv/$s
       dossrv -f $disk/9fat $s
       mount -c /srv/$s $m
       @{cd tmp; tar c .} | @{cd $m; tar xv}
       unmount $m
       rm -f /srv/$s
       unmount /n/$target
       rm -fr tmp