mkfile 885 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. gre\
  14. hdlc\
  15. icmp6\
  16. icmp\
  17. il\
  18. ip6\
  19. ip\
  20. ninep\
  21. ospf\
  22. ppp\
  23. ppp_ccp\
  24. ppp_chap\
  25. ppp_ipcp\
  26. ppp_lcp\
  27. pppoe_disc\
  28. pppoe_sess\
  29. rarp\
  30. rc4keydesc\
  31. rtcp\
  32. rtp\
  33. tcp\
  34. ttls\
  35. udp\
  36. POBJS=${PROTOS:%=%.$O}
  37. OFILES= main.$O\
  38. y.tab.$O\
  39. protos.$O\
  40. $POBJS
  41. HFILES=dat.h\
  42. protos.h\
  43. y.tab.h\
  44. BIN=/$objtype/bin
  45. UPDATE=\
  46. mkfile\
  47. dat.h\
  48. main.c\
  49. ${POBJS:%.$O=%.c}\
  50. CLEANFILES=protos.c protos.h
  51. </sys/src/cmd/mkone
  52. protos.h: mkfile
  53. {
  54. for(i in $PROTOS){
  55. echo extern Proto $i';'
  56. }
  57. } > protos.h
  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. echo ' &'$i','
  68. echo ' 0,'
  69. echo '};'
  70. } > protos.c
  71. y.tab.c: filter.y