code: plan9front

ref: 5622b0bbd878dbc34045cc6fd37cffa64461eabe
dir: /sys/src/cmd/ip/snoopy/mkfile/

View raw version
</$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