summaryrefslogtreecommitdiff
path: root/sys/src/boot/pc/mkfile
blob: 16d0c20637667bba54a1e28dff8b98835bcff8d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
objtype=386
</$objtype/mkfile
BIN=/386

TARG=9bootiso 9bootpxe 9bootfat mbr pbs

HFILES=mem.h fns.h x16.h

all: 9bootiso 9bootpxe 9bootfat 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

%.$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 -T0x0600 -l $prereq
	ls -l $target

9boot&:	l%.$O %.$O sub.$O a20.$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
	rm -fr tmp $target
	mkdir tmp
	mkdir tmp/386
	cp 9bootiso tmp/386
	cp /386/9pccd tmp/386
	mkdir tmp/cfg
	echo 'bootfile=/386/9pccd' >tmp/cfg/plan9.ini
	disk/mk9660 -B 386/9bootiso -p /sys/lib/sysconfig/proto/allproto -s tmp $target
	rm -fr tmp

test.dsk: 9bootfat mbr pbs 
	rm -fr tmp $target
	mkdir tmp
	cp 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