annotate Makefile.in.in @ 4885:6772ce4d982b

Fix hash tables, #'member*, #'assoc*, #'eql compiler macros if bignums lisp/ChangeLog addition: 2010-01-24 Aidan Kehoe <kehoea@parhasard.net> Correct the semantics of #'member*, #'eql, #'assoc* in the presence of bignums; change the integerp byte code to fixnump semantics. * bytecomp.el (fixnump, integerp, byte-compile-integerp): Change the integerp byte code to fixnump; add a byte-compile method to integerp using fixnump and numberp and avoiding a funcall most of the time, since in the non-core contexts where integerp is used, it's mostly distinguishing between fixnums and things that are not numbers at all. * byte-optimize.el (side-effect-free-fns, byte-after-unbind-ops) (byte-compile-side-effect-and-error-free-ops): Replace the integerp bytecode with fixnump; add fixnump to the side-effect-free-fns. Add the other extended number type predicates to the list in passing. * obsolete.el (floatp-safe): Mark this as obsolete. * cl.el (eql): Go into more detail in the docstring here. Don't bother checking whether both arguments are numbers; one is enough, #'equal will fail correctly if they have distinct types. (subst): Replace a call to #'integerp (deciding whether to use #'memq or not) with one to #'fixnump. Delete most-positive-fixnum, most-negative-fixnum from this file; they're now always in C, so they can't be modified from Lisp. * cl-seq.el (member*, assoc*, rassoc*): Correct these functions in the presence of bignums. * cl-macs.el (cl-make-type-test): The type test for a fixnum is now fixnump. Ditch floatp-safe, use floatp instead. (eql): Correct this compiler macro in the presence of bignums. (assoc*): Correct this compiler macro in the presence of bignums. * simple.el (undo): Change #'integerp to #'fixnump here, since we use #'delq with the same value as ELT a few lines down. src/ChangeLog addition: 2010-01-24 Aidan Kehoe <kehoea@parhasard.net> Fix problems with #'eql, extended number types, and the hash table implementation; change the Bintegerp bytecode to fixnump semantics even on bignum builds, since #'integerp can have a fast implementation in terms of #'fixnump for most of its extant uses, but not vice-versa. * lisp.h: Always #include number.h; we want the macros provided in it, even if the various number types are not available. * number.h (NON_FIXNUM_NUMBER_P): New macro, giving 1 when its argument is of non-immediate number type. Equivalent to FLOATP if WITH_NUMBER_TYPES is not defined. * elhash.c (lisp_object_eql_equal, lisp_object_eql_hash): Use NON_FIXNUM_NUMBER_P in these functions, instead of FLOATP, giving more correct behaviour in the presence of the extended number types. * bytecode.c (Bfixnump, execute_optimized_program): Rename Bintegerp to Bfixnump; change its semantics to reflect the new name on builds with bignum support. * data.c (Ffixnump, Fintegerp, syms_of_data, vars_of_data): Always make #'fixnump available, even on non-BIGNUM builds; always implement #'integerp in this file, even on BIGNUM builds. Move most-positive-fixnum, most-negative-fixnum here from number.c, so they are Lisp constants even on builds without number types, and attempts to change or bind them error. Use the NUMBERP and INTEGERP macros even on builds without extended number types. * data.c (fixnum_char_or_marker_to_int): Rename this function from integer_char_or_marker_to_int, to better reflect the arguments it accepts. * number.c (Fevenp, Foddp, syms_of_number): Never provide #'integerp in this file. Remove #'oddp, #'evenp; their implementations are overridden by those in cl.el. * number.c (vars_of_number): most-positive-fixnum, most-negative-fixnum are no longer here. man/ChangeLog addition: 2010-01-23 Aidan Kehoe <kehoea@parhasard.net> Generally: be careful to say fixnum, not integer, when talking about fixed-precision integral types. I'm sure I've missed instances, both here and in the docstrings, but this is a decent start. * lispref/text.texi (Columns): Document where only fixnums, not integers generally, are accepted. (Registers): Remove some ancient char-int confoundance here. * lispref/strings.texi (Creating Strings, Creating Strings): Be more exact in describing where fixnums but not integers in general are accepted. (Creating Strings): Use a more contemporary example to illustrate how concat deals with lists including integers about #xFF. Delete some obsolete documentation on same. (Char Table Types): Document that only fixnums are accepted as values in syntax tables. * lispref/searching.texi (String Search, Search and Replace): Be exact in describing where fixnums but not integers in general are accepted. * lispref/range-tables.texi (Range Tables): Be exact in describing them; only fixnums are accepted to describe ranges. * lispref/os.texi (Killing XEmacs, User Identification) (Time of Day, Time Conversion): Be more exact about using fixnum where only fixed-precision integers are accepted. * lispref/objects.texi (Integer Type): Be more exact (and up-to-date) about the possible values for integers. Cross-reference to documentation of the bignum extension. (Equality Predicates): (Range Table Type): (Array Type): Use fixnum, not integer, to describe a fixed-precision integer. (Syntax Table Type): Correct some English syntax here. * lispref/numbers.texi (Numbers): Change the phrasing here to use fixnum to mean the fixed-precision integers normal in emacs. Document that our terminology deviates from that of Common Lisp, and that we're working on it. (Compatibility Issues): Reiterate the Common Lisp versus Emacs Lisp compatibility issues. (Comparison of Numbers, Arithmetic Operations): * lispref/commands.texi (Command Loop Info, Working With Events): * lispref/buffers.texi (Modification Time): Be more exact in describing where fixnums but not integers in general are accepted.
author Aidan Kehoe <kehoea@parhasard.net>
date Sun, 24 Jan 2010 15:21:27 +0000
parents 2727d0d8ef07
children 349f01075eb7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4197
8140d3d3bbd3 [xemacs-hg @ 2007-09-30 19:56:42 by aidan]
aidan
parents: 4118
diff changeset
1 ## Copyright (C) 2003, 2005 Ben Wing.
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
2
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
3 ## DIST: This is the distribution Makefile for XEmacs. configure can
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
4 ## DIST: make most of the changes to this file you might want, so try
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
5 ## DIST: that first.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
6
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
7 ## This file is part of XEmacs.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
8
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
9 ## XEmacs is free software; you can redistribute it and/or modify it
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
10 ## under the terms of the GNU General Public License as published by the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
11 ## Free Software Foundation; either version 2, or (at your option) any
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
12 ## later version.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
13
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
14 ## XEmacs is distributed in the hope that it will be useful, but WITHOUT
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
15 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
16 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
17 ## for more details.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
18
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
19 ## You should have received a copy of the GNU General Public License
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
20 ## along with XEmacs; see the file COPYING. If not, write to
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
21 ## the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
22 ## Boston, MA 02111-1307, USA.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
23
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
24 ## make all to compile and build XEmacs.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
25 ## make install to build and install it.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
26 ## make install-only to install after a previous complete build
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
27 ## make TAGS to update tags tables.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
28
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
29 ## make clean or make mostlyclean
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
30 ## Delete all files from the current directory that are normally
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
31 ## created by building the program. Don't delete the files that
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
32 ## record the configuration. Also preserve files that could be made
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
33 ## by building, but normally aren't because the distribution comes
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
34 ## with them.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
35
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
36 ## Delete `.dvi' files here if they are not part of the distribution.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
37
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
38 ## make distclean
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
39 ## Delete all files from the current directory that are created by
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
40 ## configuring or building the program. If you have unpacked the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
41 ## source and built the program without creating any other files,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
42 ## `make distclean' should leave only the files that were in the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
43 ## distribution.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
44
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
45 ## make realclean
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
46 ## Delete everything from the current directory that can be
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
47 ## reconstructed with this Makefile. This typically includes
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
48 ## everything deleted by distclean, plus more: C source files
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
49 ## produced by Bison, tags tables, info files, and so on.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
50
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
51 ## make extraclean
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
52 ## Still more severe - delete backup and autosave files, too.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
53
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
54 #define NOT_C_CODE
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
55 #include "src/config.h"
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
56
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
57 #ifdef USE_GNU_MAKE
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
58 RECURSIVE_MAKE_ARGS=
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
59 #else
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
60 @SET_MAKE@
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
61 RECURSIVE_MAKE_ARGS=@RECURSIVE_MAKE_ARGS@
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
62 #endif
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
63
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
64 SHELL = /bin/sh
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
65 LANG = C
396
6719134a07c2 Import from CVS: tag r21-2-13
cvs
parents: 394
diff changeset
66 LC_ALL = C
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
67 RM = rm -f
426
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
68 MAKEPATH=./lib-src/make-path
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
69 pwd = /bin/pwd
430
a5df635868b2 Import from CVS: tag r21-2-23
cvs
parents: 426
diff changeset
70 TAR = tar
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
71
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
72 ## ==================== Things `configure' Might Edit ====================
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
73
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
74 CC=@CC@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
75 CPP=@CPP@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
76 LN_S=@LN_S@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
77 CFLAGS=@CFLAGS@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
78 CPPFLAGS=@CPPFLAGS@
708
512e4a478e9d [xemacs-hg @ 2001-12-20 06:08:09 by andyp]
andyp
parents: 598
diff changeset
79 LDFLAGS=@LDFLAGS@
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
80
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
81 ## These help us choose version- and architecture-specific directories
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
82 ## to install files in.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
83
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
84 ## This should be the number of the XEmacs version we're building,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
85 ## like `19.12' or `19.13'.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
86 version=@version@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
87
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
88 ## This should be the name of the configuration we're building XEmacs
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
89 ## for, like `mips-dec-ultrix' or `sparc-sun-sunos'.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
90 configuration=@configuration@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
91
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
92 ## This will be the name of the generated binary and is set automatically
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
93 ## by configure.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
94 PROGNAME=@PROGNAME@
4448
fd8a9a4d81d9 Support #!, to allow XEmacs to be called as a script interpreter.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4374
diff changeset
95 SHEBANG_PROGNAME=@SHEBANG_PROGNAME@
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
96
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
97 ## ==================== Where To Install Things ====================
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
98
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
99 ## The default location for installation. Everything is placed in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
100 ## subdirectories of this directory. The default values for many of
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
101 ## the variables below are expressed in terms of this one, so you may
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
102 ## not need to change them. This defaults to /usr/local.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
103 prefix=@prefix@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
104
422
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
105 ## Variable data (as per each program update) goes here
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
106 ## The default is ${PROGNAME}
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
107 inststaticdir=@inststaticdir@
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
108
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
109 ## Static data (constant across program updates) goes here
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
110 ## The default is ${PROGNAME}-${version}
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
111 instvardir=@instvardir@
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
112
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
113 ## Like `prefix', but used for architecture-specific files.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
114 exec_prefix=@exec_prefix@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
115
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
116 ## Where to install XEmacs and other binaries that people will want to
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
117 ## run directly (like etags).
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
118 bindir=@bindir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
119
4118
9aa33376bb5e [xemacs-hg @ 2007-08-15 12:28:06 by michaels]
michaels
parents: 3752
diff changeset
120 ## Base for installing architecture-independent data files.
9aa33376bb5e [xemacs-hg @ 2007-08-15 12:28:06 by michaels]
michaels
parents: 3752
diff changeset
121 ## ${infodir} and ${mandir} are subdirectories of this.
9aa33376bb5e [xemacs-hg @ 2007-08-15 12:28:06 by michaels]
michaels
parents: 3752
diff changeset
122 datarootdir=@datarootdir@
9aa33376bb5e [xemacs-hg @ 2007-08-15 12:28:06 by michaels]
michaels
parents: 3752
diff changeset
123
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
124 ## Where to install architecture-independent data files.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
125 ## ${lispdir} and ${etcdir} are subdirectories of this.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
126 datadir=@datadir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
127
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
128 ## Where to install and expect the files that XEmacs modifies as it runs.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
129 ## These files are all architecture-independent. Right now, the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
130 ## only such data is the locking directory;
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
131 statedir=@statedir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
132
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
133 ## Where to install and expect executable files to be run by XEmacs
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
134 ## rather than directly by users, and other architecture-dependent data
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
135 ## ${archlibdir} is a subdirectory of this.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
136 libdir=@libdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
137
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
138 ## Where to install XEmacs's man pages, and what extension they should have.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
139 mandir=@mandir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
140 manext=.1
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
141
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
142 ## Where to install and expect the info files describing XEmacs. In the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
143 ## past, this defaulted to a subdirectory of ${prefix}/lib/xemacs, but
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
144 ## since there are now many packages documented with the texinfo
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
145 ## system, it is inappropriate to imply that it is part of XEmacs.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
146 infodir=@infodir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
147
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
148 ## Document me.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
149 ## See callproc.c for code which references this.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
150 infopath=@infopath@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
151
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
152 ## Where to find the source code. The source code for XEmacs's C kernel is
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
153 ## expected to be in ${srcdir}/src, and the source code for XEmacs's
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
154 ## utility programs is expected to be in ${srcdir}/lib-src. This is
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
155 ## set by the configure script's `--srcdir' option.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
156 srcdir=@srcdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
157
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
158 ## Where the build is done.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
159 blddir=@blddir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
160
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
161 ## ==================== XEmacs-specific directories ====================
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
162
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
163 ## These variables hold the values XEmacs will actually use. They are
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
164 ## based on the values of the standard Make variables above.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
165
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
166 ## Where to install the lisp files distributed with
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
167 ## XEmacs. This includes the XEmacs version, so that the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
168 ## lisp files for different versions of XEmacs will install
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
169 ## themselves in separate directories.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
170 lispdir=@lispdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
171
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
172 ## Where to install the module files distributed with
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
173 ## XEmacs. This includes the XEmacs version, so that the
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
174 ## module files for different versions of XEmacs will install
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
175 ## themselves in separate directories.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
176 moduledir=@moduledir@
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
177
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
178 ## Directory XEmacs should search for lisp files specific
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
179 ## to this site (i.e. customizations), before consulting
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
180 ## ${lispdir}.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
181 sitelispdir=@sitelispdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
182
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
183 ## Directory XEmacs should search for module files specific
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
184 ## to this site (i.e. customizations), before consulting
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
185 ## ${moduledir}.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
186 sitemoduledir=@sitemoduledir@
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
187
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
188 ## Where XEmacs will search for its lisp files while
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
189 ## building. This is only used during the process of
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
190 ## compiling XEmacs, to help XEmacs find its lisp files
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
191 ## before they've been installed in their final location.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
192 ## It's usually identical to lispdir, except that the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
193 ## entry for the directory containing the installed lisp
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
194 ## files has been replaced with ../lisp. This should be a
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
195 ## colon-separated list of directories.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
196 buildlispdir=${srcdir}/lisp
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
197
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
198 ## Where to install the other architecture-independent
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
199 ## data files distributed with XEmacs (like the tutorial,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
200 ## the cookie recipes and the Zippy database). This path
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
201 ## usually contains the XEmacs version number, so the data
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
202 ## files for multiple versions of XEmacs may be installed
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
203 ## at once.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
204 etcdir=@etcdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
205
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
206 ## Where to put the DOC file.
420
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
207 docdir=@docdir@
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
208
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
209 ## Where to put executables to be run by XEmacs rather than
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
210 ## the user. This path usually includes the XEmacs version
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
211 ## and configuration name, so that multiple configurations
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
212 ## for multiple versions of XEmacs may be installed at
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
213 ## once.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
214 archlibdir=@archlibdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
215
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
216 ## ==================== Utility Programs for the Build ====================
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
217
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
218 ## Allow the user to specify the install program.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
219 INSTALL = @install_pp@ @INSTALL@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
220 INSTALL_PROGRAM = @INSTALL_PROGRAM@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
221 INSTALL_DATA = @INSTALL_DATA@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
222
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
223 ## ============================= Targets ==============================
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
224
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
225 ## Subdirectories to make recursively. `lisp' is not included currently;
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
226 ## rebuilding the compiled lisp files is done in the `src' make and requires
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
227 ## building XEmacs first.
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
228 MAKE_SUBDIR = @MAKE_SUBDIR@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
229
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
230 ## Subdirectories that can be made recursively.
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
231 SUBDIR = ${MAKE_SUBDIR} man
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
232
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
233 ## The makefiles of the directories in ${MAKE_SUBDIR}.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
234 SUBDIR_MAKEFILES = @SUBDIR_MAKEFILES@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
235
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
236 ## Subdirectories to `make install-arch-dep' recursively
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
237 INSTALL_ARCH_DEP_SUBDIR = @INSTALL_ARCH_DEP_SUBDIR@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
238
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
239 ## Subdirectories to install, and where they'll go.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
240 ## lib-src's makefile knows how to install it, so we don't do that here.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
241 ## When installing the info files, we need to do special things to
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
242 ## avoid nuking an existing dir file, so we don't do that here;
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
243 ## instead, we have written out explicit code in the `install' targets.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
244 COPYDIR = ${srcdir}/etc ${srcdir}/lisp
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
245 COPYDESTS = ${etcdir} ${lispdir}
3074
0f411920c8db [xemacs-hg @ 2005-11-16 12:12:57 by malcolmp]
malcolmp
parents: 3062
diff changeset
246 GENERATED_HEADERS = src/paths.h src/Emacs.ad.h src/config.h lwlib/config.h src/sheap-adjust.h src/xemacs.def etc/PROBLEMS
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
247
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
248 ## MAKE_SUBDIR will always be of the form lib-src ... src, where
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
249 ## `...' includes various other directories that may be inserted by
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
250 ## configure.
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
251 all: Makefile ${GENERATED_HEADERS} ${MAKE_SUBDIR} info
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
252
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
253 ## For performance and consistency, no built-in rules
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
254 .SUFFIXES:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
255
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
256 .NO_PARALLEL: ${GENERATED_HEADERS} ${MAKE_SUBDIR}
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
257 .PHONY: ${SUBDIR} all beta
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
258
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
259 ## Convenience target for XEmacs beta testers
4419
eb82fbb675ea Use Mercurial changeset hash to identify build version.
Mike Sperber <sperber@deinprogramm.de>
parents: 4374
diff changeset
260 beta: elcclean update-version all
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
261
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
262 ## Convenience target for XEmacs maintainers
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
263 ## This would run `make-xemacsdist' if I were really confident that everything
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
264 ## was turnkey.
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
265 dist: all
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
266
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
267 ## Convenience target for XEmacs maintainers
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
268 ## Updates some rarely generated files:
3752
7da03bc36069 [xemacs-hg @ 2006-12-19 15:24:13 by stephent]
stephent
parents: 3186
diff changeset
269 ## - configure from configure.ac
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
270 ## - config.values.in from configure
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
271 ## - src/depend from src/*.[ch]
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
272 .PHONY: config configure depend
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
273 config: configure depend
426
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
274 configure: ${srcdir}/configure ${srcdir}/lib-src/config.values.in
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
275
3752
7da03bc36069 [xemacs-hg @ 2006-12-19 15:24:13 by stephent]
stephent
parents: 3186
diff changeset
276 ${srcdir}/configure : ${srcdir}/configure.ac
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
277 cd ${srcdir} && autoconf
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
278
426
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
279 ${srcdir}/lib-src/config.values.in : ${srcdir}/configure
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
280 cd ${srcdir} && $(SHELL) lib-src/config.values.sh
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
281
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
282 depend ${srcdir}/src/depend:
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
283 cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) depend
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
284
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
285 check:
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
286 cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
287
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
288 check-features: all
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
289 cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
290
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
291 ## We have to force the building of Emacs.ad.h as well in order to get it
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
292 ## updated correctly when VPATH is being used. Since we use move-if-change,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
293 ## it will only actually change if the user modified ${etcdir}/Emacs.ad.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
294 src/Emacs.ad.h: ${srcdir}/etc/Emacs.ad
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
295 @echo "Producing \`src/Emacs.ad.h' from \`etc/Emacs.ad'."
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
296 @$(RM) src/Emacs.ad.h
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
297 @(echo "/* Do not edit this file!" ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
298 echo " Automatically generated from ${srcdir}/etc/Emacs.ad" ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
299 echo " */" ; \
426
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
300 $(SHELL) ${srcdir}/lib-src/ad2c ${srcdir}/etc/Emacs.ad ) > \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
301 src/Emacs.ad.h
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
302
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
303 src/sheap-adjust.h:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
304 @echo "Resetting \`src/sheap-adjust.h'."; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
305 (echo "/* Do not edit this file!" ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
306 echo " Automatically generated by XEmacs */" ; \
1157
6af03f821bbe [xemacs-hg @ 2002-12-13 04:29:06 by andyp]
andyp
parents: 1011
diff changeset
307 echo "#define SHEAP_ADJUSTMENT 0") > $@
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
308
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
309 src: @SRC_SUBDIR_DEPS@ FRC.src
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
310 pkg-src/tree-x: pkg-src/FRC.tree-x
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
311 lib-src: FRC.lib-src
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
312 lwlib: FRC.lwlib
4759
aa5ed11f473b Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents: 4663
diff changeset
313 FRC.src FRC.lib-src FRC.lwlib pkg-src/FRC.tree-x:
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
314 FRC.lisp.finder-inf.el:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
315
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
316 ${SUBDIR}: ${SUBDIR_MAKEFILES} ${GENERATED_HEADERS} FRC
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
317 cd ./$@ && $(MAKE) $(RECURSIVE_MAKE_ARGS) all
2259
e77c2aea9fd8 [xemacs-hg @ 2004-09-10 11:58:06 by malcolmp]
malcolmp
parents: 2128
diff changeset
318
4419
eb82fbb675ea Use Mercurial changeset hash to identify build version.
Mike Sperber <sperber@deinprogramm.de>
parents: 4374
diff changeset
319 ## This should be the same code as in configure.ac.
eb82fbb675ea Use Mercurial changeset hash to identify build version.
Mike Sperber <sperber@deinprogramm.de>
parents: 4374
diff changeset
320 update-version:
eb82fbb675ea Use Mercurial changeset hash to identify build version.
Mike Sperber <sperber@deinprogramm.de>
parents: 4374
diff changeset
321 cp ${srcdir}/version.sh.in ${srcdir}/version.sh
eb82fbb675ea Use Mercurial changeset hash to identify build version.
Mike Sperber <sperber@deinprogramm.de>
parents: 4374
diff changeset
322 if test -d ${srcdir}/.hg; then \
eb82fbb675ea Use Mercurial changeset hash to identify build version.
Mike Sperber <sperber@deinprogramm.de>
parents: 4374
diff changeset
323 (cd ${srcdir}; hg identify | cut -d " " -f 1 >> version.sh); \
eb82fbb675ea Use Mercurial changeset hash to identify build version.
Mike Sperber <sperber@deinprogramm.de>
parents: 4374
diff changeset
324 fi
eb82fbb675ea Use Mercurial changeset hash to identify build version.
Mike Sperber <sperber@deinprogramm.de>
parents: 4374
diff changeset
325
2259
e77c2aea9fd8 [xemacs-hg @ 2004-09-10 11:58:06 by malcolmp]
malcolmp
parents: 2128
diff changeset
326 ## Building modules depends on ellcc, found in lib-src.
2973
414a64af46c9 [xemacs-hg @ 2005-10-04 17:51:13 by stephent]
stephent
parents: 2720
diff changeset
327 modules/sample modules/ldap modules/zlib modules/base64: lib-src
414a64af46c9 [xemacs-hg @ 2005-10-04 17:51:13 by stephent]
stephent
parents: 2720
diff changeset
328 modules/postgresql modules/canna: lib-src
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
329
801
2b676dc88c66 [xemacs-hg @ 2002-04-01 03:58:02 by ben]
ben
parents: 776
diff changeset
330 Makefile: ${srcdir}/Makefile.in.in config.status
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
331 ./config.status
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
332 $(MAKE) $(RECURSIVE_MAKE_ARGS) all
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
333
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
334 src/Makefile: ${srcdir}/src/Makefile.in.in ${srcdir}/src/depend config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
335 ./config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
336
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
337 lib-src/Makefile: ${srcdir}/lib-src/Makefile.in.in config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
338 ./config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
339
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
340 lwlib/Makefile: ${srcdir}/lwlib/Makefile.in.in config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
341 ./config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
342
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
343 pkg-src/tree-x/Makefile: ${srcdir}/pkg-src/tree-x/Makefile.in.in config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
344 ./config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
345
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
346 src/config.h: ${srcdir}/src/config.h.in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
347 ./config.status && touch $@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
348
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
349 src/paths.h: ${srcdir}/src/paths.h.in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
350 ./config.status && touch $@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
351
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
352 lwlib/config.h: ${srcdir}/lwlib/config.h.in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
353 ./config.status && touch $@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
354
1633
baca156a450b [xemacs-hg @ 2003-08-19 02:11:46 by james]
james
parents: 1441
diff changeset
355 src/xemacs.def: $(srcdir)/src/xemacs.def.in.in
baca156a450b [xemacs-hg @ 2003-08-19 02:11:46 by james]
james
parents: 1441
diff changeset
356 ./config.status && touch $@
baca156a450b [xemacs-hg @ 2003-08-19 02:11:46 by james]
james
parents: 1441
diff changeset
357
3074
0f411920c8db [xemacs-hg @ 2005-11-16 12:12:57 by malcolmp]
malcolmp
parents: 3062
diff changeset
358 etc/PROBLEMS: $(srcdir)/PROBLEMS
0f411920c8db [xemacs-hg @ 2005-11-16 12:12:57 by malcolmp]
malcolmp
parents: 3062
diff changeset
359 cp $^ $@
0f411920c8db [xemacs-hg @ 2005-11-16 12:12:57 by malcolmp]
malcolmp
parents: 3062
diff changeset
360
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
361 ## ==================== Installation ====================
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
362
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
363 ## If we let lib-src do its own installation, that means we
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
364 ## don't have to duplicate the list of utilities to install in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
365 ## this Makefile as well.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
366
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
367 ## On AIX, use tar xBf.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
368
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
369 .PHONY: install-only install install-arch-dep install-arch-indep gzip.el mkdir
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
370 .PHONY: check check-features
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
371
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
372 ## We delete each directory in ${COPYDESTS} before we copy into it;
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
373 ## that way, we can reinstall over directories that have been put in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
374 ## place with their files read-only (perhaps because they are checked
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
375 ## into RCS). In order to make this safe, we make sure that the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
376 ## source exists and is distinct from the destination.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
377
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
378 ## FSF doesn't depend on `all', but rather on ${MAKE_SUBDIR}, so that
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
379 ## they "won't ever modify src/paths.h". But that means you can't do
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
380 ## 'make install' right off the bat because src/paths.h won't exist.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
381 ## And, in XEmacs case, src/Emacs.ad.h won't exist either. I also
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
382 ## don't see the point in avoiding modifying paths.h. It creates an
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
383 ## inconsistency in the build process. So we go ahead and depend on
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
384 ## all. --cet
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
385
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
386 install-only: ${MAKE_SUBDIR} check-features install-arch-dep install-arch-indep
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
387
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
388 install: all check-features install-arch-dep install-arch-indep
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
389
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
390 install-arch-dep: mkdir
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
391 for subdir in ${INSTALL_ARCH_DEP_SUBDIR}; do \
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
392 (cd ./$${subdir} && $(MAKE) $(RECURSIVE_MAKE_ARGS) install prefix=${prefix} \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
393 exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
394 archlibdir=${archlibdir}) ; done
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
395 if test "`(cd ${archlibdir} && $(pwd))`" != \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
396 "`(cd ./lib-src && $(pwd))`"; then \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
397 if test -f ../Installation; then \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
398 ${INSTALL_DATA} ../Installation ${archlibdir}/Installation; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
399 fi; \
422
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
400 ${INSTALL_DATA} lib-src/config.values ${docdir}/config.values; \
420
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
401 ${INSTALL_DATA} lib-src/DOC ${docdir}/DOC; \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
402 for subdir in `find ${archlibdir} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
403 do (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ; done ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
404 else true; fi
2720
6fa9919a9a0b [xemacs-hg @ 2005-04-08 23:10:01 by crestani]
crestani
parents: 2536
diff changeset
405 #if (defined(PDUMP) && !defined (DUMP_IN_EXEC)) || (defined (PDUMP) && defined(WIN32_NATIVE))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
406 ${INSTALL_DATA} src/${PROGNAME}.dmp ${bindir}/${PROGNAME}-${version}-`src/${PROGNAME} -sd`.dmp
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
407 #endif
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
408 #ifdef WIN32_NATIVE
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
409 ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
410 -chmod 0755 ${bindir}/${PROGNAME}
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
411 #else
2388
cfff883d4990 [xemacs-hg @ 2004-11-14 12:19:55 by crestani]
crestani
parents: 2259
diff changeset
412 # ifdef CYGWIN
cfff883d4990 [xemacs-hg @ 2004-11-14 12:19:55 by crestani]
crestani
parents: 2259
diff changeset
413 ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version}.exe
cfff883d4990 [xemacs-hg @ 2004-11-14 12:19:55 by crestani]
crestani
parents: 2259
diff changeset
414 -chmod 0755 ${bindir}/${PROGNAME}-${version}.exe
cfff883d4990 [xemacs-hg @ 2004-11-14 12:19:55 by crestani]
crestani
parents: 2259
diff changeset
415 cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version}.exe ./${PROGNAME}
4448
fd8a9a4d81d9 Support #!, to allow XEmacs to be called as a script interpreter.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4374
diff changeset
416 cd ${bindir} && $(RM) ./${SHEBANG_PROGNAME} && ${LN_S} ${PROGNAME}-${version}.exe ./${SHEBANG_PROGNAME}
2388
cfff883d4990 [xemacs-hg @ 2004-11-14 12:19:55 by crestani]
crestani
parents: 2259
diff changeset
417 # else
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
418 ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version}
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
419 -chmod 0755 ${bindir}/${PROGNAME}-${version}
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
420 cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version} ./${PROGNAME}
4449
13ce402e1736 Call AC_SUBST on SHEBANG_PATHNAME, for #! support.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4448
diff changeset
421 cd ${bindir} && $(RM) ./${SHEBANG_PROGNAME} && ${LN_S} ${PROGNAME}-${version} ./${SHEBANG_PROGNAME}
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
422 # endif /* CYGWIN */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
423 #endif /* WIN32_NATIVE */
997
89cca5f594bd [xemacs-hg @ 2002-09-10 15:37:48 by james]
james
parents: 801
diff changeset
424 #ifdef HAVE_SHLIB
89cca5f594bd [xemacs-hg @ 2002-09-10 15:37:48 by james]
james
parents: 801
diff changeset
425 $(INSTALL_DATA) $(srcdir)/modules/auto-autoloads.* $(moduledir)
89cca5f594bd [xemacs-hg @ 2002-09-10 15:37:48 by james]
james
parents: 801
diff changeset
426 #endif
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
427
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
428 install-arch-indep: mkdir info
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
429 -@set ${COPYDESTS} ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
430 for dir in ${COPYDIR} ; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
431 if test "`(cd $$1 && $(pwd))`" != \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
432 "`(cd $${dir} && $(pwd))`"; then \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
433 : do nothing - echo "rm -rf $$1" ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
434 fi ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
435 shift ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
436 done
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
437 -set ${COPYDESTS} ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
438 for dir in ${COPYDESTS} ; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
439 if test ! -d $${dir} ; then mkdir $${dir} ; fi ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
440 done ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
441 for dir in ${COPYDIR} ; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
442 dest=$$1 ; shift ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
443 test -d $${dir} \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
444 -a "`(cd $${dir} && $(pwd))`" != \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
445 "`(cd $${dest} && $(pwd))`" \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
446 && (echo "Copying $${dir}..." ; \
430
a5df635868b2 Import from CVS: tag r21-2-23
cvs
parents: 426
diff changeset
447 (cd $${dir} && $(TAR) -cf - . ) | \
a5df635868b2 Import from CVS: tag r21-2-23
cvs
parents: 426
diff changeset
448 (cd $${dest} && umask 022 && $(TAR) -xf - );\
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
449 chmod 0755 $${dest}; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
450 for subdir in `find $${dest} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
451 (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
452 done) ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
453 done
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
454 if test "`(cd ${srcdir}/info && $(pwd))`" != \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
455 "`(cd ${infodir} && $(pwd))`" && cd ${srcdir}/info; then \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
456 if test ! -f ${infodir}/dir -a -f dir ; then \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
457 ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
458 fi ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
459 for file in *.info* ; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
460 ${INSTALL_DATA} $${file} ${infodir}/$${file} ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
461 chmod 0644 ${infodir}/$${file}; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
462 done ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
463 fi
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
464 cd ${srcdir}/etc && \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
465 for page in xemacs etags ctags gnuserv gnuclient gnuattach gnudoit; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
466 ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext} ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
467 chmod 0644 ${mandir}/$${page}${manext} ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
468 done
2128
3c2d928e17ad [xemacs-hg @ 2004-06-14 11:01:20 by stephent]
stephent
parents: 2016
diff changeset
469 @echo "If you would like to save approximately 4M of disk space, do"
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
470 @echo "make gzip-el"
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
471 @echo "or you may run "
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
472 @echo ${srcdir}/lib-src/gzip-el.sh lispdir " from the command line."
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
473 @echo "Where lispdir is where the lisp files were installed, i.e.,"
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
474 @echo "${lispdir}"
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
475
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
476 gzip-el:
426
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
477 $(SHELL) ${srcdir}/lib-src/gzip-el.sh ${lispdir}
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
478
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
479 ## Build all the directories to install XEmacs in.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
480 ## Since we may be creating several layers of directories,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
481 ## (e.g. /usr/local/lib/${PROGNAME}-20.5/sparc-sun-solaris2.6), we use
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
482 ## make-path instead of mkdir. Not all mkdirs have the `-p' flag.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
483 mkdir: FRC.mkdir
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 442
diff changeset
484 ${MAKEPATH} ${COPYDESTS} ${docdir} ${infodir} ${archlibdir} \
1349
2e6e691f6649 [xemacs-hg @ 2003-03-09 17:23:50 by scop]
scop
parents: 1330
diff changeset
485 ${mandir} ${bindir} ${datadir} ${libdir} \
598
6452bb72f5b9 [xemacs-hg @ 2001-06-01 05:07:19 by martinb]
martinb
parents: 532
diff changeset
486 #ifdef HAVE_SHLIB
6452bb72f5b9 [xemacs-hg @ 2001-06-01 05:07:19 by martinb]
martinb
parents: 532
diff changeset
487 ${moduledir} ${sitemoduledir} \
6452bb72f5b9 [xemacs-hg @ 2001-06-01 05:07:19 by martinb]
martinb
parents: 532
diff changeset
488 #endif
6452bb72f5b9 [xemacs-hg @ 2001-06-01 05:07:19 by martinb]
martinb
parents: 532
diff changeset
489 ${sitelispdir}
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
490
4354
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
491 ## Install bundled packages, if present.
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
492
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
493 package_path = @LATE_PACKAGE_DIRECTORIES@
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
494 pkgsrcdir = ${srcdir}/etc/bundled-packages
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
495
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
496 ## #### Probably we should add a rule for lib-src/make-path here.
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
497
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
498 check-available-packages:
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
499 @if test -r ${pkgsrcdir}/bootstrap.tar.gz; \
4357
3af63264d320 Make check-available-packages announce where to install packages.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4354
diff changeset
500 then echo "To install a set of bootstrap packages in"; \
3af63264d320 Make check-available-packages announce where to install packages.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4354
diff changeset
501 echo "${package_path}/xemacs-packages, type:"; \
4354
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
502 echo " make install-bootstrap-packages"; \
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
503 fi; \
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
504 if test -r ${pkgsrcdir}/xemacs-sumo.tar.gz; \
4357
3af63264d320 Make check-available-packages announce where to install packages.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4354
diff changeset
505 then echo "To install the full set of non-mule packages in"; \
3af63264d320 Make check-available-packages announce where to install packages.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4354
diff changeset
506 echo "${package_path}/xemacs-packages, type:"; \
4354
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
507 echo " make install-nonmule-packages"; \
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
508 fi; \
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
509 if test -r ${pkgsrcdir}/xemacs-mule-sumo.tar.gz; \
4357
3af63264d320 Make check-available-packages announce where to install packages.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4354
diff changeset
510 then echo "To install the full set of packages with mule in"; \
3af63264d320 Make check-available-packages announce where to install packages.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4354
diff changeset
511 echo "${package_path}/mule-packages, type:"; \
4354
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
512 echo " make install-all-packages"; \
4361
146742e30f05 Ensure LATE_PACKAGES_DIRECTORIES is a trivial search path.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4357
diff changeset
513 fi
146742e30f05 Ensure LATE_PACKAGES_DIRECTORIES is a trivial search path.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4357
diff changeset
514
4374
4939bde48d12 Fix incorrect comment convention.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4361
diff changeset
515 ## The test for a non-trivial path simply checks for the conventional Unix
4939bde48d12 Fix incorrect comment convention.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4361
diff changeset
516 ## path separator ":". This is reasonable because this is basically just
4939bde48d12 Fix incorrect comment convention.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4361
diff changeset
517 ## a convenience feature, anyway.
4354
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
518
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
519 mkpkgdir: FRC.mkdir ${MAKEPATH}
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
520 @if test -z ${package_path}; \
4361
146742e30f05 Ensure LATE_PACKAGES_DIRECTORIES is a trivial search path.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4357
diff changeset
521 then echo "Not configured --with-late-packages; no place to install."; \
146742e30f05 Ensure LATE_PACKAGES_DIRECTORIES is a trivial search path.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4357
diff changeset
522 exit -1; \
146742e30f05 Ensure LATE_PACKAGES_DIRECTORIES is a trivial search path.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4357
diff changeset
523 elif echo ${package_path} | grep ":"; \
146742e30f05 Ensure LATE_PACKAGES_DIRECTORIES is a trivial search path.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4357
diff changeset
524 then echo "Configured with multiple late package directories; you decide where to install."; \
4354
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
525 exit -1; \
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
526 elif test -e ${package_path}/xemacs-packages \
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
527 -o -e ${package_path}/mule-packages; \
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
528 then echo "${package_path} is installed; won't overwrite packages."; \
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
529 exit -1; \
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
530 fi
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
531 ${MAKEPATH} ${package_path};
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
532
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
533 install-bootstrap-packages: mkpkgdir
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
534 cd ${package_path}; tar xvzf ${pkgsrcdir}/bootstrap.tar.gz
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
535
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
536 install-nonmule-packages: mkpkgdir
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
537 cd ${package_path}; tar xvzf ${pkgsrcdir}/xemacs-sumo.tar.gz
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
538
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
539 install-all-packages: mkpkgdir
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
540 cd ${package_path}; tar xvzf ${pkgsrcdir}/xemacs-sumo.tar.gz; \
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
541 cd ${package_path}; tar xvzf ${pkgsrcdir}/xemacs-mule-sumo.tar.gz
232d873b9705 Add support for installing bundled patches.
Stephen J. Turnbull <stephen@xemacs.org>
parents: 4197
diff changeset
542
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
543 ## Delete all the installed files that the `install' target would
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
544 ## create (but not the noninstalled files such as `make all' would
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
545 ## create).
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
546
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
547 #### Don't delete the lisp and etc directories if they're in the source tree.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
548 #### This target has not been updated in sometime and until it is it
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
549 #### would be extremely dangerous for anyone to use it.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
550 ##uninstall:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
551 ## (cd ./lib-src; \
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
552 ## $(MAKE) $(RECURSIVE_MAKE_ARGS) uninstall \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
553 ## prefix=${prefix} exec_prefix=${exec_prefix} \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
554 ## bindir=${bindir} libdir=${libdir} archlibdir=${archlibdir})
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
555 ## for dir in ${lispdir} ${etcdir} ; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
556 ## case `(cd $${dir} ; $(pwd))` in \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
557 ## `(cd ${srcdir} ; $(pwd))`* ) ;; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
558 ## * ) $(RM) $${dir} ;; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
559 ## esac ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
560 ## case $${dir} in \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
561 ## ${datadir}/${PROGNAME}/${version}/* ) \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
562 ## $(RM) -r ${datadir}/${PROGNAME}/${version} \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
563 ## ;; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
564 ## esac ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
565 ## done
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
566 ## cd ${infodir} && $(RM) cl* ${PROGNAME}* forms* info* vip*
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
567 ## cd ${mandir} && $(RM) xemacs.1 etags.1 ctags.1 gnuserv.1
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
568 ## cd ${bindir} && $(RM) ${PROGNAME}-${version} ${PROGNAME}
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
569
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
570
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
571 ## Some makes seem to remember that they've built something called FRC,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
572 ## so you can only use a given FRC once per makefile.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
573 FRC FRC.src.paths.h FRC.mkdir FRC.dump-elcs FRC.info:
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
574 FRC.mostlyclean FRC.clean FRC.distclean FRC.realclean FRC.extraclean FRC.tags:
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
575 FRC.distclean-noconfig FRC.realclean-noconfig FRC.extraclean-noconfig:
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
576
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
577 ## ==================== Cleaning up and miscellanea ====================
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
578
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
579 .PHONY: mostlyclean clean distclean realclean extraclean elcclean
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
580 .PHONY: distclean-noconfig realclean-noconfig extraclean-noconfig
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
581 .PHONY: top-mostlyclean top-clean top-distclean top-realclean top-extraclean
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
582 .PHONY: top-distclean-noconfig top-realclean-noconfig top-extraclean-noconfig
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
583
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
584 ## `mostlyclean'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
585 ## Like `clean', but may refrain from deleting a few files that people
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
586 ## normally don't want to recompile. For example, the `mostlyclean'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
587 ## target for GCC does not delete `libgcc.a', because recompiling it
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
588 ## is rarely necessary and takes a lot of time.
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
589 top-mostlyclean: FRC.mostlyclean
3083
193188e494b2 [xemacs-hg @ 2005-11-22 07:14:37 by ben]
ben
parents: 3074
diff changeset
590 -$(RM) core
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
591
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
592 mostlyclean: top-mostlyclean
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
593 for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
594
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
595 ## `clean'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
596 ## Delete all files from the current directory that are normally
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
597 ## created by building the program. Don't delete the files that
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
598 ## record the configuration. Also preserve files that could be made
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
599 ## by building, but normally aren't because the distribution comes
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
600 ## with them.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
601
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
602 ## Delete `.dvi' files here if they are not part of the distribution.
1889
bf8be6575eae [xemacs-hg @ 2004-01-28 11:20:34 by stephent]
stephent
parents: 1633
diff changeset
603
bf8be6575eae [xemacs-hg @ 2004-01-28 11:20:34 by stephent]
stephent
parents: 1633
diff changeset
604 ## Remove the generated load files here; they cause lots of problems
bf8be6575eae [xemacs-hg @ 2004-01-28 11:20:34 by stephent]
stephent
parents: 1633
diff changeset
605 ## when they don't work right. (beta can't depend on distclean, which
bf8be6575eae [xemacs-hg @ 2004-01-28 11:20:34 by stephent]
stephent
parents: 1633
diff changeset
606 ## removes necessary files generated by configure.)
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
607 top-clean: FRC.clean
3083
193188e494b2 [xemacs-hg @ 2005-11-22 07:14:37 by ben]
ben
parents: 3074
diff changeset
608 -$(RM) core lisp/auto-autoloads.el* lisp/custom-load.el*
193188e494b2 [xemacs-hg @ 2005-11-22 07:14:37 by ben]
ben
parents: 3074
diff changeset
609 -$(RM) lisp/mule/auto-autoloads.el* lisp/mule/custom-load.el*
193188e494b2 [xemacs-hg @ 2005-11-22 07:14:37 by ben]
ben
parents: 3074
diff changeset
610 -$(RM) modules/auto-autoloads.el* modules/custom-load.el*
193188e494b2 [xemacs-hg @ 2005-11-22 07:14:37 by ben]
ben
parents: 3074
diff changeset
611 -$(RM) etc/PROBLEMS
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
612
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
613 clean: top-mostlyclean top-clean
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
614 for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
615
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
616 ## `distclean-noconfig'
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
617 ## Like `distclean' but don't delete files created by `configure'.
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
618 top-distclean-noconfig: FRC.distclean-noconfig
3083
193188e494b2 [xemacs-hg @ 2005-11-22 07:14:37 by ben]
ben
parents: 3074
diff changeset
619 -$(RM) TAGS .sbinit lock/* lisp/finder-inf.el*
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
620
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
621 distclean-noconfig: top-mostlyclean top-clean top-distclean-noconfig
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
622 for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
623
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
624 ## `distclean'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
625 ## Delete all files from the current directory that are created by
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
626 ## configuring or building the program. If you have unpacked the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
627 ## source and built the program without creating any other files,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
628 ## `make distclean' should leave only the files that were in the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
629 ## distribution.
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
630 top-distclean: FRC.distclean
3083
193188e494b2 [xemacs-hg @ 2005-11-22 07:14:37 by ben]
ben
parents: 3074
diff changeset
631 -$(RM) config.status config.log confdefs.h config-tmp-* build-install Installation
193188e494b2 [xemacs-hg @ 2005-11-22 07:14:37 by ben]
ben
parents: 3074
diff changeset
632 -$(RM) GNUmakefile Makefile Makefile.in
193188e494b2 [xemacs-hg @ 2005-11-22 07:14:37 by ben]
ben
parents: 3074
diff changeset
633 -$(RM) Installation.el Installation.elc
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
634
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
635 distclean: top-mostlyclean top-clean top-distclean-noconfig top-distclean
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
636 for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
637
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
638 ## `realclean-noconfig'
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
639 ## Delete everything that can be reconstructed by `make'. Don't delete
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
640 ## anything requiring reconfiguration.
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
641 top-realclean-noconfig: FRC.realclean-noconfig
3083
193188e494b2 [xemacs-hg @ 2005-11-22 07:14:37 by ben]
ben
parents: 3074
diff changeset
642 -$(RM) *.elc lisp/*.elc lisp/mule/*.elc lisp/term/*.elc modules/*.elc
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
643
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
644 realclean-noconfig: top-mostlyclean top-clean top-distclean-noconfig top-realclean-noconfig
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
645 for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
646
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
647 top-realclean: FRC.realclean
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
648
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
649 elcclean: realclean-noconfig
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
650
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
651 ## `realclean'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
652 ## Delete everything from the current directory that can be
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
653 ## reconstructed with this Makefile. This typically includes
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
654 ## everything deleted by distclean, plus more: C source files
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
655 ## produced by Bison, tags tables, info files, and so on.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
656
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
657 ## One exception, however: `make realclean' should not delete
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
658 ## `configure' even if `configure' can be remade using a rule in the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
659 ## Makefile. More generally, `make realclean' should not delete
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
660 ## anything that needs to exist in order to run `configure' and then
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
661 ## begin to build the program.
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
662 realclean: top-mostlyclean top-clean top-distclean-noconfig top-distclean top-realclean-noconfig top-realclean
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
663 for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
664
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
665 ## `extraclean-noconfig'
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
666 ## Like `extraclean' but don't delete anything requiring reconfiguration.
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
667 top-extraclean-noconfig: FRC.extraclean-noconfig
3083
193188e494b2 [xemacs-hg @ 2005-11-22 07:14:37 by ben]
ben
parents: 3074
diff changeset
668 -$(RM) *~ \#*
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
669
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
670 extraclean-noconfig: top-mostlyclean top-clean top-distclean-noconfig top-realclean-noconfig top-extraclean-noconfig
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
671 for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
672
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
673 ## This doesn't actually appear in the coding standards, but Karl
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
674 ## says GCC supports it, and that's where the configuration part of
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
675 ## the coding standards seem to come from. It's like distclean, but
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
676 ## it deletes backup and autosave files too.
3062
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
677 top-extraclean: FRC.extraclean
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
678
21d92abaac3a [xemacs-hg @ 2005-11-13 10:39:28 by ben]
ben
parents: 2973
diff changeset
679 extraclean: top-mostlyclean top-clean top-distclean-noconfig top-distclean top-realclean-noconfig top-realclean top-extraclean-noconfig top-extraclean
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
680 for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
681
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
682 ## Unlocking and relocking. The idea of these productions is to reduce
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
683 ## hassles when installing an incremental tar of XEmacs. Do `make unlock'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
684 ## before unlocking the file to take the write locks off all sources so
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
685 ## that tar xvof will overwrite them without fuss. Then do `make relock'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
686 ## afterward so that VC mode will know which files should be checked in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
687 ## if you want to mung them.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
688
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
689 ## Note: it's no disaster if these productions miss a file or two; tar
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
690 ## and VC will swiftly let you know if this happens, and it is easily
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
691 ## corrected.
2536
7edc33019aa4 [xemacs-hg @ 2005-01-31 20:01:49 by ben]
ben
parents: 2427
diff changeset
692 SOURCES = ChangeLog INSTALL Makefile.in.in PROBLEMS \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
693 README build-install.in configure make-dist move-if-change
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
694
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
695 .PHONY: unlock relock TAGS tags dist info dvi mcs
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
696
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
697 unlock:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
698 chmod u+w $(SOURCES) cpp/*
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
699 -cd ./elisp && chmod u+w Makefile README *.texi
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
700 for d in src etc lib-src lisp; do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
701 cd ./lisp/term && chmod u+w README *.el
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
702 cd ./man && chmod u+w *texi* ChangeLog split-man
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
703 cd ./lwlib && chmod u+w *.[ch] Makefile.in.in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
704
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
705 relock:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
706 chmod u-w $(SOURCES) cpp/*
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
707 -cd ./elisp && chmod u-w Makefile README *.texi
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
708 for d in src etc lib-src lisp; do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
709 cd ./lisp/term && chmod u+w README *.el
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
710 cd ./man && chmod u+w *texi* ChangeLog split-man
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
711 cd ./lwlib && chmod u+w *.[ch] Makefile.in.in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
712
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
713 PRUNE_VC = -name SCCS -prune -o -name RCS -prune -o -name CVS -prune -o
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
714 tagslisp = lisp
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
715 TAGS tags: FRC.tags
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
716 @echo "If you don't have a copy of etags around, then do 'make lib-src' first."
3083
193188e494b2 [xemacs-hg @ 2005-11-22 07:14:37 by ben]
ben
parents: 3074
diff changeset
717 -$(RM) ${srcdir}/TAGS
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
718 @PATH=`$(pwd)`/lib-src:$$PATH HOME=/-=-; export PATH HOME; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
719 echo "Using etags from `which etags`."
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
720 PATH=`$(pwd)`/lib-src:$$PATH ; export PATH; cd ${srcdir} && \
1011
fac45095e485 [xemacs-hg @ 2002-09-20 22:19:05 by youngs]
youngs
parents: 997
diff changeset
721 find src lwlib lib-src modules ${PRUNE_VC} -name '*.[ch]' -print | \
1441
049c7092a496 [xemacs-hg @ 2003-05-02 06:00:41 by stephent]
stephent
parents: 1349
diff changeset
722 xargs etags -a \
049c7092a496 [xemacs-hg @ 2003-05-02 06:00:41 by stephent]
stephent
parents: 1349
diff changeset
723 -r '/[ ]*DEF\(VAR\|INE\)_[A-Z_]+[ ]*([ ]*"\([^"]+\)"/\2/' \
049c7092a496 [xemacs-hg @ 2003-05-02 06:00:41 by stephent]
stephent
parents: 1349
diff changeset
724 -r '/^DEFUN[ ]*([ ]*"\([^"]+\)"[ ]*,[ ]*\([A-Za-z0-9_]+\)/\2/'; \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
725 find ${tagslisp} ${PRUNE_VC} -name '*.el' ! -name 'auto-autoloads.el' -print | \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
726 xargs etags -a -l none -r "/^(def\\(var\\|un\\|alias\\|const\\|macro\\|subst\\|struct\\|face\\|group\\|custom\\|ine-\\(function\\|compiler-macro\\|[a-z-]+alias\\)\\)[ ]+'?\\([^ ]+\\)/\\3/"
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
727
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
728 info: FRC.info
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
729 cd ${srcdir}/man && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
730
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
731 dvi:
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
732 cd ${srcdir}/man && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
733
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
734 ## Fix up version information in executables (Solaris-only)
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
735 mcs:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
736 date=`LANG=C LC_ALL=C date -u '+%e %b %Y'`; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
737 ident="@(#)RELEASE VERSION XEmacs ${version} $${date}"; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
738 for f in `file lib-src/* src/${PROGNAME} | grep ELF | sed -e 's/:.*//'`; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
739 mcs -da "$${ident} `echo $${f} | sed 's/.*\///'`" $${f}; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
740 done
4850
2727d0d8ef07 Fix executable permissions on source files
Ben Wing <ben@xemacs.org>
parents: 4759
diff changeset
741
2727d0d8ef07 Fix executable permissions on source files
Ben Wing <ben@xemacs.org>
parents: 4759
diff changeset
742 ## Fix up permissions on source/build files
2727d0d8ef07 Fix executable permissions on source files
Ben Wing <ben@xemacs.org>
parents: 4759
diff changeset
743 .PHONY: fix-perms
2727d0d8ef07 Fix executable permissions on source files
Ben Wing <ben@xemacs.org>
parents: 4759
diff changeset
744 FRC.fix-perms:
2727d0d8ef07 Fix executable permissions on source files
Ben Wing <ben@xemacs.org>
parents: 4759
diff changeset
745 fix-perms: FRC.fix-perms
2727d0d8ef07 Fix executable permissions on source files
Ben Wing <ben@xemacs.org>
parents: 4759
diff changeset
746 cd ${srcdir} && sh lib-src/fix-perms.sh