File: Makefile

package info (click to toggle)
calc 2.02f-28
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 3,856 kB
  • ctags: 2,397
  • sloc: lisp: 44,261; sh: 300; makefile: 99
file content (188 lines) | stat: -rw-r--r-- 5,034 bytes parent folder | download | duplicates (2)
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
# Makefile for "Calc", the GNU Emacs Calculator.
#  Copyright (C) 1991, 1992, 1993 Free Software Foundation.
#  Author: Dave Gillespie.
#  Author's address: daveg@synaptics.com.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation (any version).

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with GNU Emacs; see the file COPYING.  If not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.


# To install Calc for private use, type `make'.
# To install Calc for public use, type `make install'.

# How to read a Makefile:
#   The command `make target' looks for `target:' in the Makefile.
#   First, any sub-targets after the `:' are made.
#   Then, the Unix commands on the following lines are executed.
#   `$(SYMBOL)' expands according to the `SYMBOL =' definition below.


# Programs.
EMACS    = emacs
TEX      = tex
TEXINDEX = texindex
MAKEINFO = makeinfo --force
MAKE	 = make
ECHO	 = @echo
REMOVE	 = -rm -f
# (The leading `@' tells "make" not to echo the command itself during make;
#  The leading `-' tells "make" to keep going if the command fails.)

# Other macros.
EFLAGS   = -batch
MAINT	 = -l calc-maint.el

# Control whether intermediate files are kept.
PURGE	 = -rm -f
#PURGE	 = echo Not deleting:



# Do full Calc installation.  (Note that `make' == `make all'.)
# These are written this way instead of `all: compile private info'
# to make the steps more explicit while the `make' is in progress.
all:
	$(MAKE) compile
	$(MAKE) private
	$(MAKE) info
	$(ECHO) "Calc is now installed."

install:
	$(MAKE) compile
	$(MAKE) public
	$(MAKE) info
	$(ECHO) "Calc is now installed."


# Compile Calc.
compile: maint
	$(EMACS) $(EFLAGS) $(MAINT) -f calc-compile


# Add autoload and set-global-key commands to system default file.
public: maint
	$(EMACS) $(EFLAGS) $(MAINT) -f calc-public-autoloads


# Add autoload and set-global-key commands to ~/.emacs file.
private: maint
	$(EMACS) $(EFLAGS) $(MAINT) -f calc-private-autoloads


# Format the Calc manual for the Info system using makeinfo.
info: calc.info
calc.info: calc.texinfo
	-$(MAKEINFO) calc.texinfo
	$(ECHO) "Please ignore warnings for Copying, Getting Started, and Interactive Tutorial."
	$(MAKE) texinfo


# Format the Calc manual for the Info system using texinfo.el.
# (Use this only if you do not have makeinfo.)
texinfo: calc.info-2
calc.info-2: calc.texinfo
	$(EMACS) $(EFLAGS) calc.texinfo -f texinfo-format-buffer -f save-buffer


# Format the Calc manual as one printable volume using TeX.
tex:
	$(REMOVE) calc.aux
	$(TEX) calc.texinfo
	$(TEXINDEX) calc.[cfkptv]?
	$(TEX) calc.texinfo
	$(PURGE) calc.cp calc.fn calc.pg calc.tp calc.vr
	$(PURGE) calc.cps calc.fns calc.kys calc.pgs calc.tps calc.vrs
	$(PURGE) calc.toc
# Note, calc.aux and calc.ky are left behind for the benefit of "make summary".

# Format the Calc manual as two printable volumes (Tutorial and Reference).
tex2: texsplit texvol1 texvol2

# Format the Calc Tutorial volume only.
textut: texsplit1 texvol1

# Format the Calc Reference volume only.
texref: texsplit2 texvol2

texsplit: maint
	$(EMACS) $(EFLAGS) $(MAINT) calc.texinfo -f calc-split-manual

texsplit1: maint
	$(EMACS) $(EFLAGS) $(MAINT) calc.texinfo -f calc-split-tutorial

texsplit2: maint
	$(EMACS) $(EFLAGS) $(MAINT) calc.texinfo -f calc-split-reference

texvol1:
	$(TEX) calctut.tex
	$(TEXINDEX) calctut.??
	$(TEX) calctut.tex
	$(PURGE) calctut.tex calctut.?? calctut.??s calctut.aux calctut.toc

texvol2:
	$(TEX) calcref.tex
	$(TEXINDEX) calcref.??
	$(TEX) calcref.tex
	$(PURGE) calcref.tex calcref.?? calcref.??s calcref.aux calcref.toc


# Format the Calc summary separately using TeX.
summary: texsum
	$(TEX) calcsum.tex
	$(PURGE) calcsum.?? calcsum.aux calcsum.toc

texsum: maint
	$(EMACS) $(EFLAGS) $(MAINT) calc.texinfo -f calc-split-summary

isummary: texisum
	$(TEX) calcsum.tex
	$(PURGE) calcsum.?? calcsum.aux calcsum.toc

texisum: maint
	$(EMACS) $(EFLAGS) $(MAINT) calc.texinfo -f calc-inline-summary


# All this because "-l calc-maint" doesn't work.
maint: calc-maint.el

#maint: calc-maint.elc
#calc-maint.elc: calc-maint.el
#	cp calc-maint.el calc-maint.elc


# Create an Emacs TAGS file
tags: TAGS
TAGS:
	etags *.el


# Delete .elc files and other reconstructible files.
clean:  clean.elc clean.info clean.tex

clean.elc:
	$(REMOVE) calc-*.elc
	$(REMOVE) macedit.elc

clean.info:
	$(REMOVE) calc.info*

clean.tex:
	$(REMOVE) calc.cp calc.fn calc.ky calc.pg calc.tp calc.vr
	$(REMOVE) calc.cps calc.fns calc.kys calc.pgs calc.tps calc.vrs
	$(REMOVE) calc.aux calc.log calc.toc calc.dvi
	$(REMOVE) calcref.*
	$(REMOVE) calctut.*
	$(REMOVE) calcsum.*