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