Source

emacs / Makefile.in

Jim Blandy cde1f15 


Jim Blandy 77c38d1 
Jim Blandy cde1f15 

Jim Blandy 10650df 
Jim Blandy 77c38d1 
Jim Blandy 10650df 

Jim Blandy e0acfb7 
Jim Blandy 10650df 












Richard M. Stall… 71fa5c4 
Jim Blandy 10650df 






Jim Blandy 77c38d1 

Richard M. Stall… f2edac5 


Jim Blandy 77c38d1 
Jim Blandy 10650df 

Jim Blandy 0126ca7 
Jim Blandy 20b847f 
Jim Blandy 0126ca7 
Jim Blandy b951532 
Jim Blandy c64e97b 

Richard M. Stall… 2d2812d 
Richard M. Stall… f37a8bf 
Jim Blandy 9403c91 
Jim Blandy deeb7a3 
Jim Blandy eb75df1 
Jim Blandy 10650df 





Jim Blandy 0126ca7 
Jim Blandy 10650df 


Jim Blandy 0126ca7 

Jim Blandy cde1f15 
Jim Blandy 77c38d1 
Jim Blandy 10650df 


Jim Blandy 253a291 

Jim Blandy bd3afc2 
Jim Blandy 10650df 
Jim Blandy 4ca5a6b 
Jim Blandy 77c38d1 
Jim Blandy cde1f15 

Brian Fox 0a1aaee 
Jim Blandy 77c38d1 
Jim Blandy e0acfb7 
Jim Blandy 10650df 
Brian Fox 0a1aaee 
Jim Blandy 77c38d1 
Jim Blandy bd3afc2 
Richard M. Stall… 33bdcdd 

Richard M. Stall… 4ec345b 
Jim Blandy 77c38d1 
Jim Blandy bd3afc2 

Jim Blandy e0acfb7 
Richard M. Stall… a9a8a23 
Jim Blandy bd3afc2 

Brian Fox 0a1aaee 
Jim Blandy bd3afc2 
Richard M. Stall… 9e55dae 
Jim Blandy bd3afc2 




Brian Fox 0a1aaee 
Jim Blandy bd3afc2 
Richard M. Stall… 28320ca 


Jim Blandy 7c17d7f 
Jim Blandy 10650df 


Jim Blandy b951532 
Jim Blandy bd3afc2 
Roland McGrath 499783e 


Richard M. Stall… 252bf4f 


Jim Blandy bd3afc2 

Jim Blandy 10650df 


Brian Fox 0a1aaee 




Jim Blandy 77c38d1 
Brian Fox 0a1aaee 




Jim Blandy b951532 



Jim Blandy cde1f15 
Brian Fox 0a1aaee 
Jim Blandy 77c38d1 
Jim Blandy b951532 



Richard M. Stall… ad8ab5d 

Jim Blandy b951532 


Jim Blandy d28c54b 
Jim Blandy 77c38d1 
Brian Fox 0a1aaee 






Jim Blandy cde1f15 
Brian Fox 0a1aaee 





Eric S. Raymond 19e1e3c 
Karl Heuer f4dead1 


Jim Blandy cde1f15 


Richard M. Stall… 7b41862 
Jim Blandy 4ca5a6b 

Richard M. Stall… 9d39266 

Jim Blandy cde1f15 

Jim Blandy 77c38d1 
Karl Heuer 2c8a6d5 


Jim Blandy 77c38d1 


Kenichi Handa de84167 
Jim Blandy 77c38d1 
Jim Blandy 10650df 
Kenichi Handa de84167 
Jim Blandy 10650df 
Jim Blandy f756519 

Kenichi Handa de84167 
Jim Blandy f756519 


Richard M. Stall… e54c45b 

Jim Blandy 77c38d1 
Richard M. Stall… d9496ad 
Jim Blandy 77c38d1 
Richard M. Stall… d836abb 
Jim Blandy cde1f15 
Richard M. Stall… d9496ad 

Jim Blandy 094bec4 

Richard M. Stall… 252bf4f 
Karl Heuer e8551f1 
Jim Blandy 094bec4 


Jim Blandy 6bb1c8f 
Jim Blandy 094bec4 
Richard M. Stall… 28320ca 
Richard M. Stall… 252bf4f 
Richard M. Stall… 56b3e5e 
Karl Heuer e8551f1 
Jim Blandy 77c38d1 
Richard M. Stall… d9496ad 
Richard M. Stall… 022727d 
Richard M. Stall… 009cc28 
Jim Blandy 77c38d1 


Jim Blandy 10650df 
Brian Fox 0a1aaee 
Richard M. Stall… 8c0dd3e 

Jim Blandy 77c38d1 
Richard M. Stall… 022727d 
Richard M. Stall… c66a0a2 

Richard M. Stall… b4ef206 
Brian Fox 0a1aaee 

Jim Blandy 10650df 
Richard M. Stall… 16b03ae 
Brian Fox 0a1aaee 
Jim Blandy 10650df 
Richard M. Stall… 009cc28 
Richard M. Stall… 2af2dc0 
Richard M. Stall… 009cc28 
Richard M. Stall… 2af2dc0 
Brian Fox 0a1aaee 

Jim Blandy 10650df 
Brian Fox 0a1aaee 
Jim Blandy 10650df 

Richard M. Stall… 374b344 


Kenichi Handa de84167 


Jim Blandy 10650df 

Jim Blandy 04fb1d3 


Jim Blandy b951532 
Jim Blandy d28c54b 


Karl Heuer 2c8a6d5 
Richard M. Stall… 374b344 
Jim Blandy b951532 




Richard M. Stall… 2dbe663 

Kenichi Handa d9160fd 
Richard M. Stall… 42aa8d8 
Jim Blandy 6bb1c8f 
Richard M. Stall… c924384 
Richard M. Stall… 2dbe663 


Jim Blandy 6bb1c8f 
Brian Fox 0a1aaee 
Richard M. Stall… a9a8a23 
Richard M. Stall… 9d39266 


Richard M. Stall… f03d262 
Karl Heuer 2c8a6d5 

Richard M. Stall… f03d262 
Richard M. Stall… c924384 


Kenichi Handa d9160fd 
Richard M. Stall… c924384 
Kenichi Handa d9160fd 

Kenichi Handa 959bf7b 
Jim Blandy cde1f15 
Richard M. Stall… c924384 





Jim Blandy 0e9f73b 
Richard M. Stall… c924384 






Richard M. Stall… f2fe77b 

Richard M. Stall… c924384 











Richard M. Stall… 28320ca 
Richard M. Stall… 91377b1 
Karl Heuer bcc924f 
Richard M. Stall… 989492b 

Karl Heuer 94f0319 
Richard M. Stall… f2fe77b 

Richard M. Stall… c924384 
Richard M. Stall… 989492b 
Richard M. Stall… af013b8 

Richard M. Stall… af6c9bc 


Richard M. Stall… f2fe77b 

Richard M. Stall… af6c9bc 
Richard M. Stall… 022727d 
Richard M. Stall… 7ecee84 
Roland McGrath a829e78 
Richard M. Stall… 237f792 
Erik Naggum cace0c4 
Richard M. Stall… 7ccd829 


Richard M. Stall… 237f792 

Richard M. Stall… c924384 
Richard M. Stall… f7f9bd3 
Richard M. Stall… c924384 


Richard M. Stall… 9feb98f 
Richard M. Stall… 7ecee84 
Richard M. Stall… c924384 





Jim Blandy e0acfb7 
Jim Blandy d02d6c2 
Kenichi Handa d9160fd 




Richard M. Stall… ea92427 
Kenichi Handa d9160fd 
Richard M. Stall… 831061a 

Richard M. Stall… 9d39266 
Richard M. Stall… 831061a 
Jim Blandy e0acfb7 
Jim Blandy 10650df 
David J. MacKenz… 9d0e3c1 
Richard M. Stall… 9d10308 
Richard M. Stall… 1fb0575 
Richard M. Stall… 33bdcdd 
Richard M. Stall… a9a8a23 
Richard M. Stall… d836abb 
Jim Blandy 77c38d1 
Jim Blandy 20b847f 


Jim Blandy 9f31f2f 

Jim Blandy 20b847f 
Jim Blandy 9f31f2f 
Brian Fox 0a1aaee 
Jim Blandy 9f31f2f 
Richard M. Stall… a9a8a23 
Jim Blandy 9f31f2f 
Richard M. Stall… a25ee02 
Richard M. Stall… 022727d 

Richard M. Stall… a25ee02 







Jim Blandy 9f31f2f 
Richard M. Stall… 998641b 
Richard M. Stall… 9e55dae 
Karl Heuer cf81e12 
Jim Blandy 20b847f 

Richard M. Stall… 1fb0575 
Jim Blandy 10650df 


Richard M. Stall… 71fa5c4 
Richard M. Stall… 374b344 
Jim Blandy 20b847f 




Richard M. Stall… 1fb0575 
Brian Fox 0a1aaee 

Richard M. Stall… 374b344 
Brian Fox 0a1aaee 
Richard M. Stall… 1ddcf94 
Kenichi Handa 6928f49 
Jim Blandy 20b847f 
Jim Blandy 10650df 
Jim Blandy 20b847f 




Jim Blandy 10650df 
Jim Blandy 20b847f 
Richard M. Stall… 1fb0575 
Brian Fox 0a1aaee 

Richard M. Stall… 374b344 
Brian Fox 0a1aaee 
Richard M. Stall… 1ddcf94 
Kenichi Handa 6928f49 
Jim Blandy cde1f15 
Jim Blandy 10650df 
Jim Blandy 20b847f 





Richard M. Stall… 832d77b 
Jim Blandy 20b847f 
Richard M. Stall… 84972fa 
Richard M. Stall… 1fb0575 
Brian Fox 0a1aaee 

Richard M. Stall… 374b344 
Brian Fox 0a1aaee 
Richard M. Stall… 1ddcf94 
Kenichi Handa 6928f49 
Jim Blandy 20b847f 
Jim Blandy cde1f15 
Richard M. Stall… 71fa5c4 
Jim Blandy 20b847f 




Richard M. Stall… 71fa5c4 
Jim Blandy 20b847f 
Richard M. Stall… 71fa5c4 
Jim Blandy 20b847f 

Richard M. Stall… 71fa5c4 





Kenichi Handa 6928f49 
Jim Blandy 20b847f 
Jim Blandy cde1f15 
Jim Blandy 10650df 




Brian Fox 0a1aaee 
Richard M. Stall… 74660e3 

Jim Blandy 10650df 

Eric S. Raymond 17cbbc4 










Richard M. Stall… 2341ee4 
Eric S. Raymond 17cbbc4 
Richard M. Stall… 374b344 

Eric S. Raymond 17cbbc4 


Brian Fox 0a1aaee 


Eric S. Raymond 17cbbc4 


Richard M. Stall… 374b344 
Brian Fox 0a1aaee 
Eric S. Raymond 17cbbc4 



Brian Fox 0a1aaee 


Eric S. Raymond 17cbbc4 


Richard M. Stall… 374b344 
Brian Fox 0a1aaee 
Jim Blandy 10650df 
Jim Blandy cde1f15 
Richard M. Stall… 2ead438 
Jim Blandy cde1f15 


Jim Blandy eca8812 

Jim Blandy 10650df 
Jim Blandy 20b847f 
Richard M. Stall… 69d6418 


Brian Fox 0a1aaee 
Jim Blandy 20b847f 
Richard M. Stall… 9d10308 
  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
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
# DIST: This is the distribution Makefile for Emacs.  configure can
# DIST: make most of the changes to this file you might want, so try
# DIST: that first.

# make all	to compile and build Emacs.
# make install	to install it.
# make TAGS	to update tags tables.
#
# make clean  or  make mostlyclean
#      Delete all files from the current directory that are normally
#      created by building the program.	 Don't delete the files that
#      record the configuration.  Also preserve files that could be made
#      by building, but normally aren't because the distribution comes
#      with them.
#
#      Delete `.dvi' files here if they are not part of the distribution.
# 
# make distclean
#      Delete all files from the current directory that are created by
#      configuring or building the program.  If you have unpacked the
#      source and built the program without creating any other files,
#      `make distclean' should leave only the files that were in the
#      distribution.
# 
# make maintainer-clean
#      Delete everything from the current directory that can be
#      reconstructed with this Makefile.  This typically includes
#      everything deleted by distclean, plus more: C source files
#      produced by Bison, tags tables, info files, and so on.
#
# make extraclean
#      Still more severe - delete backup and autosave files, too.

SHELL = /bin/sh

# If Make doesn't predefine MAKE, set it here.
@SET_MAKE@

# ==================== Things `configure' Might Edit ====================

CC=@CC@
CPP=@CPP@
C_SWITCH_SYSTEM=@c_switch_system@
ALLOCA=@ALLOCA@
LN_S=@LN_S@
CFLAGS=@CFLAGS@
LDFLAGS=@LDFLAGS@
CPPFLAGS=@CPPFLAGS@
C_SWITCH_X_SITE=@C_SWITCH_X_SITE@
LD_SWITCH_X_SITE=@LD_SWITCH_X_SITE@
YACC=@YACC@

### These help us choose version- and architecture-specific directories
### to install files in.

### This should be the number of the Emacs version we're building,
### like `18.59' or `19.0'.
version=@version@

### This should be the name of the configuration we're building Emacs
### for, like `mips-dec-ultrix' or `sparc-sun-sunos'.
configuration=@configuration@

# ==================== Where To Install Things ====================

# The default location for installation.  Everything is placed in
# subdirectories of this directory.  The default values for many of
# the variables below are expressed in terms of this one, so you may
# not need to change them.  This defaults to /usr/local.
prefix=@prefix@

# Like `prefix', but used for architecture-specific files.
exec_prefix=@exec_prefix@

# Where to install Emacs and other binaries that people will want to
# run directly (like etags).
bindir=@bindir@

# Where to install architecture-independent data files.	 ${lispdir}
# and ${etcdir} are subdirectories of this.
datadir=@datadir@

# Where to install and expect the files that Emacs modifies as it
# runs.  These files are all architecture-independent.
# Right now, this is not used.
sharedstatedir=@sharedstatedir@

# Where to install and expect executable files to be run by Emacs
# rather than directly by users, and other architecture-dependent
# data.	 ${archlibdir} is a subdirectory of this.
libexecdir=@libexecdir@

# Where to install Emacs's man pages, and what extension they should have.
mandir=@mandir@
manext=.1
man1dir=$(mandir)/man1

# Where to install and expect the info files describing Emacs.	In the
# past, this defaulted to a subdirectory of ${prefix}/lib/emacs, but
# since there are now many packages documented with the texinfo
# system, it is inappropriate to imply that it is part of Emacs.
infodir=@infodir@

# Where to look for bitmap files.
bitmapdir=@bitmapdir@

# Where to find the source code.  The source code for Emacs's C kernel is
# expected to be in ${srcdir}/src, and the source code for Emacs's
# utility programs is expected to be in ${srcdir}/lib-src.  This is
# set by the configure script's `--srcdir' option.
srcdir=@srcdir@

# Tell make where to find source files; this is needed for the makefiles.
VPATH=@srcdir@

# Where to find the application default.
x_default_search_path=@x_default_search_path@

# ==================== Emacs-specific directories ====================

# These variables hold the values Emacs will actually use.  They are
# based on the values of the standard Make variables above.

# Where to install the lisp files distributed with
# Emacs.  This includes the Emacs version, so that the
# lisp files for different versions of Emacs will install
# themselves in separate directories.
lispdir=@lispdir@

# Directories Emacs should search for lisp files specific
# to this site (i.e. customizations), before consulting
# ${lispdir}.  This should be a colon-separated list of
# directories.
locallisppath=@locallisppath@

# Where Emacs will search to find its lisp files.  Before
# changing this, check to see if your purpose wouldn't
# better be served by changing locallisppath.  This
# should be a colon-separated list of directories.
lisppath=@lisppath@

# Where Emacs will search for its lisp files while
# building.  This is only used during the process of
# compiling Emacs, to help Emacs find its lisp files
# before they've been installed in their final location.
# It's usually identical to lisppath, except that 
# it does not include locallisppath, and the
# entry for the directory containing the installed lisp
# files has been replaced with ../lisp.  This should be a
# colon-separated list of directories.
buildlisppath=${srcdir}/lisp

# Where to install the other architecture-independent
# data files distributed with Emacs (like the tutorial,
# the cookie recipes and the Zippy database). This path
# usually contains the Emacs version number, so the data
# files for multiple versions of Emacs may be installed
# at once.
etcdir=@etcdir@

# Where to put executables to be run by Emacs rather than
# the user.  This path usually includes the Emacs version
# and configuration name, so that multiple configurations
# for multiple versions of Emacs may be installed at
# once.
archlibdir=@archlibdir@

# Where to put the docstring file.
docdir=@docdir@

# ==================== Utility Programs for the Build ====================

# Allow the user to specify the install program.
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
# By default, we uphold the dignity of our programs.
INSTALL_STRIP =

# ============================= Targets ==============================

# What emacs should be called when installed.
EMACS = emacs

# Subdirectories to make recursively.  `lisp' is not included
# because the compiled lisp files are part of the distribution
# and you cannot remake them without installing Emacs first.
SUBDIR = lib-src src leim

# The makefiles of the directories in $SUBDIR.
SUBDIR_MAKEFILES = lib-src/Makefile man/Makefile src/Makefile oldXMenu/Makefile lwlib/Makefile leim/Makefile

# Subdirectories to install, and where they'll go.
# lib-src's makefile knows how to install it, so we don't do that here.
# leim's makefile also knows how to install it, so we don't do that here.
# When installing the info files, we need to do special things to
# avoid nuking an existing dir file, so we don't do that here;
# instead, we have written out explicit code in the `install' targets.
COPYDIR = ${srcdir}/etc ${srcdir}/lisp
COPYDESTS = ${etcdir} ${lispdir}

all: ${SUBDIR}

removenullpaths=sed -e 's/^://g' -e 's/:$$//g' -e 's/::/:/g'

# Generate paths.h from paths.in.  This target is invoked by `configure'.
paths-force: FRC
	@(lisppath=`echo ${lisppath} | ${removenullpaths}` ;		\
	  buildlisppath=`echo ${buildlisppath} | ${removenullpaths}` ;	\
	  x_default_search_path=`echo ${x_default_search_path}`; \
	  sed < ${srcdir}/src/paths.in > paths.h.$$$$		\
	  -e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'$${lisppath}'";'	\
	  -e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'$${buildlisppath}'";' \
	  -e 's;\(#.*PATH_EXEC\).*$$;\1 "${archlibdir}";'		\
	  -e 's;\(#.*PATH_INFO\).*$$;\1 "${infodir}";'			\
	  -e 's;\(#.*PATH_DATA\).*$$;\1 "${etcdir}";'			\
	  -e 's;\(#.*PATH_BITMAPS\).*$$;\1 "${bitmapdir}";'		\
	  -e 's;\(#.*PATH_X_DEFAULTS\).*$$;\1 "${x_default_search_path}";' \
	  -e 's;\(#.*PATH_DOC\).*$$;\1 "${docdir}";') &&		\
	${srcdir}/move-if-change paths.h.$$$$ src/paths.h

src:	lib-src FRC

lib-src: FRC src/config.stamp

.RECURSIVE: ${SUBDIR}

${SUBDIR}: ${SUBDIR_MAKEFILES} FRC
	cd $@; $(MAKE) all $(MFLAGS) \
	  CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
	  LDFLAGS='${LDFLAGS}' MAKE='${MAKE}'

blessmail: ${SUBDIR_MAKEFILES} src FRC
	cd lib-src; $(MAKE) maybe-blessmail $(MFLAGS) \
	  MAKE='${MAKE}' archlibdir='$(archlibdir)'

Makefile: Makefile.in config.status
	./config.status

src/Makefile: src/Makefile.in config.status
	./config.status

src/config.stamp: src/config.in config.status
	./config.status
	touch src/config.stamp

lib-src/Makefile: lib-src/Makefile.in config.status
	./config.status

oldXMenu/Makefile: oldXMenu/Makefile.in config.status
	./config.status

lwlib/Makefile: lwlib/Makefile.in config.status
	./config.status

leim/Makefile: leim/Makefile.in config.status
	./config.status

# ==================== Installation ====================

## If we let lib-src do its own installation, that means we
## don't have to duplicate the list of utilities to install in
## this Makefile as well.

## On AIX, use tar xBf.
## On Xenix, use tar xpf.

.PHONY: install mkdir

## We delete each directory in ${COPYDESTS} before we copy into it;
## that way, we can reinstall over directories that have been put in
## place with their files read-only (perhaps because they are checked
## into RCS).  In order to make this safe, we make sure that the
## source exists and is distinct from the destination.
### We do install-arch-indep first because
### the executable needs the Lisp files and DOC file to work properly.
install: all install-arch-indep install-arch-dep blessmail install-leim
	@true

### Install the executables that were compiled specifically for this machine.
### It would be nice to do something for a parallel make
### to ensure that install-arch-indep finishes before this starts.
install-arch-dep: mkdir
	(cd lib-src; \
	  $(MAKE) install $(MFLAGS) prefix=${prefix} \
	    exec_prefix=${exec_prefix} bindir=${bindir} \
	    libexecdir=${libexecdir} archlibdir=${archlibdir} \
	    INSTALL_STRIP=${INSTALL_STRIP})
	${INSTALL_PROGRAM} $(INSTALL_STRIP) src/emacs ${bindir}/emacs-${version}
	-chmod 1755  ${bindir}/emacs-${version}
	rm -f ${bindir}/$(EMACS)
	-ln ${bindir}/emacs-${version} ${bindir}/$(EMACS)

### Install the files that are machine-independent.
### Most of them come straight from the distribution;
### the exception is the DOC-* files, which are copied
## from the build directory.

## Note that we copy DOC* and then delete DOC
## as a workaround for a bug in tar on Ultrix 4.2.
install-arch-indep: mkdir
	-set ${COPYDESTS} ; \
	for dir in ${COPYDIR} ; do \
	  if [ `(cd $$1 && /bin/pwd)` != `(cd $${dir} && /bin/pwd)` ] ; then \
	    rm -rf $$1 ; \
	  fi ; \
	  shift ; \
	done
	-set ${COPYDESTS} ; \
	mkdir ${COPYDESTS} ; \
	chmod ugo+rx ${COPYDESTS} ; \
	for dir in ${COPYDIR} ; do \
	  dest=$$1 ; shift ; \
	  [ -d $${dir} ] \
	  && [ `(cd $${dir} && /bin/pwd)` != `(cd $${dest} && /bin/pwd)` ] \
	  && (echo "Copying $${dir} to $${dest}..." ; \
	      (cd $${dir}; tar -cf - . ) \
		|(cd $${dest};umask 022; tar -xvf - && cat > /dev/null); \
	      for subdir in `find $${dest} -type d ! -name RCS -print` ; do \
		rm -rf $${subdir}/RCS ; \
		rm -rf $${subdir}/CVS ; \
		rm -f  $${subdir}/\#* ; \
		rm -f  $${subdir}/.\#* ; \
		rm -f  $${subdir}/*~ ; \
		rm -f  $${subdir}/*.orig ; \
		rm -f  $${subdir}/[mM]akefile* ; \
		rm -f  $${subdir}/ChangeLog* ; \
		rm -f  $${subdir}/dired.todo ; \
	      done) ; \
	done
	-rm -f ${lispdir}/subdirs.el
	$(srcdir)/update-subdirs ${lispdir}
	-chmod -R a+r ${COPYDESTS}
	if [ `(cd ./etc; /bin/pwd)` != `(cd ${docdir}; /bin/pwd)` ]; \
	then \
	   echo "Copying etc/DOC-* to ${docdir} ..." ; \
	   (cd ./etc; tar -cf - DOC*) \
	     |(cd ${docdir}; umask 0; tar -xvf - && cat > /dev/null); \
	   (cd $(docdir); chmod a+r DOC*; rm DOC) \
	else true; fi
	if [ -r ./lisp ] \
	   && [ x`(cd ./lisp; /bin/pwd)` != x`(cd ${lispdir}; /bin/pwd)` ] \
	   && [ x`(cd ${srcdir}/lisp; /bin/pwd)` != x`(cd ./lisp; /bin/pwd)` ]; \
	then \
	   echo "Copying lisp/*.el and lisp/*.elc to ${lispdir} ..." ; \
	   (cd lisp; tar -cf - *.el *.elc) \
	     |(cd ${lispdir}; umask 0; tar -xvf - && cat > /dev/null); \
	else true; fi
	thisdir=`/bin/pwd`; \
	if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \
	then \
	  (cd ${infodir};  \
	   if [ -f dir ]; then \
	     if [ ! -f dir.old ]; then mv -f dir dir.old; \
	     else mv -f dir dir.bak; fi; \
	   fi; \
	   cd ${srcdir}/info ; \
	   (cd $${thisdir}; ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir); \
	   (cd $${thisdir}; chmod a+r ${infodir}/dir); \
	   for f in ccmode* cl* dired-x* ediff* emacs* forms* gnus* info* message* mh-e* sc* vip*; do \
	     (cd $${thisdir}; \
	      ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f; \
	      chmod a+r ${infodir}/$$f); \
	   done); \
	else true; fi
	thisdir=`/bin/pwd`; \
	cd ${srcdir}/etc; \
	for page in emacs etags ctags ; do \
	  (cd $${thisdir}; \
	   ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${man1dir}/$${page}${manext}; \
	   chmod a+r ${man1dir}/$${page}${manext}); \
	done

### Install LEIM files.  Although they are machine-independent, we
### have separate target here instead of including it in
### `install-arch-indep'.  People who extracted LEIM files after they
### insalled Emacs itself can install only LEIM files by this target.
install-leim: leim/Makefile
	cd leim; $(MAKE) install

### Build Emacs and install it, stripping binaries while installing them.
install-strip:
	$(MAKE) INSTALL_STRIP=-s

### Build all the directories we're going to install Emacs in.	Since
### we may be creating several layers of directories (for example,
### /usr/local/lib/emacs/19.0/mips-dec-ultrix4.2), we use mkinstalldirs
### instead of mkdir.  Not all systems' mkdir programs have the `-p' flag.
mkdir: FRC
	$(srcdir)/mkinstalldirs ${COPYDESTS} ${infodir} ${man1dir} \
	  ${bindir} ${datadir} ${docdir} ${libexecdir} \
	  `echo ${locallisppath} | sed 's/:/ /g'`

### Delete all the installed files that the `install' target would
### create (but not the noninstalled files such as `make all' would
### create).
###
### Don't delete the lisp and etc directories if they're in the source tree.
uninstall:
	(cd lib-src; 					\
	 $(MAKE) $(MFLAGS) uninstall			\
	    prefix=${prefix} exec_prefix=${exec_prefix}	\
	    bindir=${bindir} libexecdir=${libexecdir} archlibdir=${archlibdir})
	for dir in ${lispdir} ${etcdir} ; do 		\
	  if [ -d $${dir} ]; then			\
	    case `(cd $${dir} ; /bin/pwd)` in		\
	      `(cd ${srcdir} ; /bin/pwd)`* ) ;;		\
	      * ) rm -rf $${dir} ;;			\
	    esac ;					\
	    case $${dir} in				\
	      ${datadir}/emacs/${version}/* )		\
	        rm -rf ${datadir}/emacs/${version}	\
	      ;;					\
	    esac ;					\
	  fi ;						\
	done
	(cd ${infodir} && rm -f cl* dired-x* ediff* emacs* forms* gnus* info* mh-e* sc* vip*)
	(cd ${man1dir}  && rm -f emacs.1 etags.1 ctags.1)
	(cd ${bindir}  && rm -f emacs-${version} $(EMACS))


FRC:

# ==================== Cleaning up and miscellanea ====================

.PHONY: mostlyclean clean distclean maintainer-clean extraclean

### `mostlyclean'
###      Like `clean', but may refrain from deleting a few files that people
###      normally don't want to recompile.  For example, the `mostlyclean'
###      target for GCC does not delete `libgcc.a', because recompiling it
###      is rarely necessary and takes a lot of time.
mostlyclean: FRC
	(cd src;      $(MAKE) $(MFLAGS) mostlyclean)
	(cd oldXMenu; $(MAKE) $(MFLAGS) mostlyclean)
	(cd lwlib;    $(MAKE) $(MFLAGS) mostlyclean)
	(cd lib-src;  $(MAKE) $(MFLAGS) mostlyclean)
	-(cd man &&   $(MAKE) $(MFLAGS) mostlyclean)
	(cd leim;     $(MAKE) $(MFLAGS) mostlyclean)

### `clean'
###      Delete all files from the current directory that are normally
###      created by building the program.  Don't delete the files that
###      record the configuration.  Also preserve files that could be made
###      by building, but normally aren't because the distribution comes
###      with them.
### 
###      Delete `.dvi' files here if they are not part of the distribution.
clean: FRC
	(cd src;      $(MAKE) $(MFLAGS) clean)
	(cd oldXMenu; $(MAKE) $(MFLAGS) clean)
	(cd lwlib;    $(MAKE) $(MFLAGS) clean)
	(cd lib-src;  $(MAKE) $(MFLAGS) clean)
	-(cd man &&   $(MAKE) $(MFLAGS) clean)
	(cd leim;     $(MAKE) $(MFLAGS) clean)

### `distclean'
###      Delete all files from the current directory that are created by
###      configuring or building the program.  If you have unpacked the
###      source and built the program without creating any other files,
###      `make distclean' should leave only the files that were in the
###      distribution.
top_distclean=\
	rm -f config.status config.cache config.log ; \
	rm -f Makefile ${SUBDIR_MAKEFILES} ; \
	(cd lock && (rm -f * || true))
distclean: FRC
	(cd src;      $(MAKE) $(MFLAGS) distclean)
	(cd oldXMenu; $(MAKE) $(MFLAGS) distclean)
	(cd lwlib;    $(MAKE) $(MFLAGS) distclean)
	(cd lib-src;  $(MAKE) $(MFLAGS) distclean)
	(cd man &&    $(MAKE) $(MFLAGS) distclean)
	(cd leim;     $(MAKE) $(MFLAGS) distclean)
	${top_distclean}

### `maintainer-clean'
###      Delete everything from the current directory that can be
###      reconstructed with this Makefile.  This typically includes
###      everything deleted by distclean, plus more: C source files
###      produced by Bison, tags tables, info files, and so on.
### 
###      One exception, however: `make maintainer-clean' should not delete
###      `configure' even if `configure' can be remade using a rule in the
###      Makefile.  More generally, `make maintainer-clean' should not delete
###      anything that needs to exist in order to run `configure' and then
###      begin to build the program.
maintainer-clean: FRC
	(cd src;      $(MAKE) $(MFLAGS) maintainer-clean)
	(cd oldXMenu; $(MAKE) $(MFLAGS) maintainer-clean)
	(cd lwlib;    $(MAKE) $(MFLAGS) maintainer-clean)
	(cd lib-src;  $(MAKE) $(MFLAGS) maintainer-clean)
	-(cd man &&   $(MAKE) $(MFLAGS) maintainer-clean)
	(cd leim;     $(MAKE) $(MFLAGS) maintainer-clean)
	${top_distclean}

### This doesn't actually appear in the coding standards, but Karl
### says GCC supports it, and that's where the configuration part of
### the coding standards seem to come from.  It's like distclean, but
### it deletes backup and autosave files too.
extraclean:
	for i in ${SUBDIR}; do (cd $$i; $(MAKE) $(MFLAGS) extraclean); done
	${top_distclean}
	-rm config-tmp-*
	-rm -f *~ \#*

### Unlocking and relocking.  The idea of these productions is to reduce
### hassles when installing an incremental tar of Emacs.  Do `make unlock'
### before unlocking the file to take the write locks off all sources so
### that tar xvof will overwrite them without fuss.  Then do `make relock'
### afterward so that VC mode will know which files should be checked in
### if you want to mung them.
###
### Note: it's no disaster if these productions miss a file or two; tar
### and VC will swiftly let you know if this happens, and it is easily
### corrected.
SOURCES = ChangeLog GETTING.GNU.SOFTWARE INSTALL Makefile.in PROBLEMS \
	README configure make-dist move-if-change

.PHONY: unlock relock

unlock:
	chmod u+w $(SOURCES) cpp/*
	-(cd elisp; chmod u+w Makefile README *.texi)
	(cd etc; $(MAKE) $(MFLAGS) unlock)
	(cd lib-src; $(MAKE) $(MFLAGS) unlock)
	(cd lisp; $(MAKE) $(MFLAGS) unlock)
	(cd lisp/term; chmod u+w README *.el)
	(cd man; chmod u+w *texi* ChangeLog split-man)
	(cd oldXMenu; chmod u+w *.[ch] Makefile README)
	(cd lwlib; chmod u+w *.[ch] Makefile README)
	(cd src; $(MAKE) $(MFLAGS) unlock)

relock:
	chmod u-w $(SOURCES) cpp/*
	-(cd elisp; chmod u-w Makefile README *.texi)
	(cd etc; $(MAKE) $(MFLAGS) relock)
	(cd lib-src; $(MAKE) $(MFLAGS) relock)
	(cd lisp; $(MAKE) $(MFLAGS) relock)
	(cd lisp/term; chmod u+w README *.el)
	(cd man; chmod u+w *texi* ChangeLog split-man)
	(cd oldXMenu; chmod u+w *.[ch] Makefile README)
	(cd lwlib; chmod u+w *.[ch] Makefile README)
	(cd src; $(MAKE) $(MFLAGS) relock)

TAGS tags:	lib-src
	cd ${srcdir}/src; $(MAKE) tags

check:
	@echo "We don't have any tests for GNU Emacs yet."

dist:
	cd ${srcdir}; make-dist

.PHONY: info dvi dist check
force-info:
info: force-info
	(cd ${srcdir}/man; $(MAKE) $(MFLAGS) info)
dvi:
	(cd man; $(MAKE) $(MFLAGS) dvi)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.