summaryrefslogtreecommitdiff
path: root/dviware/dvisirule/Makefile
blob: e8dd553eb56e4cf4398b7daaebeac6e39ed983ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105

Dir ?= /tmp
export Dir

InstallBase ?= ${Dir}/texmf-dist
InstallLib ?= ${InstallBase}/lib
InstallSty ?= ${InstallBase}/lib/texinputs
InstallBin ?= ${InstallBase}/bin
export InstallLib InstallSty InstallBin

include cmd.mk
Lo = '\def\Dir{'${Dir}'}'
CFLAGS = -Wall -O

########################################

Name = dvisirule
Pdf = ${Dir}/${Name}.pdf
Runtime = $(addprefix ${Dir}/, \
	${Name}.sty ${Name} \
	$(addprefix ${Name}-, bin pgnum.awk expg.mk marker.awk) \
	)
Tgt = ${Pdf} ${Runtime}
Dtx = ${Name}.dtx

HelpTxt = ${Dir}/help.txt
Fig = demo
FigPdf = $(addprefix ${Dir}/, $(addsuffix .pdf, ${Fig}))
FigTex = $(addprefix ${Dir}/, $(addsuffix print.tex, ${Fig}))

-include privar.mk

########################################

all: ${Tgt}

clean:
	${RM} *~ ${Tgt} ${HelpTxt} ${FigPdf} ${FigTex}
	${MAKE} -C src $@

install: ${Runtime}
	install -m 444 -pD ${Dir}/${Name}.sty \
		${InstallSty}/${Name}.sty
	install -m 444 -pD ${Dir}/${Name}-pgnum.awk \
		${Dir}/${Name}-marker.awk \
		${Dir}/${Name}-expg.mk \
		${InstallLib}/
	install -m 555 -pD ${Dir}/${Name} \
		${InstallBin}/${Name}
	install -m 555 -pD -s ${Dir}/${Name}-bin \
		${InstallLib}/${Name}-bin
#	echo ${MAKE} -C src $@

########################################

sty: ${Dir}/${Name}.sty
${Dir}/${Name}.sty: ${Name}.ins ${Dtx}
	$(call Latex, $<)
	ls -l $@

define MakePdf
	$(call Latex, ${1}.dtx)
	$(call Latex, ${1}.dtx)
	cd ${Dir}; \
	${DVIPDFMX} -o ${2} ${1}.dvi
endef

${Dir}/${Name}.pdf: %.pdf: %.sty ${HelpTxt} ${FigPdf} ${FigTex}
	$(call MakePdf,${Name},$@)
	ls -l $@

${FigPdf}: bname = $(notdir $(basename $@))
${FigPdf}: ${Dir}/%.pdf: ${CURDIR}/%.tex ${Runtime}
	$(call Latex, $<)
	cd ${Dir}; \
	cp -p ${bname}.dvi ${bname}.dvi.save && \
	${Dir}/${Name} ${bname}.dvi ${bname}-si.dvi && \
	${DVIPDFMX} ${bname}-si.dvi && \
	${PDFCROP} ${bname}-si.pdf $@
	ebb -O $@ > ${Dir}/${bname}.bb

${FigTex}: demo.tex
	sed -n -e '/definecolor/,/hskip0pt/p' $< |\
	egrep -v '(hfill|hskip)' > $@

${HelpTxt}: ${Dir}/${Name}
	sh $< -h  | sed -e 's/\.sh//' > $@

${Dir}/${Name}: ${Name}.sh
	install -m 555 -pD $< $@

FORCE:
${Dir}/${Name}-bin: b = $(notdir $@)
${Dir}/${Name}-bin: FORCE
	test -e src/Makefile || sh reconf.sh src
	${MAKE} -C src ${b}
	cp -pu src/${b} $@

${Dir}/%.awk: %.awk
	cp -pu $< $@

${Dir}/%.mk: %.mk
	cp -pu $< $@

-include priv.mk