home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume12 / cake / part06 / Lib / Newtext < prev    next >
Encoding:
Text File  |  1987-10-15  |  7.5 KB  |  401 lines

  1. $    New cakefile for text processing.
  2.  
  3. $    For documentation see Newtext.doc and Newtext.defs.
  4.  
  5. #ifndef    MOREFLAG
  6. #define    MOREFLAG
  7. #endif
  8. #ifndef    PRINTFLAG
  9. #define    PRINTFLAG
  10. #endif
  11.  
  12. #ifndef    MORECMD
  13. #define    MORECMD        more
  14. #endif
  15. #ifndef    BIBCMD
  16. #define    BIBCMD        bib
  17. #endif
  18. #ifndef    PICCMD
  19. #define    PICCMD        pic
  20. #endif
  21. #ifndef    TBLCMD
  22. #define    TBLCMD        dtbl
  23. #endif
  24. #ifndef    EQNCMD
  25. #define    EQNCMD        deqn
  26. #endif
  27. #ifndef    DITROFFCMD
  28. #ifdef    LOCALDITROFF
  29. #define    DITROFFCMD    ditroff.q
  30. #else
  31. #define    DITROFFCMD    ditroff
  32. #endif
  33. #endif
  34. #ifndef    CITCMD
  35. #define    CITCMD        lookindex -s
  36. #endif
  37.  
  38. #ifndef    SYMBOLIMAGEN
  39. #define    SYMBOLIMAGEN
  40. #endif
  41. #ifndef    SYMBOLAPPLE
  42. #define    SYMBOLAPPLE
  43. #endif
  44. #ifndef    LASERDEV
  45. #ifdef    IP
  46. #define    LASERDEV    -Pip
  47. #define    LASERTYPE    -Tip
  48. #define    SYMBOLS        SYMBOLIMAGEN
  49. #else
  50. #ifdef    LW
  51. #define    LASERDEV    -Plw
  52. #define    LASERTYPE    -Tlw
  53. #define    CHUNK        6
  54. #define    SYMBOLS        SYMBOLAPPLE
  55. #else
  56. #ifdef    LWR
  57. #define    LASERDEV    -Plwr
  58. #define    LASERTYPE    -Tlw
  59. #define    CHUNK        6
  60. #define    SYMBOLS        SYMBOLAPPLE
  61. #else
  62. #ifdef    LW226
  63. #define    LASERDEV    -Plw.226
  64. #define    LASERTYPE    -Tlw
  65. #define    CHUNK        6
  66. #define    SYMBOLS        SYMBOLAPPLE
  67. #else
  68. #ifdef    OFF
  69. #define    LASERDEV    -Poff
  70. #define    LASERTYPE    -Tlw
  71. #define    CHUNK        6
  72. #define    SYMBOLS        SYMBOLAPPLE
  73. #else
  74. #ifdef    AN
  75. #define    LASERDEV    -Pan
  76. #define    LASERTYPE    -Tlw
  77. #define    CHUNK        6
  78. #define    SYMBOLS        SYMBOLAPPLE
  79. #else
  80. #define    LASERDEV    -Pan
  81. #define    LASERTYPE    -Tlw
  82. #define    CHUNK        6
  83. #define    SYMBOLS        SYMBOLAPPLE
  84. #endif
  85. #endif
  86. #endif
  87. #endif
  88. #endif
  89. #endif
  90. #endif
  91.  
  92. #ifndef    PRINTLASER
  93. #define    PRINTLASER    LASERDEV -n
  94. #endif
  95. #ifndef    PRINTGEN
  96. #define    PRINTGEN    LASERDEV
  97. #endif
  98. #ifndef    LBLOPTS
  99. #define    LBLOPTS
  100. #endif
  101. #ifndef    ALLLBLOPTS
  102. #define    ALLLBLOPTS    LBLOPTS
  103. #endif
  104. #ifndef    BIBINDEX
  105. #define    BIBINDEX    -p INDEX
  106. #endif
  107. #ifndef    BIBSTYLE
  108. #define    BIBSTYLE    -t std
  109. #endif
  110. #ifndef    BIBOPTS
  111. #define    BIBOPTS
  112. #endif
  113. #ifndef    ALLBIBOPTS
  114. #define    ALLBIBOPTS    BIBINDEX BIBSTYLE BIBOPTS
  115. #endif
  116. #ifndef    LISTREFOPTS
  117. #define    LISTREFOPTS
  118. #endif
  119. #ifndef    ALLLISTREFOPTS
  120. #define    ALLLISTREFOPTS    BIBSTYLE LISTREFOPTS
  121. #endif
  122. #ifndef    PICOPTS
  123. #define    PICOPTS
  124. #endif
  125. #ifndef    ALLPICOPTS
  126. #define    ALLPICOPTS    LASERTYPE PICOPTS
  127. #endif
  128. #ifndef    TBLOPTS
  129. #define    TBLOPTS
  130. #endif
  131. #ifndef    ALLTBLOPTS
  132. #define    ALLTBLOPTS    LASERTYPE TBLOPTS
  133. #endif
  134. #ifndef    EQNOPTS
  135. #define    EQNOPTS
  136. #endif
  137. #ifndef    ALLEQNOPTS
  138. #define    ALLEQNOPTS    LASERTYPE EQNOPTS
  139. #endif
  140. #ifndef    MACROPACK
  141. #define    MACROPACK    -me
  142. #endif
  143. #ifndef    OTHERMACS
  144. #define    OTHERMACS
  145. #endif
  146. #ifndef    DITROFFINIT
  147. #define    DITROFFINIT
  148. #endif
  149. #ifndef    DITROFFOPTS
  150. #define    DITROFFOPTS
  151. #endif
  152. #ifndef    ALLDITROFFOPTS
  153. #define    ALLDITROFFOPTS    -t LASERDEV DITROFFOPTS MACROPACK OTHERMACS SYMBOLS DITROFFINIT
  154. #endif
  155. #ifndef    CITINDEX
  156. #define    CITINDEX    /usr/bib/gnu/bib/INDEX
  157. #endif
  158. #ifndef    CHNROPTS
  159. #define    CHNROPTS
  160. #endif
  161. #ifndef    CHEQOPTS
  162. #define    CHEQOPTS
  163. #endif
  164. #ifndef    SPELLDICT
  165. #define    SPELLDICT    /dev/null
  166. #endif
  167. #ifndef    ISPELLOPTS    
  168. #define    ISPELLOPTS    -Sx
  169. #endif
  170. #ifndef    SPELLOPTS
  171. #define    SPELLOPTS
  172. #endif
  173. #ifndef    DICTOPTS
  174. #define    DICTOPTS
  175. #endif
  176. #ifndef    MODSTYLE
  177. #define    MODSTYLE    16
  178. #endif
  179. #ifndef    HARDSTYLE
  180. #define    HARDSTYLE    19
  181. #endif
  182. #ifndef    LONGSTYLE
  183. #define    LONGSTYLE    25
  184. #endif
  185. #ifndef    STYLEOPTS
  186. #define    STYLEOPTS
  187. #endif
  188. #ifndef    ALLSTYLEOPTS
  189. #define    ALLSTYLEOPTS    MACROPACK STYLEOPTS
  190. #endif
  191.  
  192. #ifndef    IDIR
  193. #define    IDIR    /tmp
  194. #endif
  195. #ifndef    FDIR
  196. #define    FDIR    /tmp
  197. #endif
  198.  
  199. #define    FSUFF    laser
  200. #define    ISUFF    bib,lbl,dte,de,d
  201. #define    ASUFF    astyle,base,cheq,chnr,cit,count,dict,exp,hard,long,mod,ocount,ol,pass,refs,spell,srefs,style
  202.  
  203. #define    need(prog)    prog in [[needed %.orig]]
  204.  
  205. /* general services */
  206. %.m&:        % MOREFLAG
  207.         MORECMD %
  208.  
  209. %1.%2.p&:    %1.%2 PRINTFLAG            if not %2 in laser
  210.         lpr PRINTGEN %1.%2
  211.  
  212. #ifdef    CHUNK
  213. %1.%2.p&:    %1.%2 PRINTFLAG            if %2 in laser
  214.         @-/bin/rm -f chunk* >& /dev/null
  215.         troffchunk -n CHUNK %1.%2
  216.         lpr PRINTLASER chunk*
  217. #else
  218. %1.%2.p&:    %1.%2 PRINTFLAG            if %2 in laser
  219.         lpr PRINTLASER %1.%2
  220. #endif
  221.  
  222. /* frames */
  223. %.orig:        %.frame [[soincl %.frame]]    if exist %.frame
  224.         soelim %.frame > %.orig
  225.  
  226. %1.%2.each&:    [[sub X.orig X.%2 [[soincl %1.frame]]]]    if exist %1.frame
  227.  
  228. /* lbl */
  229. #ifdef    IDIR
  230. %.lbl:        %.orig*                if need(lbl)
  231.         lbl ALLLBLOPTS %.orig > IDIR/%.lbl
  232.         ln -s IDIR/%.lbl .
  233. #else
  234. %.lbl:        %.orig*                if need(lbl)
  235.         lbl ALLLBLOPTS %.orig > %.lbl
  236. #endif
  237.  
  238. %.lbl:        %.orig*                if not need(lbl)
  239.         @-/bin/rm -f %.lbl >& /dev/null
  240.         ln -s [[/bin/pwd]]/%.orig %.lbl
  241.  
  242. /* bib */
  243. #ifdef    IDIR
  244. %.bib:        %.lbl %.orig*            if need(bib)
  245.         @-/bin/rm -f %.bib >& /dev/null
  246.         BIBCMD ALLBIBOPTS %.lbl > IDIR/%.bib
  247.         ln -s IDIR/%.bib .
  248. #else
  249. %.bib:        %.lbl %.orig*            if need(bib)
  250.         BIBCMD ALLBIBOPTS %.lbl > %.bib
  251. #endif
  252.  
  253. #ifdef    IDIR
  254. %.bib:        %.lbl %.orig*            if need(listrefs)
  255.         @-/bin/rm -f %.bib >& /dev/null
  256.         listrefs LISTREFOPTS %.lbl > IDIR/%.bib
  257.         ln -s IDIR/%.bib .
  258. #else
  259. %.bib:        %.lbl %.orig*            if need(listrefs)
  260.         listrefs LISTREFOPTS %.lbl > %.bib
  261. #endif
  262.  
  263. %.bib:        %.lbl %.orig*            if not need(bib) and not need(listrefs)
  264.         @-/bin/rm -f %.bib >& /dev/null
  265.         ln -s %.lbl %.bib
  266.  
  267. /* laser pic */
  268. #ifdef    IDIR
  269. %.dte INTFLAG:    %.bib %.orig*            if need(pic)
  270.         @-/bin/rm -f %.dte >& /dev/null
  271.         PICCMD ALLPICOPTS %.bib > IDIR/%.dte
  272.         ln -s IDIR/%.dte .
  273. #else
  274. %.dte INTFLAG:    %.bib %.orig*            if need(pic)
  275.         PICCMD ALLPICOPTS %.bib > %.dte
  276. #endif
  277.  
  278. %.dte INTFLAG:    %.bib %.orig*            if not need(pic)
  279.         @-/bin/rm -f %.dte >& /dev/null
  280.         ln -s %.bib %.dte
  281.     
  282. /* laser tbl */
  283. #ifdef    IDIR
  284. %.de INTFLAG:    %.dte %.orig*            if need(tbl)
  285.         @-/bin/rm -f %.de >& /dev/null
  286.         TBLCMD ALLTBLOPTS %.dte > IDIR/%.de
  287.         ln -s IDIR/%.de .
  288. #else
  289. %.de INTFLAG:    %.dte %.orig*            if need(tbl)
  290.         TBLCMD ALLTBLOPTS %.dte > %.de
  291. #endif
  292.  
  293. %.de INTFLAG:    %.dte %.orig*            if not need(tbl)
  294.         @-/bin/rm -f %.de >& /dev/null
  295.         ln -s %.dte %.de
  296.     
  297. /* laser eqn */
  298. #ifdef    IDIR
  299. %.d INTFLAG:    %.de %.orig*            if need(eqn)
  300.         @-/bin/rm -f %.d >& /dev/null
  301.         EQNCMD ALLEQNOPTS %.de > IDIR/%.d
  302.         ln -s IDIR/%.d .
  303. #else
  304. %.d INTFLAG:    %.de %.orig*            if need(eqn)
  305.         EQNCMD ALLEQNOPTS %.de > %.d
  306. #endif
  307.  
  308. %.d INTFLAG:    %.de %.orig*            if not need(eqn)
  309.         @-/bin/rm -f %.d >& /dev/null
  310.         ln -s %.de %.d
  311.     
  312. /* laser troff */
  313. #ifdef    FDIR
  314. %.laser:    %.d
  315.         @-/bin/rm -f %.laser >& /dev/null
  316.         DITROFFCMD ALLDITROFFOPTS %.d > FDIR/%.laser
  317.         ln -s FDIR/%.laser .
  318. #else
  319. %.laser:    %.d
  320.         DITROFFCMD ALLDITROFFOPTS %.d > %.laser
  321. #endif
  322.  
  323. /* analysis services */
  324. %.all&:        %.spell %.style %.exp %.mod %.long %.pass %.dict %.chnr
  325.  
  326. %.base:        %.orig
  327.         base < %.orig > %.base
  328.  
  329. %.refs:        %.orig
  330.         refs < %.orig > %.refs
  331.  
  332. %.srefs:    %.refs
  333.         sort -u %.refs > %.srefs
  334.  
  335. %.cit:        %.srefs
  336.         CITCMD CITINDEX < %.srefs > %.icit
  337.         sortbib %.icit > %.cit
  338.         @-/bin/rm -f %.icit >& /dev/null
  339.  
  340. %.chnr:        %.orig
  341.         checknr CHNROPTS %.orig > %.chnr
  342.  
  343. %.cheq:        %.orig
  344.         -checkeq CHEQOPTS %.orig > %.cheq
  345.  
  346. %.ol:        %.orig
  347.         ol %.orig > %.ol
  348.  
  349. %.fix&:        %.orig
  350.         fix -d SPELLDICT %.orig
  351.  
  352. %.ispell&:    %.orig
  353.         ispell ISPELLOPTS %.orig
  354.  
  355. %.spell:    %.base
  356.         spell SPELLOPTS %.base | tr A-Z a-z | comm -23 - SPELLDICT > %.spell
  357.  
  358. %.dict:        %.base
  359.         diction DICTOPTS %.base > %.dict
  360.  
  361. %.style:    %.base
  362.         style ALLSTYLEOPTS %.base > %.style
  363.  
  364. %.astyle:    %.base
  365.         style ALLSTYLEOPTS -a %.base > %.astyle
  366.  
  367. %.exp:        %.base
  368.         style ALLSTYLEOPTS -e %.base > %.exp
  369.  
  370. %.mod:        %.base
  371.         style ALLSTYLEOPTS -r MODSTYLE %.base > %.mod
  372.  
  373. %.hard:        %.base
  374.         style ALLSTYLEOPTS -r HARDSTYLE %.base > %.hard
  375.  
  376. %.long:        %.base
  377.         style ALLSTYLEOPTS -l LONGSTYLE %.base > %.long
  378.  
  379. %.pass:        %.base
  380.         style ALLSTYLEOPTS -p %.base > %.pass
  381.  
  382. %.count:    %.base
  383.         wc %.base > %.count
  384.  
  385. %.ocount:    %.orig
  386.         wc %.orig > %.ocount
  387.  
  388. %.clean&:
  389.         @echo cleaning up %
  390.         @-/bin/rm %.{ISUFF,FSUFF,ASUFF} >& /dev/null
  391.  
  392. %.vclean&:
  393.         @echo cleaning up % very carefully
  394.         @-/bin/mv %.orig /tmp/%.orig.$$ >& /dev/null
  395.  
  396. xyzzy&:
  397.         @echo no default action in Newtext
  398.  
  399. clean&:        [[sub -i X.orig X.clean *]]
  400. clean&:        [[sub -i X.frame X.vclean *]]
  401.