1</$objtype/mkfile 2 3TARG=snoopy 4PROTOS=\ 5 aoe\ 6 aoeata\ 7 aoecmd\ 8 arp\ 9 bootp\ 10 cec\ 11 dhcp\ 12 dns\ 13 dump\ 14 eap\ 15 eap_identity\ 16 eapol\ 17 eapol_key\ 18 ether\ 19 gre\ 20 hdlc\ 21 icmp6\ 22 icmp\ 23 il\ 24 ip6\ 25 ip\ 26 ninep\ 27 ospf\ 28 ppp\ 29 ppp_ccp\ 30 ppp_chap\ 31 ppp_ipcp\ 32 ppp_lcp\ 33 pppoe_disc\ 34 pppoe_sess\ 35 rarp\ 36 rc4keydesc\ 37 rtcp\ 38 rtp\ 39 tcp\ 40 ttls\ 41 udp\ 42 43POBJS=${PROTOS:%=%.$O} 44 45OFILES= main.$O\ 46 y.tab.$O\ 47 protos.$O\ 48 convM2DNS.$O\ 49 $POBJS 50 51HFILES=dat.h\ 52 protos.h\ 53 y.tab.h\ 54 55YFILES=filter.y 56 57BIN=/$objtype/bin 58UPDATE=\ 59 mkfile\ 60 dat.h\ 61 main.c\ 62 ${POBJS:%.$O=%.c}\ 63 64CLEANFILES=protos.c protos.h 65 66</sys/src/cmd/mkone 67 68convM2DNS.$O: /sys/src/cmd/ndb/convM2DNS.c 69 $CC $CFLAGS /sys/src/cmd/ndb/convM2DNS.c 70 71protos.h:D: mkfile 72 { 73 for(i in $PROTOS) 74 echo extern Proto $i';' 75 } >$target 76 77protos.c:D: mkfile 78 { 79 echo '#include <u.h>' 80 echo '#include <libc.h>' 81 echo '#include "dat.h"' 82 echo '#include "protos.h"' 83 echo 'Proto *protos[] =' 84 echo '{' 85 for(i in $PROTOS) 86 echo ' &'$i',' 87 echo ' 0,' 88 echo '};' 89 } >$target 90