Merge branch 'three-eight' of linux:/r/c--/papers/dfopt into three-eight
[packages/hoopl.git] / paper / mkfile
1 <./latex.mk
2 <./spell.mk
3 <./bbl.$USER.mk
4 <./bitly.$USER.mk
5
6
7 LASTPAGE=13  # final draft has extra page
8
9 TGT=dfopt
10
11 all:V: $TGT.pdf $TGT.ps hoopl10-supplement.bitly
12 old:V: popl-index.bitly
13 bib:V: $TGT.bbl
14 bibfile:V: $TGT.bib
15 dvi:V: $TGT.dvi
16 pdf:V: $TGT.pdf
17 ps:V: $TGT.ps
18 bbl:V: bib
19 xdvi:V: $TGT.dvi
20         sht=`xwininfo -root | awk '$1 == "Height:" { print $2 }'`
21         swd=`xwininfo -root | awk '$1 == "Width:"  { print $2 }'`
22     swd=`expr $swd - 120` # more room
23         xdvi -s 5 -geometry =$(expr $swd / 2)x$(expr $sht - 20)+78+2 $prereq
24
25
26 tag:VQ: $TGT.tex
27         tag=`$HOME/bin/md5words -trim $prereq | tr -d "'" | tr -cs a-zA-Z0-9 - | sed s/-*$//`
28         echo git tag $tag
29         git tag $tag
30
31 dfopt.dvi: dfopt.bbl code.sty timestamp.tex dfoptdu.tex cprop.tex comb1.tex iterf.tex pairf.tex dg.tex
32
33 dfoptdu.tex: cprop.tex comb1.tex iterf.tex pairf.tex dg.tex
34
35 $TGT.pdf: $TGT.dvi
36         dvips -Ppdf -o"|ps2pdf - $target" -pp 1-$LASTPAGE $prereq
37
38 $HOME/www/pubs/hoopl10-supplement.pdf: $TGT.dvi
39         dvips -Ppdf -o"|ps2pdf - $target" -pp `expr $LASTPAGE + 1`- $prereq
40
41 timestamp.tex: $TGT.tex
42         date=`stat -c "%y" $prereq`
43         signature=""
44         if [ -x $HOME/bin/md5words ]; then
45           words="`md5words -trim $prereq`"
46       signature=" [MD5: \\mbox{$words}]"
47     else
48       words="(could not compute signature words)"
49         fi
50         date -d "$date" "+\def\mdfivestamp{\\rlap{\\textbf{%a %e %b %Y, %l:%M %p$signature}}}\def\mdfivewords{$words}" > $target
51
52
53
54 %du.tex:D: defuse %.tex hsprelude
55         [ -r "$target" ] && chmod +w $target
56         ./defuse '\^' < $stem.tex > $target
57         chmod -w $target
58
59
60 CLIENT=../testing
61 CPROPS=ConstProp Simplify Test
62
63 cprop.tex:D: ./xsource ${CPROPS:%=$CLIENT/%.hs}
64         lua $prereq > $target
65
66 HOOPL=../src/Compiler/Hoopl
67
68 comb1.tex iterf.tex pairf.tex:D: ./xsource $HOOPL/Combinators.hs
69         lua $prereq
70
71 dfopt.dvi: fptype.tex bodyfun.tex
72
73 dfoptdu.tex: bodyfun.tex fptype.tex
74
75 bodyfun.tex fptype.tex dg.tex:D: ./xsource $HOOPL/Dataflow.hs
76         lua ./xsource -4 $HOOPL/Dataflow.hs