1</$objtype/mkfile 2 3TARG = 6in4\ 4 dhcpclient\ 5 ftpd\ 6 gping\ 7 hogports\ 8 httpfile\ 9 iscsisrv\ 10 linklocal\ 11 ping\ 12 pppoe\ 13 pptp\ 14 pptpd\ 15 rarpd\ 16 rexexec\ 17 rip\ 18 rlogind\ 19 telnet\ 20 telnetd\ 21 tftpd\ 22 traceroute\ 23 udpecho\ 24 wol\ 25 26DIRS=ftpfs dhcpd httpd ipconfig ppp imap4d snoopy 27 28BIN=/$objtype/bin/ip 29HFILES=dhcp.h arp.h glob.h icmp.h telnet.h 30 31UPDATE=\ 32 mkfile\ 33 $HFILES\ 34 ${OFILES:%.$O=%.c}\ 35 ${TARG:%=%.c}\ 36 37</sys/src/cmd/mkmany 38 39all:V: $DIRS 40 41$DIRS:V: 42 for (i in $DIRS) @{ 43 echo mk $i 44 cd $i 45 mk all 46 } 47 48install:V: installdirs 49 50installdirs:V: 51 for (i in $DIRS) @{ 52 echo mk $i 53 cd $i 54 mk install 55 } 56 57update:V: 58 update $UPDATEFLAGS $UPDATE 59 for (i in $DIRS) @{ 60 echo update $i 61 cd $i 62 mk 'UPDATEFLAGS='$"UPDATEFLAGS update 63 } 64 65clean:V: 66 for (i in $DIRS) @{ 67 echo clean $i 68 cd $i 69 mk clean 70 } 71 rm -f [$OS].* *.[$OS] 72 73nuke:V: 74 for (i in $DIRS) @{ 75 echo nuke $i 76 cd $i 77 mk nuke 78 } 79 rm -f *.[$OS] y.tab.? y.debug y.output [$OS].$TARG $TARG 80 81$O.fakearp: fakearp.$O getether.$O 82 $LD -o $target $prereq 83 84telnetd.$O: telnet.h 85 86telnet.$O: telnet.h 87 88$O.ftpd: ftpd.$O glob.$O 89 $LD -o $target $prereq 90 91$BIN/telnet:V: $O.telnet 92 cp $prereq /$objtype/bin/telnet 93 94$BIN/snoopy:V: $O.snoopy 95 cp $prereq /$objtype/bin/snoopy 96 97$BIN/sniffer:V: $O.sniffer 98 cp $prereq /$objtype/bin/sniffer 99