summaryrefslogtreecommitdiff
path: root/support/make/verbfilter.mk
blob: 46c304690c6b2c9a674cde70af4f920a88eb84c3 (plain) (blame)
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
############################################################-*-Makefile-*-####
# VERBFILTER - Verbfilter Latex Files
##############################################################################
# $Id$

##############################################################################
# Usage
#
#   make verbfilter[.clean|.distclean]
#   make [VERBFILTER=<verbfilter-basename>] <*.tex>
#
##############################################################################
# Variables
#
# VERBFILTER		 = Verb filter base name
#
##############################################################################
# Examples
#
# Generate all .tex files produced by verbfiltering a .verb.tex file
#
#   make verbfilter
#
#
# Generate reference.tex by verbfiltering reference.verb.tex with the
# specified verbfilter
#
#   make VERBFILTER=../../support/latex/verbfilterScala reference.tex
#
##############################################################################

##############################################################################
# Defaults

JAVA			?= java
JAVAC			?= javac

##############################################################################
# Commands

all			: verbfilter
clean			: verbfilter.clean
distclean		: verbfilter.distclean

verbfilter		: $(patsubst %.verb.tex,%.tex,$(wildcard *.verb.tex))

verbfilter.clean	:

verbfilter.distclean	:
	@for file in *.verb.tex; do \
	    [ "$$file" = "*.verb.tex" ] || ( \
	        echo $(RM) "$${file%.verb.tex}.tex"; \
	        $(RM) "$${file%.verb.tex}.tex" ); \
	done
	$(RM) $(VERBFILTER:%=%.class)

.PHONY			: verbfilter
.PHONY			: verbfilter.clean
.PHONY			: verbfilter.distclean

##############################################################################
# Rules

%.tex			: %.verb.tex $(VERBFILTER:%=%.class)
	$(JAVA) -cp $(dir $(VERBFILTER)) $(notdir $(VERBFILTER)) $< $@

$(VERBFILTER:%=%.class)	: $(VERBFILTER:%=%.java)
	$(JAVAC) $?

.PRECIOUS		: %.tex
.PRECIOUS		: $(VERBFILTER:%=%.class)

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