ref: c1d40df49550393f3afe53fb6e6d500dfa8eb7a8
dir: /sys/src/cmd/ip/snoopy/mkfile/
</$objtype/mkfile TARG=snoopy PROTOS=\ aoe\ aoeata\ aoecmd\ aoemask\ aoemd\ aoerr\ arp\ bootp\ cec\ dhcp\ dns\ dump\ eap\ eap_identity\ eapol\ eapol_key\ ether\ ipmux\ ippkt\ gre\ hdlc\ icmp6\ icmp\ il\ ip6\ ip\ ninep\ ospf\ ppp\ ppp_ccp\ ppp_chap\ ppp_ipcp\ ppp_lcp\ pppoe_disc\ pppoe_sess\ rarp\ rc4keydesc\ rtcp\ rtp\ tcp\ ttls\ udp\ vlan\ POBJS=${PROTOS:%=%.$O} OFILES= main.$O\ y.tab.$O\ protos.$O\ convM2DNS.$O\ $POBJS HFILES=dat.h\ protos.h\ y.tab.h\ YFILES=filter.y BIN=/$objtype/bin UPDATE=\ mkfile\ dat.h\ main.c\ ${POBJS:%.$O=%.c}\ CLEANFILES=protos.c protos.h </sys/src/cmd/mkone convM2DNS.$O: /sys/src/cmd/ndb/convM2DNS.c $CC $CFLAGS /sys/src/cmd/ndb/convM2DNS.c protos.h:D: mkfile { for(i in $PROTOS) echo extern Proto $i';' } >$target protos.c:D: mkfile { echo '#include <u.h>' echo '#include <libc.h>' echo '#include "dat.h"' echo '#include "protos.h"' echo 'Proto *protos[] =' echo '{' for(i in $PROTOS) echo ' &'$i',' echo ' 0,' echo '};' } >$target