update.sh 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. #!/bin/sh
  2. set -e
  3. #
  4. # Simple script to repopulate the 'doc' tree from
  5. # the mdoc man pages stored in each project.
  6. #
  7. # Collect list of man pages, relative to my subdirs
  8. test -d man || mkdir man
  9. cd man
  10. MANPAGES=`for d in libarchive tar cpio;do ls ../../$d/*.[135];done | grep -v '\.so\.'`
  11. cd ..
  12. # Build Makefile in 'man' directory
  13. cd man
  14. chmod +w .
  15. rm -f *.[135] Makefile
  16. echo > Makefile
  17. echo "default: all" >>Makefile
  18. echo >>Makefile
  19. all="all:"
  20. for f in $MANPAGES; do
  21. outname="`basename $f`"
  22. echo >> Makefile
  23. echo $outname: ../mdoc2man.awk $f >> Makefile
  24. echo " awk -f ../mdoc2man.awk < $f > $outname" >> Makefile
  25. all="$all $outname"
  26. done
  27. echo $all >>Makefile
  28. cd ..
  29. # Rebuild Makefile in 'text' directory
  30. test -d text || mkdir text
  31. cd text
  32. chmod +w .
  33. rm -f *.txt Makefile
  34. echo > Makefile
  35. echo "default: all" >>Makefile
  36. echo >>Makefile
  37. all="all:"
  38. for f in $MANPAGES; do
  39. outname="`basename $f`.txt"
  40. echo >> Makefile
  41. echo $outname: $f >> Makefile
  42. echo " nroff -mdoc $f | col -b > $outname" >> Makefile
  43. all="$all $outname"
  44. done
  45. echo $all >>Makefile
  46. cd ..
  47. # Rebuild Makefile in 'pdf' directory
  48. test -d pdf || mkdir pdf
  49. cd pdf
  50. chmod +w .
  51. rm -f *.pdf Makefile
  52. echo > Makefile
  53. echo "default: all" >>Makefile
  54. echo >>Makefile
  55. all="all:"
  56. for f in $MANPAGES; do
  57. outname="`basename $f`.pdf"
  58. echo >> Makefile
  59. echo $outname: $f >> Makefile
  60. echo " groff -mdoc -T ps $f | ps2pdf - - > $outname" >> Makefile
  61. all="$all $outname"
  62. done
  63. echo $all >>Makefile
  64. cd ..
  65. # Build Makefile in 'html' directory
  66. test -d html || mkdir html
  67. cd html
  68. chmod +w .
  69. rm -f *.html Makefile
  70. echo > Makefile
  71. echo "default: all" >>Makefile
  72. echo >>Makefile
  73. all="all:"
  74. for f in $MANPAGES; do
  75. outname="`basename $f`.html"
  76. echo >> Makefile
  77. echo $outname: $f >> Makefile
  78. echo " groff -mdoc -T html $f > $outname" >> Makefile
  79. all="$all $outname"
  80. done
  81. echo $all >>Makefile
  82. cd ..
  83. # Build Makefile in 'wiki' directory
  84. test -d wiki || mkdir wiki
  85. cd wiki
  86. chmod +w .
  87. rm -f *.wiki Makefile
  88. echo > Makefile
  89. echo "default: all" >>Makefile
  90. echo >>Makefile
  91. all="all:"
  92. for f in $MANPAGES; do
  93. outname="`basename $f | awk '{ac=split($0,a,"[_.-]");o="ManPage";for(w=0;w<=ac;++w){o=o toupper(substr(a[w],1,1)) substr(a[w],2)};print o}'`.wiki"
  94. echo >> Makefile
  95. echo $outname: ../mdoc2wiki.awk $f >> Makefile
  96. echo " awk -f ../mdoc2wiki.awk < $f > $outname" >> Makefile
  97. all="$all $outname"
  98. done
  99. echo $all >>Makefile
  100. cd ..
  101. # Convert all of the manpages to -man format
  102. (cd man && make)
  103. # Format all of the manpages to text
  104. (cd text && make)
  105. # Format all of the manpages to PDF
  106. (cd pdf && make)
  107. # Format all of the manpages to HTML
  108. (cd html && make)
  109. # Format all of the manpages to wiki syntax
  110. (cd wiki && make)