-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.mk
40 lines (33 loc) · 893 Bytes
/
build.mk
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
TEX := $(wildcard *.tex)
NAME := $(basename $(TEX))
PDF := $(NAME).pdf
LATEX := rubber
LATEX_FLAGS := -m xelatex -W all
IMAGES_DIA := $(wildcard images/*.dia)
IMAGES_DIAPDF := $(patsubst %.dia,%.pdf,$(IMAGES_DIA))
IMAGES_DIAEPS := $(patsubst %.dia,%.eps,$(IMAGES_DIA))
# Be silent per default, but 'make V=1' will show all compiler calls.
ifneq ($(V),1)
Q = @
else
Q =
endif
all: $(PDF)
$(PDF): $(TEX) $(IMAGES_DIAPDF)
@printf " LATEX $@\n"
$(Q)$(LATEX) $(LATEX_FLAGS) $(TEX)
clean:
@printf " CLEAN\n"
$(Q)$(LATEX) --clean $(NAME) 2>/dev/null
$(Q)-rm -f *.vrb
$(Q)-rm -f $(IMAGES_DIAPDF) $(IMAGES_DIAEPS)
$(IMAGES_DIAPDF):
@printf " GEN $@\n"
$(Q)d=images/$$(basename $@ .pdf).dia; \
e=images/$$(basename $@ .pdf).eps; \
dia -t eps -e $$e $$d 2>/dev/null; \
epstopdf $$e
distclean: clean
@printf " DISTCLEAN\n"
$(Q)-rm -f $(PDF)
.PHONY: all clean distclean