plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

mkfile (780B)


      1 <$PLAN9/src/mkhdr
      2 
      3 TARG=snoopy
      4 PROTOS=\
      5 	ether\
      6 	ip\
      7 	ip6\
      8 	dump\
      9 	arp\
     10 	rarp\
     11 	udp\
     12 	bootp\
     13 	dhcp\
     14 	hdlc\
     15 	rtp\
     16 	rtcp\
     17 	tcp\
     18 	il\
     19 	icmp\
     20 	icmp6\
     21 	ninep\
     22 	ospf\
     23 	ppp\
     24 	ppp_ccp\
     25 	ppp_lcp\
     26 	ppp_chap\
     27 	ppp_ipcp\
     28 	pppoe_sess\
     29 	pppoe_disc\
     30 	dns\
     31 	p80211\
     32 	llc\
     33 	radiotap\
     34 	snap\
     35 
     36 POBJS=${PROTOS:%=%.$O}
     37 
     38 OFILES=	main.$O\
     39 	y.tab.$O\
     40 	protos.$O\
     41 	$SYSNAME.$O\
     42 	$POBJS
     43 
     44 HFILES=dat.h\
     45 	protos.h\
     46 	y.tab.h\
     47 
     48 <$PLAN9/src/mkone
     49 
     50 protos.h: mkfile
     51 	(
     52 		for i in $PROTOS
     53 		do
     54 			echo extern Proto $i';'
     55 		done
     56 	) > protos.h
     57 
     58 protos.c: mkfile
     59 	(
     60 		echo '#include <u.h>'
     61 		echo '#include <libc.h>'
     62 		echo '#include "dat.h"'
     63 		echo '#include "protos.h"'
     64 		echo 'Proto *protos[] ='
     65 		echo '{'
     66 		for i in $PROTOS
     67 		do
     68 			echo '	&'$i','
     69 		done
     70 		echo '	0'
     71 		echo '};'
     72 	) > protos.c
     73 
     74 y.tab.c: filter.y