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 |
6001
|
21 SCRIPT_SOURCES = sparseimages.m |
|
22 |
6577
|
23 EXAMPLE_FILES_NODIR = \ |
|
24 addtwomatrices.cc \ |
|
25 celldemo.cc \ |
|
26 firstmexdemo.c \ |
|
27 fortdemo.cc \ |
|
28 fortsub.f \ |
|
29 funcdemo.cc \ |
|
30 globaldemo.cc \ |
|
31 helloworld.cc \ |
6595
|
32 mycell.c \ |
|
33 myfeval.c \ |
|
34 myfunc.c \ |
|
35 mypow2.c \ |
|
36 mysparse.c \ |
|
37 mystring.c \ |
|
38 mystruct.c \ |
|
39 paramdemo.cc \ |
6577
|
40 stringdemo.cc \ |
|
41 structdemo.cc \ |
|
42 unwinddemo.cc |
|
43 |
|
44 EXAMPLE_FILES = $(addprefix $(top_srcdir)/examples/, $(EXAMPLE_FILES_NODIR)) |
|
45 |
6001
|
46 SPARSEIMAGES_1 = gplot grid spmatrix spchol spcholperm |
|
47 |
|
48 SPARSEIMAGES_EPS = $(addsuffix .eps, $(SPARSEIMAGES_1)) |
|
49 SPARSEIMAGES_PDF = $(addsuffix .pdf, $(SPARSEIMAGES_1)) |
|
50 SPARSEIMAGES_PNG = $(addsuffix .png, $(SPARSEIMAGES_1)) |
|
51 SPARSEIMAGES_TXT = $(addsuffix .txt, $(SPARSEIMAGES_1)) |
|
52 |
|
53 IMAGES_EPS = $(SPARSEIMAGES_EPS) |
|
54 IMAGES_PDF = $(SPARSEIMAGES_PDF) |
|
55 IMAGES_PNG = $(SPARSEIMAGES_PNG) |
|
56 IMAGES_TXT = $(SPARSEIMAGES_TXT) |
6031
|
57 |
|
58 HTML_IMAGES_PNG = $(addprefix HTML/, $(IMAGES_PNG)) |
6366
|
59 |
6001
|
60 IMAGES = $(IMAGES_EPS) $(IMAGES_PDF) $(IMAGES_PNG) $(IMAGES_TXT) |
5648
|
61 |
6549
|
62 SUB_SOURCE := arith.txi audio.txi basics.txi bit.txi bugs.txi \ |
4167
|
63 container.txi control.txi cp-idx.txi data.txi \ |
6569
|
64 debug.txi diffeq.txi dynamic.txi emacs.txi errors.txi eval.txi \ |
6559
|
65 expr.txi finance.txi fn-idx.txi func.txi geometry.txi gpl.txi \ |
6558
|
66 grammar.txi hashing.txi image.txi install.txi interp.txi \ |
|
67 intro.txi io.txi linalg.txi matrix.txi nonlin.txi numbers.txi \ |
6537
|
68 op-idx.txi optim.txi package.txi plot.txi poly.txi preface.txi \ |
5164
|
69 quad.txi quaternion.txi set.txi signal.txi sparse.txi stats.txi \ |
6529
|
70 stmt.txi strings.txi struct.txi system.txi \ |
5582
|
71 testfun.txi tips.txi var.txi vr-idx.txi |
152
|
72 |
6572
|
73 SOURCES := $(SUB_SOURCE) $(SCRIPT_SOURCES) |
3294
|
74 |
3851
|
75 MAIN_TEXINFO := $(srcdir)/octave.texi |
3297
|
76 |
|
77 SUB_TEXINFO := $(SUB_SOURCE:.txi=.texi) |
|
78 |
6654
|
79 # Don't list ../conf.texi here. |
|
80 TEXINFO_SOURCE := $(MAIN_TEXINFO) $(SUB_TEXINFO) contributors.texi |
|
81 |
|
82 TEXINFO := $(TEXINFO_SOURCE) ../conf.texi |
152
|
83 |
6673
|
84 TEXI2DVICOMMAND = TEXINPUTS="..:$(srcdir):$(srcdir)/..:$(TEXINPUTS):" \ |
|
85 $(UNSETCOMSPEC) $(TEXI2DVI) $(MAIN_TEXINFO) --output $@ |
|
86 |
|
87 TEXI2PDFCOMMAND = TEXINPUTS="..:$(srcdir):$(srcdir)/..:$(TEXINPUTS):" \ |
|
88 $(UNSETCOMSPEC) $(TEXI2PDF) $(MAIN_TEXINFO) --output $@ |
|
89 |
|
90 FORMATTED = octave.info octave.pdf octave-a4.pdf octave.info-[0-9]* |
328
|
91 |
4339
|
92 MAN_BASE := mkoctfile octave octave-bug octave-config |
4149
|
93 MAN_SRC := $(addsuffix .1, $(MAN_BASE)) |
|
94 |
5775
|
95 # FIXME -- need to include generated figures here... |
6650
|
96 DISTFILES = Makefile.in contributors.in mkcontrib.awk dir \ |
6654
|
97 munge-texi.cc $(MAN_SRC) $(SOURCES) $(TEXINFO_SOURCE) $(FORMATTED) $(IMAGES) |
299
|
98 |
5706
|
99 DISTDIRS = HTML |
|
100 |
6001
|
101 DISTSUBDIRS := |
5706
|
102 |
6001
|
103 SUBDIRS := |
5806
|
104 |
2624
|
105 # Look for version.h to get version information. |
|
106 xfiles := $(TOPDIR)/src/version.h $(srcdir)/$(TOPDIR)/src/version.h |
|
107 |
|
108 version_file := $(firstword $(foreach file, $(xfiles), $(wildcard $(file)))) |
|
109 |
2689
|
110 SPELL = $(patsubst %.texi, %.spell, $(TEXINFO)) |
152
|
111 |
|
112 %.spell : %.texi |
|
113 rm -f $@ |
4084
|
114 $(SED) -e 's/@@/ at /g' -e 's/@[a-zA-Z]*//g' $< | spell > $@.tmp |
152
|
115 mv $@.tmp $@ |
|
116 |
6673
|
117 all: octave.info octave.pdf octave-a4.pdf HTML/index.html |
152
|
118 .PHONY: all |
|
119 |
4098
|
120 $(TEXINFO): src-DOCSTRINGS scripts-DOCSTRINGS munge-texi$(BUILD_EXEEXT) |
3297
|
121 |
4298
|
122 munge-texi$(BUILD_EXEEXT): munge-texi.cc |
|
123 $(BUILD_CXX) $(BUILD_CXXFLAGS) -o $@ $^ $(BUILD_LDFLAGS) |
3313
|
124 |
4619
|
125 src-DOCSTRINGS: |
4093
|
126 $(MAKE) -C ../../src DOCSTRINGS |
|
127 .PHONY: src-DOCSTRINGS |
|
128 |
|
129 scripts-DOCSTRINGS: |
|
130 $(MAKE) -C ../../scripts DOCSTRINGS |
|
131 .PHONY: scripts-DOCSTRINGS |
3294
|
132 |
6535
|
133 contributors.texi: contributors.in |
|
134 $(AWK) -f $(srcdir)/mkcontrib.awk $(srcdir)/contributors.in > $@-t |
|
135 @$(simple-move-if-change-rule) |
|
136 |
|
137 $(SUB_TEXINFO) : %.texi : %.txi |
3364
|
138 @echo making $@ from $< |
|
139 @./munge-texi \ |
3294
|
140 -d $(TOPDIR)/src/DOCSTRINGS \ |
6152
|
141 -d $(TOPDIR)/scripts/DOCSTRINGS < $< > $@-t |
|
142 @$(simple-move-if-change-rule) |
3294
|
143 |
6577
|
144 octave.info: $(IMAGES_TXT) $(TEXINFO) $(EXAMPLE_FILES) |
6001
|
145 -$(MAKEINFO) -I.. -I$(srcdir) -I$(srcdir)/.. $(MAIN_TEXINFO) |
2000
|
146 |
6577
|
147 octave.dvi: $(IMAGES_EPS) $(TEXINFO) $(EXAMPLE_FILES) |
6116
|
148 -TEXINPUTS="..:$(srcdir):$(srcdir)/..:$(TEXINPUTS):" \ |
|
149 $(UNSETCOMSPEC) $(TEXI2DVI) $(MAIN_TEXINFO) |
2000
|
150 |
6673
|
151 octave-a4.dvi: $(IMAGES_EPS) $(TEXINFO) $(EXAMPLE_FILES) |
|
152 -$(TEXI2DVICOMMAND) -t @afourpaper |
|
153 |
|
154 octave-smallbook.dvi: $(IMAGES_EPS) $(TEXINFO) $(EXAMPLE_FILES) |
|
155 -$(TEXI2DVICOMMAND) -t @smallbook |
|
156 |
2000
|
157 octave.ps: octave.dvi |
5422
|
158 -dvips -o $@ $< |
2000
|
159 |
6673
|
160 octave-a4.ps: octave-a4.dvi |
|
161 -dvips -o $@ $< |
|
162 |
|
163 octave-smallbook.ps: octave-smallbook.dvi |
|
164 -dvips -o $@ $< |
|
165 |
6577
|
166 octave.pdf: $(IMAGES_PDF) $(TEXINFO) $(EXAMPLE_FILES) |
6673
|
167 -$(TEXI2PDFCOMMAND) |
|
168 |
|
169 octave-a4.pdf: $(IMAGES_PDF) $(TEXINFO) $(EXAMPLE_FILES) |
|
170 -$(TEXI2PDFCOMMAND) -t @afourpaper |
|
171 |
|
172 octave-smallbook.pdf: $(IMAGES_PDF) $(TEXINFO) $(EXAMPLE_FILES) |
|
173 -$(TEXI2PDFCOMMAND) -t @smallbook |
5151
|
174 |
2627
|
175 ../../INSTALL.OCTAVE: install.texi |
3176
|
176 rm -f INSTALL |
5151
|
177 -$(MAKEINFO) -D INSTALLONLY \ |
3176
|
178 --no-validate --no-headers --no-split --output INSTALL \ |
5650
|
179 -I.. -I$(srcdir) -I$(srcdir)/.. $< |
2001
|
180 mv INSTALL ../../INSTALL.OCTAVE |
2000
|
181 |
2627
|
182 ../../BUGS: bugs.texi |
3176
|
183 rm -f BUGS |
5151
|
184 -$(MAKEINFO) -D BUGSONLY \ |
3176
|
185 --no-validate --no-headers --no-split --output BUGS \ |
5650
|
186 -I.. -I$(srcdir) -I$(srcdir)/.. $< |
2001
|
187 mv BUGS ../../BUGS |
2000
|
188 |
6577
|
189 HTML/index.html: $(HTML_IMAGES_PNG) $(TEXINFO) $(EXAMPLE_FILES) |
6001
|
190 -$(MAKEINFO) --html --ifinfo --output=HTML -I.. -I$(srcdir) -I$(srcdir)/.. $(MAIN_TEXINFO) |
5708
|
191 |
6031
|
192 $(HTML_IMAGES_PNG): HTML/%.png : %.png |
|
193 @if [ -d HTML ]; then \ |
|
194 true; \ |
|
195 else \ |
|
196 echo "creating HTML directory"; \ |
|
197 mkdir HTML; \ |
|
198 fi |
6669
|
199 cp $(filter-out html-dir, $<) HTML |
3189
|
200 |
6116
|
201 ## Unset DISPLAY here to avoid problems with the -title option for |
6126
|
202 ## gnuplot (it doesn't work if we are calling pgnuplot). Sleep for |
|
203 ## a second to allow gnuplot to finish writing its output before |
|
204 ## Octave exits. |
6001
|
205 define run-octave |
6116
|
206 DISPLAY= $(TOPDIR)/run-octave -f -q -H -p $(srcdir) \ |
6126
|
207 --eval "$(notdir $(basename $<)) ('$(notdir $(basename $@))', '$(patsubst .%,%, $(suffix $@))'); sleep (1);" |
6001
|
208 endef |
|
209 |
|
210 $(SPARSEIMAGES_EPS) $(SPARSEIMAGES_PNG) $(SPARSEIMAGES_TXT): sparseimages.m |
|
211 $(run-octave) |
|
212 |
|
213 $(IMAGES_PDF) : %.pdf : %.eps |
|
214 if [ -f $< ] ; then $(GHOSTSCRIPT) -dBATCH -dEPSCrop -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=$@ $< ; fi |
|
215 |
152
|
216 check: all |
|
217 .PHONY: check |
|
218 |
5866
|
219 install install-strip: all |
5806
|
220 @$(subdir-for-command) |
4413
|
221 $(top_srcdir)/mkinstalldirs $(DESTDIR)$(man1dir) $(DESTDIR)$(infodir) |
|
222 @if test -d $(DESTDIR)$(man1dir); then \ |
4149
|
223 for f in $(MAN_BASE); do \ |
4413
|
224 rm -f $(DESTDIR)$(man1dir)/$$f$(man1ext); \ |
|
225 echo "installing $(srcdir)/$$f.1 in $(DESTDIR)$(man1dir)"; \ |
|
226 $(INSTALL_DATA) $(srcdir)/$$f.1 $(DESTDIR)$(man1dir)/$$f$(man1ext); \ |
4149
|
227 done ; \ |
979
|
228 fi |
4413
|
229 @if test -d $(DESTDIR)$(infodir); then \ |
|
230 rm -f $(DESTDIR)$(infodir)/octave.info*; \ |
|
231 echo "installing info files in $(DESTDIR)$(infodir)"; \ |
3028
|
232 if test -f octave.info; then \ |
|
233 for f in octave.info*; do \ |
4413
|
234 $(INSTALL_DATA) $$f $(DESTDIR)$(infodir)/$$f; \ |
3028
|
235 done; \ |
152
|
236 else \ |
3028
|
237 for f in $(srcdir)/octave.info*; do \ |
4413
|
238 $(INSTALL_DATA) $$f $(DESTDIR)$(infodir)/`basename $$f`; \ |
3028
|
239 done; \ |
|
240 fi; \ |
4413
|
241 if test -f $(DESTDIR)$(infodir)/dir; then \ |
|
242 if grep "^\* Octave: (octave)." $(DESTDIR)$(infodir)/dir > /dev/null; then \ |
3028
|
243 true; \ |
980
|
244 else \ |
3028
|
245 echo ""; \ |
|
246 echo "You should add the following entry"; \ |
|
247 echo ""; \ |
|
248 echo "* Octave: (octave)."; \ |
|
249 echo " Interactive language for numerical computations."; \ |
|
250 echo ""; \ |
4413
|
251 echo "to $(DESTDIR)$(infodir)/dir."; \ |
3028
|
252 echo ""; \ |
|
253 fi; \ |
976
|
254 else \ |
4413
|
255 echo "installing $(srcdir)/dir in $(DESTDIR)$(infodir)"; \ |
|
256 $(INSTALL_DATA) $(srcdir)/dir $(DESTDIR)$(infodir)/dir; \ |
3028
|
257 fi; \ |
152
|
258 fi |
5866
|
259 .PHONY: install install-strip |
152
|
260 |
5866
|
261 uninstall: |
|
262 @$(subdir-for-command) |
4149
|
263 rm -f $(infodir)/octave.info* |
4413
|
264 for f in $(MAN_BASE); do rm -f $(DESTDIR)$(man1dir)/$$f$(man1ext); done |
5866
|
265 .PHONY: uninstall |
152
|
266 |
|
267 tags: $(SOURCES) |
|
268 ctags $(SOURCES) |
|
269 |
|
270 TAGS: $(SOURCES) |
|
271 etags $(SOURCES) |
|
272 |
|
273 spell: $(SPELL) |
|
274 .PHONY: spell |
|
275 |
5866
|
276 mostlyclean clean: |
|
277 @$(subdir-for-command) |
1458
|
278 rm -f octave.cp octave.fn octave.in \ |
349
|
279 octave.ky octave.op octave.pg octave.rd octave.tp octave.vr \ |
|
280 octave.cps octave.fns octave.ins octave.kys octave.ops \ |
|
281 octave.pgs octave.rds octave.tps octave.vrs octave.aux \ |
3601
|
282 octave.log octave.toc \ |
5866
|
283 munge-texi$(BUILD_EXEEXT) munge-texi.o |
|
284 .PHONY: mostlyclean clean |
152
|
285 |
5866
|
286 distclean: clean |
|
287 @$(subdir-for-command) |
3601
|
288 rm -f Makefile |
5866
|
289 .PHONY: distclean |
152
|
290 |
6673
|
291 maintainer-clean: clean clean-texi |
6001
|
292 rm -f Makefile tags TAGS $(FORMATTED) $(IMAGES) |
5422
|
293 rm -rf HTML |
5866
|
294 .PHONY: maintainer-clean |
152
|
295 |
3315
|
296 clean-texi: |
6535
|
297 rm -f $(SUB_TEXINFO) contributors.texi |
3315
|
298 .PHONY: clean-texi |
|
299 |
|
300 dist: clean-texi all |
6467
|
301 ln $(DISTFILES) ../../`cat ../../.fname`/doc/interpreter |
6468
|
302 for dir in $(DISTDIRS); do ln ../../doc/interpreter/$$dir ../../`cat ../../.fname`/doc/interpreter/$$dir; done |
5706
|
303 for dir in $(DISTSUBDIRS); do mkdir ../../`cat ../../.fname`/doc/interpreter/$$dir; $(MAKE) -C $$dir $@; done |
152
|
304 .PHONY: dist |