mkfile 849 B

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