</$objtype/mkfile
TARG=snoopy
PROTOS=\
arp\
bootp\
dhcp\
dump\
eap\
eap_identity\
eapol\
eapol_key\
ether\
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\
POBJS=${PROTOS:%=%.$O}
OFILES= main.$O\
y.tab.$O\
protos.$O\
$POBJS
HFILES=dat.h\
protos.h\
y.tab.h\
BIN=/$objtype/bin
UPDATE=\
mkfile\
dat.h\
main.c\
${POBJS:%.$O=%.c}\
CLEANFILES=protos.c protos.h
</sys/src/cmd/mkone
protos.h: mkfile
{
for(i in $PROTOS){
echo extern Proto $i';'
}
} > protos.h
protos.c: 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 '};'
} > protos.c
y.tab.c: filter.y
|