]> git.lizzy.rs Git - plan9front.git/blob - sys/src/9/kw/mkfile
devfs: fix locking and ignore undocumented "fsdev:\n" configuration signature
[plan9front.git] / sys / src / 9 / kw / mkfile
1 CONF=plug
2 CONFLIST=plug
3
4 # allegedly u-boot uses the bottom 8MB (up to 0x800000)
5 # so avoid that
6 loadaddr=0x60800000
7
8 objtype=arm
9 </$objtype/mkfile
10 p=9
11
12 DEVS=`{rc ../port/mkdevlist $CONF}
13
14 PORT=\
15         alarm.$O\
16         alloc.$O\
17         allocb.$O\
18         auth.$O\
19         cache.$O\
20         chan.$O\
21         dev.$O\
22         edf.$O\
23         fault.$O\
24         mul64fract.$O\
25         rebootcmd.$O\
26         page.$O\
27         parse.$O\
28         pgrp.$O\
29         portclock.$O\
30         print.$O\
31         proc.$O\
32         qio.$O\
33         qlock.$O\
34         segment.$O\
35         syscallfmt.$O\
36         sysfile.$O\
37         sysproc.$O\
38         taslock.$O\
39         tod.$O\
40         xalloc.$O\
41         random.$O\
42         userinit.$O\
43
44 OBJ=\
45         l.$O\
46         lexception.$O\
47         lproc.$O\
48         arch.$O\
49         cga.$O\
50         clock.$O\
51         fpi.$O\
52         fpiarm.$O\
53         fpimem.$O\
54         main.$O\
55         mmu.$O\
56         trap.$O\
57         syscall.$O\
58         $CONF.root.$O\
59         $CONF.rootc.$O\
60         $DEVS\
61         $PORT\
62
63 # HFILES=
64
65 LIB=\
66         /$objtype/lib/libmemlayer.a\
67         /$objtype/lib/libmemdraw.a\
68         /$objtype/lib/libdraw.a\
69         /$objtype/lib/libip.a\
70         /$objtype/lib/libsec.a\
71         /$objtype/lib/libc.a\
72         /$objtype/lib/libmp.a\
73         /$objtype/lib/libfis.a\
74
75 9:V: $p$CONF s$p$CONF
76
77 $p$CONF:DQ:     $OBJ $CONF.$O $LIB
78         echo '# linking raw kernel'
79         $LD -o $target -H0 -R4096 -T$loadaddr -l $prereq
80
81 s$p$CONF:DQ:    $OBJ $CONF.$O $LIB
82         echo '# linking kernel with symbols'
83         $LD -o $target -R4096 -T$loadaddr -l $prereq
84         size $target
85
86 $p$CONF.gz:D:   $p$CONF
87         gzip -9 <$p$CONF >$target
88
89 $OBJ: $HFILES
90
91 install:V: /$objtype/$p$CONF
92
93 install-in-flash:V: /$objtype/$p$CONF paqdisk
94         plug.flash.cfg
95         echo erase all >/dev/flash/kernelctl
96         cp /$objtype/$p$CONF /dev/flash/kernel
97         echo erase all >/dev/flash/plan9ctl
98         cp paqdisk /dev/flash/plan9
99
100 /$objtype/$p$CONF:D: $p$CONF s$p$CONF
101         cp -x $p$CONF s$p$CONF /$objtype &
102         { 9fs lookout &&  cp -x $p$CONF s$p$CONF /n/lookout/$objtype } &
103 #       { 9fs piestand && cp -x $p$CONF s$p$CONF /n/piestand/$objtype } &
104         wait
105         touch $target
106
107 paqdisk:
108         rm -fr armpaq
109         mkdir armpaq
110         cd armpaq
111         disk/mkfs -d . /sys/lib/sysconfig/proto/armpaqproto
112         mkpaqfs -o ../paqdisk
113         cd ..
114
115 <../boot/bootmkfile
116 <../port/portmkfile
117 <|../port/mkbootrules $CONF
118
119 # CFLAGS= -I. -I../port $CFLAGS # hack to compile private sysproc.c (e.g.)
120
121 arch.$O clock.$O fpiarm.$O main.$O mmu.$O screen.$O sdscsi.$O syscall.$O \
122         trap.$O: /$objtype/include/ureg.h
123 arch.$O syscall.$O main.$O: /sys/include/tos.h
124 archkw.$O devether.$O ether1116.$O ethermii.$O: \
125         ../port/ethermii.h ../port/etherif.h ../port/netif.h
126 archkw.$O devflash.$O flashkw.$O: ../port/flashif.h
127 fpi.$O fpiarm.$O fpimem.$O: fpi.h
128 l.$O lexception.$O lproc.$O mmu.$O rebootcode.$O: arm.s arm.h mem.h
129 main.$O:        errstr.h rebootcode.i
130 mouse.$O:       screen.h
131 devusb.$O:      ../port/usb.h
132 usbehci.$O usbohci.$O usbuhci.$O: ../port/usb.h usbehci.h
133
134 init9.$O:       ../omap/init9.s
135         $AS ../omap/init9.s
136
137 initcode.out:           init9.$O initcode.$O /$objtype/lib/libc.a
138         $LD -l -R1 -s -o $target $prereq
139
140 rebootcode.out:         rebootcode.$O
141         $LD -l -R4 -T0x100 -s -o $target $prereq -lc
142
143 plug.clean:
144         rm -rf $p$CONF s$p$CONF armpaq paqdisk $CONF.c boot$CONF.c ../boot/libboot.a5