152
|
1 # |
2000
|
2 # Makefile for octave's doc/interpreter directory |
152
|
3 # |
|
4 # John W. Eaton |
1452
|
5 # jwe@bevo.che.wisc.edu |
|
6 # University of Wisconsin-Madison |
152
|
7 # Department of Chemical Engineering |
|
8 |
2000
|
9 TOPDIR = ../.. |
152
|
10 |
|
11 srcdir = @srcdir@ |
411
|
12 top_srcdir = @top_srcdir@ |
152
|
13 VPATH = @srcdir@ |
|
14 |
|
15 include $(TOPDIR)/Makeconf |
|
16 |
651
|
17 INSTALL = @INSTALL@ |
|
18 INSTALL_PROGRAM = @INSTALL_PROGRAM@ |
|
19 INSTALL_DATA = @INSTALL_DATA@ |
|
20 |
3439
|
21 SUB_SOURCE := arith.txi audio.txi basics.txi bugs.txi \ |
4167
|
22 container.txi control.txi cp-idx.txi data.txi \ |
|
23 debug.txi diffeq.txi emacs.txi errors.txi eval.txi \ |
|
24 expr.txi finance.txi fn-idx.txi func.txi gpl.txi \ |
|
25 grammar.txi image.txi install.txi intro.txi io.txi \ |
|
26 linalg.txi matrix.txi nonlin.txi numbers.txi \ |
|
27 op-idx.txi optim.txi plot.txi poly.txi preface.txi \ |
|
28 quad.txi quaternion.txi set.txi signal.txi stats.txi \ |
|
29 stmt.txi stream.txi strings.txi struct.txi system.txi \ |
|
30 tips.txi var.txi vr-idx.txi |
152
|
31 |
3404
|
32 SOURCES := $(SUB_SOURCE) |
3294
|
33 |
3851
|
34 MAIN_TEXINFO := $(srcdir)/octave.texi |
3297
|
35 |
|
36 SUB_TEXINFO := $(SUB_SOURCE:.txi=.texi) |
|
37 |
|
38 TEXINFO := $(MAIN_TEXINFO) $(SUB_TEXINFO) |
152
|
39 |
5151
|
40 FORMATTED = octave.dvi octave.ps octave.pdf \ |
4521
|
41 octave.info octave.info-[0-9]* \ |
|
42 octave.html octave_*.html |
328
|
43 |
4339
|
44 MAN_BASE := mkoctfile octave octave-bug octave-config |
4149
|
45 MAN_SRC := $(addsuffix .1, $(MAN_BASE)) |
|
46 |
4215
|
47 DISTFILES = Makefile.in dir munge-texi.cc $(MAN_SRC) \ |
3312
|
48 $(SOURCES) $(TEXINFO) $(FORMATTED) |
299
|
49 |
2624
|
50 ifeq ($(wildcard octave.info), ) |
4149
|
51 BINDISTFILES = $(addprefix $(srcdir)/, $(MAN_SRC) $(FORMATTED)) |
2624
|
52 else |
4149
|
53 BINDISTFILES = $(addprefix $(srcdir)/, $(MAN_SRC)) $(FORMATTED) |
2624
|
54 endif |
|
55 |
|
56 # Look for version.h to get version information. |
|
57 xfiles := $(TOPDIR)/src/version.h $(srcdir)/$(TOPDIR)/src/version.h |
|
58 |
|
59 version_file := $(firstword $(foreach file, $(xfiles), $(wildcard $(file)))) |
|
60 |
2689
|
61 SPELL = $(patsubst %.texi, %.spell, $(TEXINFO)) |
152
|
62 |
|
63 %.spell : %.texi |
|
64 rm -f $@ |
4084
|
65 $(SED) -e 's/@@/ at /g' -e 's/@[a-zA-Z]*//g' $< | spell > $@.tmp |
152
|
66 mv $@.tmp $@ |
|
67 |
5151
|
68 all: octave.info octave.dvi octave.ps octave.pdf octave_toc.html |
152
|
69 .PHONY: all |
|
70 |
4098
|
71 $(TEXINFO): src-DOCSTRINGS scripts-DOCSTRINGS munge-texi$(BUILD_EXEEXT) |
3297
|
72 |
4298
|
73 munge-texi$(BUILD_EXEEXT): munge-texi.cc |
|
74 $(BUILD_CXX) $(BUILD_CXXFLAGS) -o $@ $^ $(BUILD_LDFLAGS) |
3313
|
75 |
4619
|
76 src-DOCSTRINGS: |
4093
|
77 $(MAKE) -C ../../src DOCSTRINGS |
|
78 .PHONY: src-DOCSTRINGS |
|
79 |
|
80 scripts-DOCSTRINGS: |
|
81 $(MAKE) -C ../../scripts DOCSTRINGS |
|
82 .PHONY: scripts-DOCSTRINGS |
3294
|
83 |
|
84 %.texi : %.txi |
3364
|
85 @echo making $@ from $< |
|
86 @./munge-texi \ |
3294
|
87 -d $(TOPDIR)/src/DOCSTRINGS \ |
|
88 -d $(TOPDIR)/scripts/DOCSTRINGS < $< > $@.t |
4098
|
89 @$(top_srcdir)/move-if-change $@.t $@ |
3294
|
90 |
3297
|
91 octave.info: $(MAIN_TEXINFO) $(SUB_TEXINFO) ../conf.texi |
5151
|
92 -$(MAKEINFO) -I$(srcdir) -I$(srcdir)/.. $< |
2000
|
93 |
3297
|
94 octave.dvi: $(MAIN_TEXINFO) $(SUB_TEXINFO) ../conf.texi |
3028
|
95 -TEXINPUTS="$(srcdir):$(srcdir)/..:$(TEXINPUTS):"; \ |
|
96 export TEXINPUTS; \ |
3297
|
97 $(TEXI2DVI) $< |
2000
|
98 |
|
99 octave.ps: octave.dvi |
|
100 -dvips -o octave.ps octave.dvi |
|
101 |
5151
|
102 octave.pdf: $(MAIN_TEXINFO) $(SUB_TEXINFO) ../conf.texi |
|
103 -TEXINPUTS="$(srcdir):$(srcdir)/..:$(TEXINPUTS):"; \ |
|
104 export TEXINPUTS; \ |
|
105 $(TEXI2PDF) $< |
|
106 |
2627
|
107 ../../INSTALL.OCTAVE: install.texi |
3176
|
108 rm -f INSTALL |
5151
|
109 -$(MAKEINFO) -D INSTALLONLY \ |
3176
|
110 --no-validate --no-headers --no-split --output INSTALL \ |
3297
|
111 -I$(srcdir) -I$(srcdir)/.. $< |
2001
|
112 mv INSTALL ../../INSTALL.OCTAVE |
2000
|
113 |
2627
|
114 ../../BUGS: bugs.texi |
3176
|
115 rm -f BUGS |
5151
|
116 -$(MAKEINFO) -D BUGSONLY \ |
3176
|
117 --no-validate --no-headers --no-split --output BUGS \ |
3297
|
118 -I$(srcdir) -I$(srcdir)/.. $< |
2001
|
119 mv BUGS ../../BUGS |
2000
|
120 |
3863
|
121 # These option forms are supported by texi2html 1.65 and probably also |
|
122 # more recent versions. |
3297
|
123 octave_toc.html: $(MAIN_TEXINFO) $(SUB_TEXINFO) |
4483
|
124 -texi2html -expandinfo -split_chapter -I . -I $(srcdir)/.. $< |
3189
|
125 |
152
|
126 check: all |
|
127 .PHONY: check |
|
128 |
2811
|
129 install install-strip: all |
4413
|
130 $(top_srcdir)/mkinstalldirs $(DESTDIR)$(man1dir) $(DESTDIR)$(infodir) |
|
131 @if test -d $(DESTDIR)$(man1dir); then \ |
4149
|
132 for f in $(MAN_BASE); do \ |
4413
|
133 rm -f $(DESTDIR)$(man1dir)/$$f$(man1ext); \ |
|
134 echo "installing $(srcdir)/$$f.1 in $(DESTDIR)$(man1dir)"; \ |
|
135 $(INSTALL_DATA) $(srcdir)/$$f.1 $(DESTDIR)$(man1dir)/$$f$(man1ext); \ |
4149
|
136 done ; \ |
979
|
137 fi |
4413
|
138 @if test -d $(DESTDIR)$(infodir); then \ |
|
139 rm -f $(DESTDIR)$(infodir)/octave.info*; \ |
|
140 echo "installing info files in $(DESTDIR)$(infodir)"; \ |
3028
|
141 if test -f octave.info; then \ |
|
142 for f in octave.info*; do \ |
4413
|
143 $(INSTALL_DATA) $$f $(DESTDIR)$(infodir)/$$f; \ |
3028
|
144 done; \ |
152
|
145 else \ |
3028
|
146 for f in $(srcdir)/octave.info*; do \ |
4413
|
147 $(INSTALL_DATA) $$f $(DESTDIR)$(infodir)/`basename $$f`; \ |
3028
|
148 done; \ |
|
149 fi; \ |
4413
|
150 if test -f $(DESTDIR)$(infodir)/dir; then \ |
|
151 if grep "^\* Octave: (octave)." $(DESTDIR)$(infodir)/dir > /dev/null; then \ |
3028
|
152 true; \ |
980
|
153 else \ |
3028
|
154 echo ""; \ |
|
155 echo "You should add the following entry"; \ |
|
156 echo ""; \ |
|
157 echo "* Octave: (octave)."; \ |
|
158 echo " Interactive language for numerical computations."; \ |
|
159 echo ""; \ |
4413
|
160 echo "to $(DESTDIR)$(infodir)/dir."; \ |
3028
|
161 echo ""; \ |
|
162 fi; \ |
976
|
163 else \ |
4413
|
164 echo "installing $(srcdir)/dir in $(DESTDIR)$(infodir)"; \ |
|
165 $(INSTALL_DATA) $(srcdir)/dir $(DESTDIR)$(infodir)/dir; \ |
3028
|
166 fi; \ |
152
|
167 fi |
2811
|
168 .PHONY: install install-strip |
152
|
169 |
|
170 uninstall: |
4149
|
171 rm -f $(infodir)/octave.info* |
4413
|
172 for f in $(MAN_BASE); do rm -f $(DESTDIR)$(man1dir)/$$f$(man1ext); done |
152
|
173 .PHONY: uninstall |
|
174 |
|
175 tags: $(SOURCES) |
|
176 ctags $(SOURCES) |
|
177 |
|
178 TAGS: $(SOURCES) |
|
179 etags $(SOURCES) |
|
180 |
|
181 spell: $(SPELL) |
|
182 .PHONY: spell |
|
183 |
1458
|
184 mostlyclean clean: |
|
185 rm -f octave.cp octave.fn octave.in \ |
349
|
186 octave.ky octave.op octave.pg octave.rd octave.tp octave.vr \ |
|
187 octave.cps octave.fns octave.ins octave.kys octave.ops \ |
|
188 octave.pgs octave.rds octave.tps octave.vrs octave.aux \ |
3601
|
189 octave.log octave.toc \ |
4215
|
190 munge-texi$(BUILD_EXEEXT) munge-texi.o |
1458
|
191 .PHONY: mostlyclean clean |
152
|
192 |
|
193 distclean: clean |
3601
|
194 rm -f Makefile |
152
|
195 .PHONY: distclean |
|
196 |
4203
|
197 maintainer-clean: distclean clean-texi |
4521
|
198 rm -f tags TAGS $(FORMATTED) |
1391
|
199 .PHONY: maintainer-clean |
152
|
200 |
3315
|
201 clean-texi: |
3494
|
202 rm -f $(SUB_TEXINFO) |
3315
|
203 .PHONY: clean-texi |
|
204 |
|
205 dist: clean-texi all |
2028
|
206 ln $(DISTFILES) ../../`cat ../../.fname`/doc/interpreter |
152
|
207 .PHONY: dist |
2624
|
208 |
|
209 bin-dist: |
|
210 if [ -n "$(BINDISTFILES)" ]; then \ |
3028
|
211 ln $(BINDISTFILES) ../../`cat ../../.fname`/doc/interpreter; \ |
2624
|
212 fi |
|
213 .PHONY: bin-dist |