summaryrefslogtreecommitdiff
path: root/graphics/circuit_macros/examples/GnuMakefile
blob: 4b7d99c45381010b85870f3369a9cbfea7d9c1c8 (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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# Makefile for Circuit macros (based on Version 8.5.1)
# Use GNU make.

SRC = $(wildcard *.m4)
TARGET = $(SRC:%.m4=%.$(MODE))

CMLIBDIR = /usr/local/share/Circuit_macros
CMLIBDIR = $$(HOME)/lib
CMLIBS = liblog.m4
CMLIBS = libgen.m4

DPIC = dpic
GPIC = pic
M4 = m4 -I $(CMLIBDIR)

# select one of tex, eps, pdf, svg, mp or fig
MODE = tex

# select one of pstricks, pgf, mfpic, latex or tpic
# (for .tex output)
TEXMODE = pgf
TEXMODE = pstricks

# select one of raw or psfrag
# (for .eps output)
EPSMODE = raw



# ---- DO NOT CHANGE THE FOLLOWING LINES ----
PIC = $(DPIC)

# for .tex
TPIC = $(PIC)
ifeq ($(TEXMODE),pstricks)
  TPICOPT = -P
  TCMDRIVER = $(TEXMODE).m4
else ifeq ($(TEXMODE),pgf)
  TPICOPT = -g
  TCMDRIVER = $(TEXMODE).m4
else ifeq ($(TEXMODE),mfpic)
  TPICOPT = -m
  TCMDRIVER = $(TEXMODE).m4
else ifeq ($(TEXMODE),latex)
  TPICOPT = -e
  TCMDRIVER =
else ifeq ($(TEXMODE),tpic)
  TPIC = $(GPIC)
  TPICOPT = -t
  TCMDRIVER = gpic.m4
else
  TERROR = TRUE
endif

# for .eps
ifeq ($(EPSMODE),raw)
  EPICOPT = -r
  ECMDRIVER = postscript.m4
else ifeq ($(EPSMODE),psfrag)
  EPICOPT = -f
  ECMDRIVER = $(EPSMODE).m4
else
  EERROR = TRUE
endif


.SUFFIXES: .m4 .tex .eps .pdf .svg .mp .fig

.m4.tex:
ifeq ($(TERROR),TRUE)
    @echo "Invalid TEXMODE:" $(TEXMODE)
    @exit 1 \
else
    $(M4) $(CMLIBS) $(TCMDRIVER) $< > $*.pic
    $(TPIC) $(TPICOPT) $*.pic > $*.tex
endif

.m4.eps:
ifeq ($(EERROR),TRUE)
    echo "Invalid EPSMODE:" $(EPSMODE)
    @exit 1 \
else
    $(M4) $(CMLIBS) $(ECMDRIVER) $< > $*.pic
    $(PIC) $(EPICOPT) $*.pic > $*.eps
endif

.m4.pdf:
	$(M4) $(CMLIBS) $< > $*.pic
	$(PIC) -d $*.pic > $*.pdf
.m4.svg:
	$(M4) $(CMLIBS) svg.m4 $< > $*.pic
	$(PIC) -v $*.pic > $*.svg
.m4.mp:
	$(M4) $(CMLIBS) mpost.m4 $< > $*.pic
	$(PIC) -s $*.pic > $*.mp
.m4.fig:
	$(M4) $(CMLIBS) xfig.m4 $< > $*.pic
	$(PIC) -x $*.pic > $*.fig

-include GNUmakefile.local

all: $(TARGET)

clean:
	rm -f *~
	rm -f $(SRC:%.m4=%.pic)

distclean: clean

# use carefully!!!
dodistclean: distclean
	rm -f $(SRC:%.m4=%.tex)
	rm -f $(SRC:%.m4=%.eps)
	rm -f $(SRC:%.m4=%.pdf)
	rm -f $(SRC:%.m4=%.svg)
	rm -f $(SRC:%.m4=%.mp)
	rm -f $(SRC:%.m4=%.fig)

-include GNUmakefile.localdep