mkfile 985 B

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