xref: /plan9-contrib/sys/src/cmd/ip/snoopy/mkfile (revision fececb924262ae5acb31c5c448a4a6a523887b15)
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