Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 295 lines (215 sloc) 8.002 kb
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
1 # Makefile - for the IDLWAVE distribution.
2 #
3 # Maintainer: J.D. Smith <jdsmith@astro.cornell.edu>
4 # Version: VERSIONTAG
5 #
6 # To install IDLWAVE, (optionally) edit the Makefile, type `make',
7 # then `make install', or `make install-all' (to include full info
8 # help files).
9
10 ##----------------------------------------------------------------------
11 ## YOU MUST EDIT THE FOLLOWING LINES
12 ##----------------------------------------------------------------------
13
14 # Prefix of installation path for Info and Lisp files
15 prefix=/usr/local
16
17 # Where info files go.
18 infodir = $(prefix)/info
19
20 # Where local lisp files go.
21 lispdir = $(prefix)/share/emacs/site-lisp
22
1a1c612 - Updated to IDLWAVE v5.0, including electric-debug mode, HTML help,
jdsmith authored
23 # Where would you like to install the HTML help files?
24 # Don't forget to configure the Emacs variable `idlwave-html-help-location'
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
25 # It must also point to the directory where help files are installed.
26 helpdir = $(prefix)/etc
27
28 # Name of your emacs binary
29 EMACS=emacs
30
31 ##----------------------------------------------------------------------
32 ## YOU MAY NEED TO EDIT THESE (PROBABLY NOT...)
33 ##----------------------------------------------------------------------
34
35 # Using emacs in batch mode.
c559027 New download dir.
jdsmith authored
36 BATCH=$(EMACS) -batch -no-init-file -l lpath.el
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
37
38 # Specify the byte-compiler for compiling .el files
39 ELC= $(BATCH) -f batch-byte-compile
40
41 # How to make a dvi file from a texinfo file
42 TEXI2DVI = texi2dvi
43
44 # How to create directories
45 MKDIR = mkdir -p
46
47 # How to make a postscript file from a dvi file
48 DVIPS = dvips
49
50 # How to create the info files from the texinfo file
51 MAKEINFO = makeinfo
52
53 # How to create the HTML file
54 TEXI2HTML = texi2html -monolithic -number
55
56 # How to create the PDF fil
57
58 TEXI2PDF = texi2pdf
59
60 # How to move the byte compiled files to their destination.
61 MV = mv
62
63 # How to copy the lisp files to their destination.
64 CP = cp -p
65
66 ##----------------------------------------------------------------------
67 ## BELOW THIS LINE ON YOUR OWN RISK!
68 ##----------------------------------------------------------------------
69
70 # The following variables need to be defined by the maintainer
2a800c0 - Remove obsoleted HTML help stuff.
jdsmith authored
71 LISPFILES = idlwave.el idlw-help.el idlw-shell.el\
1a1c612 - Updated to IDLWAVE v5.0, including electric-debug mode, HTML help,
jdsmith authored
72 idlw-toolbar.el idlw-complete-structtag.el idlw-roprompt.el
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
73 ELCFILES = $(LISPFILES:.el=.elc)
74 TEXIFILES = idlwave.texi
a340fc9 - New makeinfo only produces a single info file.
jdsmith authored
75 INFOFILES = idlwave
1a1c612 - Updated to IDLWAVE v5.0, including electric-debug mode, HTML help,
jdsmith authored
76 RINFOFILES = idlw-rinfo.el
77 HTMLHELPDIR = idl_html_help
af3048c @jdtsmith Remove Changelog and update download dir.
authored
78 DLDIR = /Volumes/www/idlwave/download
79 HTMLDIR = /Volumes/www/idlwave/
6cd69cf XEmacs Package bundling code included.
jdsmith authored
80 XEMACSDIR = packages/xemacs-packages/idlwave
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
81
82 .SUFFIXES: .el .elc .texi
83 SHELL = /bin/sh
84
af3048c @jdtsmith Remove Changelog and update download dir.
authored
85 DISTFILES= README INSTALL CHANGES COPYING Makefile\
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
86 $(LISPFILES) $(TEXIFILES) $(INFOFILES) lpath.el\
2a800c0 - Remove obsoleted HTML help stuff.
jdsmith authored
87 idlwave_catalog tutorial.pro
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
88
89 WEBDISTFILES= idlwave.ps idlwave.pdf idlwave.html CHANGES
1a1c612 - Updated to IDLWAVE v5.0, including electric-debug mode, HTML help,
jdsmith authored
90 HELPDISTFILES= $(HTMLHELPDIR)
91 HELPDISTFILE=idlwave-idlv$(IDL)-help.tar.bz2
af3048c @jdtsmith Remove Changelog and update download dir.
authored
92 XEMACSDISTFILES= README INSTALL CHANGES COPYING\
6cd69cf XEmacs Package bundling code included.
jdsmith authored
93 $(LISPFILES) $(TEXIFILES) $(INFOFILES)\
2a800c0 - Remove obsoleted HTML help stuff.
jdsmith authored
94 idlwave_catalog tutorial.pro
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
95
96 EMACSDISTFILES= $(LISPFILES) $(TEXIFILES) ChangeLog
97
98 DOWNGRADEFILES= README.downgrade idlw-rinfo.el idlw-help.el idlw-help.txt
99
acc9b5c Added .PHONY tags where appropriate, and prevented get_rinfo updates
jdsmith authored
100 .PHONY: all
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
101 all: lisp
102
acc9b5c Added .PHONY tags where appropriate, and prevented get_rinfo updates
jdsmith authored
103 .PHONY: lisp
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
104 lisp: $(LISPFILES)
105 $(ELC) $(LISPFILES)
106
1a1c612 - Updated to IDLWAVE v5.0, including electric-debug mode, HTML help,
jdsmith authored
107 .PHONY: install
108 install: install-lisp
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
109
1a1c612 - Updated to IDLWAVE v5.0, including electric-debug mode, HTML help,
jdsmith authored
110 .PHONY: install-all
111 install-all: install-lisp install-info
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
112
acc9b5c Added .PHONY tags where appropriate, and prevented get_rinfo updates
jdsmith authored
113 .PHONY: install-lisp
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
114 install-lisp:
115 if [ ! -d $(lispdir) ]; then $(MKDIR) $(lispdir); else true; fi ;
116 $(CP) $(LISPFILES) $(lispdir)
117 $(CP) $(ELCFILES) $(lispdir)
118
acc9b5c Added .PHONY tags where appropriate, and prevented get_rinfo updates
jdsmith authored
119 .PHONY: install-info
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
120 install-info:
121 if [ ! -d $(infodir) ]; then $(MKDIR) $(infodir); else true; fi ;
122 $(CP) $(INFOFILES) $(infodir)
123
124
1a1c612 - Updated to IDLWAVE v5.0, including electric-debug mode, HTML help,
jdsmith authored
125 # HELP
26db2a7 - Silence errors relating to missing help package or xemacs distrib.
jdsmith authored
126 HELPFILEMAYBE := $(shell ls -1 idlwave-*help.tar.* 2>/dev/null | head -1 )
1a1c612 - Updated to IDLWAVE v5.0, including electric-debug mode, HTML help,
jdsmith authored
127 ifdef HELPFILEMAYBE
128 HELPFILECODE := $(shell echo $(HELPFILEMAYBE) | grep -q "\.gz$$" && echo "z" || echo "j")
129 endif
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
130
acdc76b - Use the VERSION directly from the xemacs package Makefile, since it
jdsmith authored
131 # XEMACS VERSION
26db2a7 - Silence errors relating to missing help package or xemacs distrib.
jdsmith authored
132 XEMACS-TAG := $(shell [ -f $(XEMACSDIR)/Makefile ] && perl -ne 'if(/^VERSION\s+=\s+([0-9]\.[0-9]+)/) {print $$1; exit}' $(XEMACSDIR)/Makefile)
acdc76b - Use the VERSION directly from the xemacs package Makefile, since it
jdsmith authored
133
134
1a1c612 - Updated to IDLWAVE v5.0, including electric-debug mode, HTML help,
jdsmith authored
135 .PHONY: helpdist
136 helpdist: helpdistfile
137 ifdef IDL
138 if [ ! -f $(DLDIR)/$(HELPDISTFILE) ]; then $(CP) $(HELPDISTFILE) $(DLDIR); (cd $(DLDIR); ln -sf $(HELPDISTFILE) idlwave-help.tar.bz2) ; fi
139 if [ ! -f $(DLDIR)/$(HELPDISTFILE:.bz2=.gz) ]; then $(CP) $(HELPDISTFILE:.bz2=.gz) $(DLDIR); (cd $(DLDIR); ln -sf $(HELPDISTFILE) idlwave-help.tar.gz) ; fi
140 endif
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
141
1a1c612 - Updated to IDLWAVE v5.0, including electric-debug mode, HTML help,
jdsmith authored
142 .PHONY: helpdistfile
143 helpdistfile: $(HELPDISTFILE) $(HELPDISTFILE:.bz2=.gz)
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
144
1a1c612 - Updated to IDLWAVE v5.0, including electric-debug mode, HTML help,
jdsmith authored
145 $(HELPDISTFILE): $(HELPDISTFILES)
146 tar cjf $(HELPDISTFILE) $(HELPDISTFILES)
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
147
1a1c612 - Updated to IDLWAVE v5.0, including electric-debug mode, HTML help,
jdsmith authored
148 $(HELPDISTFILE:.bz2=.gz): $(HELPDISTFILES)
149 tar czf $(HELPDISTFILE:.bz2=.gz) $(HELPDISTFILES)
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
150
1a1c612 - Updated to IDLWAVE v5.0, including electric-debug mode, HTML help,
jdsmith authored
151 .PHONY: install-help
152 install-help:
153 @[ -d idl_html_help -o -f "$(HELPFILEMAYBE)" ] || { echo -e "**** Help package missing. ****\n Download here from idlwave.org and try again, if desired."; exit 1; }
154 if [ ! -d $(helpdir) ]; then $(MKDIR) $(helpdir); else true; fi ;
155 if [ -f $(HELPFILEMAYBE) ]; then tar x$(HELPFILECODE)f $(HELPFILEMAYBE) -C $(helpdir) ; else $(CP) $(HTMLHELPDIR) $(helpdir) ; fi ;
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
156
1a1c612 - Updated to IDLWAVE v5.0, including electric-debug mode, HTML help,
jdsmith authored
157 # EMACS code
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
158
6cd69cf XEmacs Package bundling code included.
jdsmith authored
159 .PHONY: distfile
66b53ad distfile depends on $(DISTFILES)
jdsmith authored
160 distfile: $(DISTFILES)
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
161 @if [ "X$(TAG)" = "X" ]; then echo "*** No tag ***"; exit 1; fi
162 rm -rf idlwave-$(TAG)
163 mkdir idlwave-$(TAG)
164 cp -p $(DISTFILES) idlwave-$(TAG)/
6cd69cf XEmacs Package bundling code included.
jdsmith authored
165 chmod ug+rw idlwave-$(TAG)/*
1a1c612 - Updated to IDLWAVE v5.0, including electric-debug mode, HTML help,
jdsmith authored
166 perl -pi -e 's/\bVERSIONTAG\b/$(TAG)/' idlwave-$(TAG)/*
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
167 tar czvf idlwave-$(TAG).tar.gz idlwave-$(TAG)
6cd69cf XEmacs Package bundling code included.
jdsmith authored
168 rm -rf idlwave-$(TAG)
1a1c612 - Updated to IDLWAVE v5.0, including electric-debug mode, HTML help,
jdsmith authored
169
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
170
6cd69cf XEmacs Package bundling code included.
jdsmith authored
171 .PHONY: dist
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
172 dist: $(WEBDISTFILES)
173 make distfile TAG=$(TAG)
174 cp -p idlwave-$(TAG).tar.gz $(DLDIR)
175 (cd $(DLDIR); ln -sf idlwave-$(TAG).tar.gz idlwave.tar.gz)
176 (cd $(DLDIR); ln -sf idlwave-$(TAG).tar.gz idlwave-alpha.tar.gz)
177 cp -f $(WEBDISTFILES) $(HTMLDIR)
1a1c612 - Updated to IDLWAVE v5.0, including electric-debug mode, HTML help,
jdsmith authored
178 perl -pi -e 's/\bVERSIONTAG\b/$(TAG)/' $(HTMLDIR)/CHANGES
179
180 .PHONY: alphadist
181 alphadist:
182 make distfile TAG=$(TAG)
183 cp idlwave-$(TAG).tar.gz $(DLDIR)
184 (cd $(DLDIR); ln -sf idlwave-$(TAG).tar.gz idlwave-alpha.tar.gz)
185
186 .el.elc:
187 $(ELC) $<
188
189
190 # XEMACS Code
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
191
6cd69cf XEmacs Package bundling code included.
jdsmith authored
192 .PHONY: xemacsdistfile
193 xemacsdistfile: $(XEMACSDISTFILES)
194 @if [ "X$(TAG)" = "X" ]; then echo "*** No tag ***"; exit 1; fi
195 cp -pf $(XEMACSDISTFILES) $(XEMACSDIR)/
acdc76b - Use the VERSION directly from the xemacs package Makefile, since it
jdsmith authored
196 (cd $(XEMACSDIR); perl -pi -e 's/\bVERSIONTAG\b/$(TAG)/' $(XEMACSDISTFILES))
197 perl -pi -e 's/^(AUTHOR_VERSION\s*=\s*)([0-9]\.[0-9.a-z]+)/$${1}$(TAG)/' $(XEMACSDIR)/Makefile
6cd69cf XEmacs Package bundling code included.
jdsmith authored
198 (cd $(XEMACSDIR); make bindist)
199
200 .PHONY: xemacsdist
201 xemacsdist:
202 make xemacsdistfile TAG=$(TAG)
acdc76b - Use the VERSION directly from the xemacs package Makefile, since it
jdsmith authored
203 cp -p xemacs-packages/idlwave-$(XEMACS-TAG)-pkg.tar.gz $(DLDIR)
204 (cd $(DLDIR); ln -sf idlwave-$(XEMACS-TAG)-pkg.tar.gz idlwave-xemacs.tar.gz)
6cd69cf XEmacs Package bundling code included.
jdsmith authored
205
1a1c612 - Updated to IDLWAVE v5.0, including electric-debug mode, HTML help,
jdsmith authored
206 .PHONY: xemacsalphadist
207 xemacsalphadist:
208 make xemacsdistfile TAG=$(TAG)
209 cp -p xemacs-packages/idlwave-$(TAG)-pkg.tar.gz $(DLDIR)
210 (cd $(DLDIR); ln -sf idlwave-$(TAG)-pkg.tar.gz idlwave-xemacs-alpha.tar.gz)
211
212 # Specific File Targets
213
214 $(INFOFILES): $(TEXIFILES)
215 $(MAKEINFO) idlwave.texi
216
217 idlwave.dvi: idlwave.texi
218 $(TEXI2DVI) idlwave.texi
219
220 idlwave.ps: idlwave.dvi
221 $(DVIPS) -o idlwave.ps idlwave.dvi
222
223 idlwave.html: idlwave.texi
224 $(TEXI2HTML) idlwave.texi
225
226 idlwave.pdf: idlwave.texi
227 $(TEXI2PDF) idlwave.texi
228
229 NUTSHELL: idlwave.texi
230 makeinfo --no-headers idlwave.texi|perl NUTSHELL.pl>NUTSHELL
231
232
233 # Helper Targets
234
235 .PHONY: info
236 info: $(INFOFILES)
237
238 .PHONY: dvi
239 dvi: idlwave.dvi
240
241 .PHONY: view
242 view:
243 xdvi idlwave.dvi&
244
245 .PHONY: ps
246 ps: idlwave.ps
247
248 .PHONY: ps2
249 ps2: idlwave.ps
250 psnup -2 idlwave.ps>idlwave.ps2
251
252 .PHONY: html
253 html: idlwave.html
254
255 .PHONY: dvi
256 pdf: idlwave.pdf
257
258 rinfo: rinfo56_html
259
260 rinfo53:
261 ./get_rinfo53 -txt -path pdf53 -idl idl_5.3
262
263 rinfo54:
264 ./get_rinfo54 -txt -path pdf54 -idl idl_5.4
265
266 rinfo55:
267 ./get_rinfo -fixup help55fixup.txt -txt -path pdf55 -idl idl_5.5
268
269 rinfo56:
270 ./get_rinfo -txt -path pdf56 -idl idl_5.6
271
272 rinfo56_html:
273 ./get_html_rinfo -path idl_html_help/ -idl idl_5.6
274
275 dgkit:
276 @if [ "X$(IDL)" = "X" ]; then echo "*** No IDL tag ***"; exit 1; fi
277 make rinfo$(IDL)
278 tar czvf idlwave-downgrade-for-idl$(IDL).tar.gz $(DOWNGRADEFILES)
279
280
281 # Cleanup
c8115d3 Initial seed of IDLWAVE v4.10
jdsmith authored
282
283 clean:
284 rm -f $(ELCFILES)
285 rm -f *~
286 rm -f *.aux *.cp *.cps *.dvi *.fn *.fns *.ky *.kys *.pg *.pgs
287 rm -f *.toc *.tp *.tps *.vr *.vrs *.log *.html *.ps
288
289 veryclean:
290 rm -f $(ELCFILES)
291 rm -f *~ idlwave idlwave-[1-9]
292 rm -f *.aux *.cp *.cps *.dvi *.fn *.fns *.ky *.kys *.pg *.pgs
293 rm -f *.toc *.tp *.tps *.vr *.vrs *.log *.html *.ps
294
Something went wrong with that request. Please try again.