]> git.lizzy.rs Git - plan9front.git/blob - sys/src/boot/pc/mkfile
9boot a20 gate
[plan9front.git] / sys / src / boot / pc / mkfile
1 objtype=386
2 </$objtype/mkfile
3 BIN=/386
4
5 TARG=9bootiso 9bootpxe 9bootfat mbr pbs
6
7 HFILES=mem.h fns.h x16.h
8
9 all: 9bootiso 9bootpxe 9bootfat mbr pbs
10         
11 clean:V:
12         rm -rf $TARG *.$O test.* tmp
13
14 liso.$O: l.s
15         $AS -DISO -o $target l.s
16
17 lpxe.$O: l.s
18         $AS -DPXE -o $target l.s
19
20 lfat.$O: l.s
21         $AS -DFAT -o $target l.s
22
23 %.$O:   %.s
24         $AS $stem.s
25
26 %.$O:   %.c
27         $CC $CFLAGS $stem.c
28
29 %.$O:   $HFILES
30
31 mbr:    mbr.$O
32         $LD -o $target -H3 -T0x0600 -l $prereq
33         ls -l $target
34
35 pbs:    pbs.$O
36         $LD -o $target -H3 -T0x0600 -l $prereq
37         ls -l $target
38
39 9boot&: l%.$O %.$O sub.$O a20.$O
40         $LD -o $target -H3 -T0x7c00 -l $prereq
41         ls -l $target
42
43 install:V:
44         for (i in $TARG)
45                 mk $MKFLAGS $i.install
46
47 %.install:V:    $BIN/%
48         
49
50 $BIN/%: %
51         cp $stem $BIN/$stem
52
53
54 test.iso: 9bootiso
55         rm -fr tmp $target
56         mkdir tmp
57         touch tmp/foo
58         touch tmp/bar
59         touch tmp/baz
60         touch tmp/386aaa
61         mkdir tmp/386
62         cp 386/9bootiso tmp/386
63         cp /386/9pc tmp/386
64         cp /386/9pcload tmp/386
65         cp /386/9pcf tmp/386
66         mkdir tmp/cfg
67         echo 'bootfile=/386/9pc' >tmp/cfg/plan9.ini
68         disk/mk9660 -B 386/9bootiso -p /sys/lib/sysconfig/proto/allproto -s tmp $target
69         rm -fr tmp
70
71 test.dsk: 9bootfat mbr pbs 
72         rm -fr tmp $target
73         mkdir tmp
74         cp 9bootfat tmp
75         mkdir tmp/386
76         cp /386/9pc tmp/386
77         echo 'bootfile=/386/9pc' >tmp/plan9.ini
78         dd -if /dev/zero -of $target -bs 512 -count 32768
79         disk/partfs -m /n/$target $target
80         disk=/n/$target/sdXX
81         disk/mbr -m mbr $disk/data
82         disk/fdisk -baw $disk/data
83         disk/prep -bw -a 9fat $disk/plan9
84         disk/format -b pbs -d -r 2 $disk/9fat
85         s=$target.dos
86         m=/n/$target.9fat
87         rm -f /srv/$s
88         dossrv -f $disk/9fat $s
89         mount -c /srv/$s $m
90         @{cd tmp; tar c .} | @{cd $m; tar xv}
91         unmount $m
92         rm -f /srv/$s
93         unmount /n/$target
94         rm -fr tmp