mkfile 879 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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. CLEANFILES=protos.c protos.h
  50. </sys/src/cmd/mkone
  51. protos.h: mkfile
  52. {
  53. for(i in $PROTOS){
  54. echo extern Proto $i';'
  55. }
  56. } > protos.h
  57. protos.c: mkfile
  58. {
  59. echo '#include <u.h>'
  60. echo '#include <libc.h>'
  61. echo '#include "dat.h"'
  62. echo '#include "protos.h"'
  63. echo 'Proto *protos[] ='
  64. echo '{'
  65. for(i in $PROTOS)
  66. echo ' &'$i','
  67. echo ' 0,'
  68. echo '};'
  69. } > protos.c
  70. y.tab.c: filter.y