annotate Makefile.in.in @ 1314:15a91d7ae2d1

[xemacs-hg @ 2003-02-20 08:16:21 by ben] check in makefile fixes et al Makefile.in.in: Major surgery. Move all stuff related to building anything in the src/ directory into src/. Simplify the dependencies -- everything in src/ is dependent on the single entry `src' in MAKE_SUBDIRS. Remove weirdo targets like `all-elc[s]', dump-elc[s], etc. mule/mule-msw-init.el: Removed. Delete this file. mule/mule-win32-init.el: New file, with stuff from mule-msw-init.el -- not just for MS Windows native, boys and girls! bytecomp.el: Change code inserted to catch trying to load a Mule-only .elc file in a non-Mule XEmacs. Formerly you got the rather cryptic "The required feature `mule' cannot be provided". Now you get "Loading this file requires Mule support". finder.el: Remove dependency on which directory this function is invoked from. update-elc.el: Don't mess around with ../src/BYTECOMPILE_CHANGE. Now that Makefile.in.in and xemacs.mak are in sync, both of them use NEEDTODUMP and the other one isn't used. dumped-lisp.el: Rewrite in terms of `list' and `nconc' instead of assemble-list, so we can have arbitrary forms, not just `when-feature'. very-early-lisp.el: Nuke this file. finder-inf.el, packages.el, update-elc.el, update-elc-2.el, loadup.el, make-docfile.el: Eliminate references to very-early-lisp. msw-glyphs.el: Comment clarification. xemacs.mak: Add macros DO_TEMACS, DO_XEMACS, and a few others; this macro section is now completely in sync with src/Makefile.in.in. Copy check-features, load-shadows, and rebuilding finder-inf.el from src/Makefile.in.in. The main build/dump/recompile process is now synchronized with src/Makefile.in.in. Change `WARNING' to `NOTE' and `error checking' to `error-checking' TO avoid tripping faux warnings and errors in the VC++ IDE. Makefile.in.in: Major surgery. Move all stuff related to building anything in the src/ directory from top-level Makefile.in.in to here. Simplify the dependencies. Rearrange into logical subsections. Synchronize the main compile/dump/build-elcs section with xemacs.mak, which is already clean and in good working order. Remove weirdo targets like `all-elc[s]', dump-elc[s], etc. Add additional levels of macros \(e.g. DO_TEMACS, DO_XEMACS, TEMACS_BATCH, XEMACS_BATCH, XEMACS_BATCH_PACKAGES) to factor out duplicated stuff. Clean up handling of "HEAP_IN_DATA" (Cygwin) so it doesn't need to ignore the return value from dumping. Add .NO_PARALLEL since various aspects of building and dumping must be serialized but do not always have dependencies between them (this is impossible in some cases). Everything related to src/ now gets built in one pass in this directory by just running `make' (except the Makefiles themselves and config.h, paths.h, Emacs.ad.h, and other generated .h files). console.c: Update list of possibly valid console types. emacs.c: Rationalize the specifying and handling of the type of the first frame. This was originally prompted by a workspace in which I got GTK to compile under C++ and in the process fixed it so it could coexist with X in the same build -- hence, a combined TTY/X/MS-Windows/GTK build is now possible under Cygwin. (However, you can't simultaneously *display* more than one kind of device connection -- but getting that to work is not that difficult. Perhaps a project for a bored grad student. I (ben) would do it but don't see the use.) To make sense of this, I added new switches that can be used to specifically indicate the window system: -x [aka --use-x], -tty \[aka --use-tty], -msw [aka --use-ms-windows], -gtk [aka --use-gtk], and -gnome [aka --use-gnome, same as --use-gtk]. -nw continues as an alias for -tty. When none have been given, XEmacs checks for other parameters implying particular device types (-t -> tty, -display -> x [or should it have same treatment as DISPLAY below?]), and has ad-hoc logic afterwards: if env var DISPLAY is set, use x (or gtk? perhaps should check whether gnome is running), else MS Windows if it exsits, else TTY if it exists, else stream, and you must be running in batch mode. This also fixes an existing bug whereby compiling with no x, no mswin, no tty, when running non- interactively (e.g. to dump) I get "sorry, must have TTY support". emacs.c: Turn on Vstack_trace_on_error so that errors are debuggable even when occurring extremely early in reinitialization. emacs.c: Try to make sure that the user can see message output under Windows (i.e. it doesn't just disappear right away) regardless of when it occurs, e.g. in the middle of creating the first frame. emacs.c: Define new function `emacs-run-status', indicating whether XEmacs is noninteractive or interactive, whether raw, post-dump/pdump-load or run-temacs, whether we are dumping, whether pdump is in effect. event-stream.c: It's "mommas are fat", not "momas are fat". Fix other typo. event-stream.c: Conditionalize in_menu_callback check on HAVE_MENUBARS, because it won't exist on w/o menubar support, lisp.h: More hackery on RETURN_NOT_REACHED. Cygwin v3.2 DOES complain here if RETURN_NOT_REACHED() is blank, as it is for GCC 2.5+. So make it blank only for GCC 2.5 through 2.999999999999999. Declare Vstack_trace_on_error. profile.c: Need to include "profile.h" to fix warnings. sheap.c: Don't fatal() when need to rerun Make, just stderr_out() and exit(0). That way we can distinguish between a dumping failing expectedly (due to lack of stack space, triggering another dump) and unexpectedly, in which case, we want to stop building. (or go on, if -K is given) syntax.c, syntax.h: Use ints where they belong, and enum syntaxcode's where they belong, and fix warnings thereby. syntax.h: Fix crash caused by an edge condition in the syntax-cache macros. text.h: Spacing fixes. xmotif.h: New file, to get around shadowing warnings. EmacsManager.c, event-Xt.c, glyphs-x.c, gui-x.c, input-method-motif.c, xmmanagerp.h, xmprimitivep.h: Include xmotif.h. alloc.c: Conditionalize in_malloc on ERROR_CHECK_MALLOC. config.h.in, file-coding.h, fileio.c, getloadavg.c, select-x.c, signal.c, sysdep.c, sysfile.h, systime.h, text.c, unicode.c: Eliminate HAVE_WIN32_CODING_SYSTEMS, use WIN32_ANY instead. Replace defined (WIN32_NATIVE) || defined (CYGWIN) with WIN32_ANY. lisp.h: More futile attempts to walk and chew gum at the same time when dealing with subr's that don't return.
author ben
date Thu, 20 Feb 2003 08:16:21 +0000
parents f99d3d25df86
children 4542b72c005e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
1 ## Copyright (C) 2003 Ben Wing.
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
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
58 RECURSIVE_MAKE=$(MAKE)
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@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
61 RECURSIVE_MAKE=@RECURSIVE_MAKE@
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@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
95
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
96 ## ==================== Where To Install Things ====================
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
97
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
98 ## The default location for installation. Everything is placed in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
99 ## subdirectories of this directory. The default values for many of
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
100 ## 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
101 ## not need to change them. This defaults to /usr/local.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
102 prefix=@prefix@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
103
422
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
104 ## Variable data (as per each program update) goes here
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
105 ## The default is ${PROGNAME}
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
106 inststaticdir=@inststaticdir@
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
107
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
108 ## Static data (constant across program updates) goes here
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
109 ## The default is ${PROGNAME}-${version}
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
110 instvardir=@instvardir@
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
111
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
112 ## Like `prefix', but used for architecture-specific files.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
113 exec_prefix=@exec_prefix@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
114
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
115 ## Where to install XEmacs and other binaries that people will want to
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
116 ## run directly (like etags).
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
117 bindir=@bindir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
118
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
119 ## Where to install architecture-independent data files.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
120 ## ${lispdir} and ${etcdir} are subdirectories of this.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
121 datadir=@datadir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
122
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
123 ## Where to find XEmacs packages.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
124 pkgdir=@pkgdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
125
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
126 ## 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
127 ## These files are all architecture-independent. Right now, the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
128 ## only such data is the locking directory;
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
129 statedir=@statedir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
130
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
131 ## Where to install and expect executable files to be run by XEmacs
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
132 ## rather than directly by users, and other architecture-dependent data
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
133 ## ${archlibdir} is a subdirectory of this.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
134 libdir=@libdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
135
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
136 ## 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
137 mandir=@mandir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
138 manext=.1
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
139
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
140 ## Where to install and expect the info files describing XEmacs. In the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
141 ## past, this defaulted to a subdirectory of ${prefix}/lib/xemacs, but
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
142 ## since there are now many packages documented with the texinfo
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
143 ## system, it is inappropriate to imply that it is part of XEmacs.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
144 infodir=@infodir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
145
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
146 ## Document me.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
147 ## See callproc.c for code which references this.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
148 infopath=@infopath@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
149
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
150 ## 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
151 ## 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
152 ## utility programs is expected to be in ${srcdir}/lib-src. This is
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
153 ## set by the configure script's `--srcdir' option.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
154 srcdir=@srcdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
155
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
156 ## Where the build is done.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
157 blddir=@blddir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
158
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
159 ## ==================== XEmacs-specific directories ====================
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 ## These variables hold the values XEmacs will actually use. They are
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
162 ## based on the values of the standard Make variables above.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
163
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
164 ## Where to install the lisp files distributed with
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
165 ## XEmacs. This includes the XEmacs version, so that the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
166 ## lisp files for different versions of XEmacs will install
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
167 ## themselves in separate directories.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
168 lispdir=@lispdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
169
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
170 ## Where to install the module files distributed with
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
171 ## XEmacs. This includes the XEmacs version, so that the
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
172 ## module files for different versions of XEmacs will install
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
173 ## themselves in separate directories.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
174 moduledir=@moduledir@
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
175
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
176 ## Directory XEmacs should search for lisp files specific
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
177 ## to this site (i.e. customizations), before consulting
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
178 ## ${lispdir}.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
179 sitelispdir=@sitelispdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
180
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
181 ## Directory XEmacs should search for module files specific
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
182 ## to this site (i.e. customizations), before consulting
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
183 ## ${moduledir}.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
184 sitemoduledir=@sitemoduledir@
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
185
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
186 ## Where XEmacs will search for its lisp files while
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
187 ## building. This is only used during the process of
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
188 ## compiling XEmacs, to help XEmacs find its lisp files
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
189 ## before they've been installed in their final location.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
190 ## It's usually identical to lispdir, except that the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
191 ## entry for the directory containing the installed lisp
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
192 ## files has been replaced with ../lisp. This should be a
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
193 ## colon-separated list of directories.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
194 buildlispdir=${srcdir}/lisp
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
195
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
196 ## Where to install the other architecture-independent
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
197 ## data files distributed with XEmacs (like the tutorial,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
198 ## the cookie recipes and the Zippy database). This path
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
199 ## usually contains the XEmacs version number, so the data
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
200 ## files for multiple versions of XEmacs may be installed
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
201 ## at once.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
202 etcdir=@etcdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
203
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
204 ## Where to put the DOC file.
420
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
205 docdir=@docdir@
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
206
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
207 ## Where to put executables to be run by XEmacs rather than
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
208 ## the user. This path usually includes the XEmacs version
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
209 ## and configuration name, so that multiple configurations
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
210 ## for multiple versions of XEmacs may be installed at
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
211 ## once.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
212 archlibdir=@archlibdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
213
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
214 ## ==================== Utility Programs for the Build ====================
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 ## Allow the user to specify the install program.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
217 INSTALL = @install_pp@ @INSTALL@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
218 INSTALL_PROGRAM = @INSTALL_PROGRAM@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
219 INSTALL_DATA = @INSTALL_DATA@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
220
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
221 ## ============================= Targets ==============================
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 ## Subdirectories to make recursively. `lisp' is not included
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
224 ## because the compiled lisp files are part of the distribution
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
225 ## and you cannot remake them without installing XEmacs first.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
226 MAKE_SUBDIR = @MAKE_SUBDIR@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
227
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
228 ## Subdirectories that can be made recursively.
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
229 SUBDIR = ${MAKE_SUBDIR} man
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
230
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
231 ## The makefiles of the directories in ${MAKE_SUBDIR}.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
232 SUBDIR_MAKEFILES = @SUBDIR_MAKEFILES@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
233
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
234 ## Subdirectories to `make install-arch-dep' recursively
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
235 INSTALL_ARCH_DEP_SUBDIR = @INSTALL_ARCH_DEP_SUBDIR@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
236
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
237 ## Subdirectories to install, and where they'll go.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
238 ## 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
239 ## When installing the info files, we need to do special things to
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
240 ## 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
241 ## instead, we have written out explicit code in the `install' targets.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
242 COPYDIR = ${srcdir}/etc ${srcdir}/lisp
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
243 COPYDESTS = ${etcdir} ${lispdir}
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents: 396
diff changeset
244 GENERATED_HEADERS = src/paths.h src/Emacs.ad.h src/config.h lwlib/config.h src/sheap-adjust.h
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
245
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
246 ## 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
247 ## `...' 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
248 ## configure.
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
249 all: Makefile ${GENERATED_HEADERS} ${MAKE_SUBDIR} info
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
250
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
251 ## For performance and consistency, no built-in rules
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
252 .SUFFIXES:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
253
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
254 .NO_PARALLEL: ${GENERATED_HEADERS} ${MAKE_SUBDIR}
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
255 .PHONY: ${SUBDIR} all beta
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
256
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
257 ## Convenience target for XEmacs beta testers
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
258 beta: clean all
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
259
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
260 ## Convenience target for XEmacs maintainers
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
261 ## This would run `make-xemacsdist' if I were really confident that everything
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
262 ## was turnkey.
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
263 dist: all
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
264
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
265 ## Convenience target for XEmacs maintainers
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
266 ## Updates some rarely generated files:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
267 ## - configure from configure.in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
268 ## - config.values.in from configure
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
269 ## - src/depend from src/*.[ch]
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
270 .PHONY: config configure depend
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
271 config: configure depend
426
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
272 configure: ${srcdir}/configure ${srcdir}/lib-src/config.values.in
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
273
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
274 ${srcdir}/configure : ${srcdir}/configure.in
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
275 cd ${srcdir} && autoconf
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
276
426
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
277 ${srcdir}/lib-src/config.values.in : ${srcdir}/configure
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
278 cd ${srcdir} && $(SHELL) lib-src/config.values.sh
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
279
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
280 depend ${srcdir}/src/depend:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
281 cd ./src && $(RECURSIVE_MAKE) depend
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
282
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
283 check:
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
284 cd ./src && $(RECURSIVE_MAKE) $@
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
285
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
286 check-features: all
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
287 cd ./src && $(RECURSIVE_MAKE) $@
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
288
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
289 ## 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
290 ## 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
291 ## it will only actually change if the user modified ${etcdir}/Emacs.ad.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
292 src/Emacs.ad.h: ${srcdir}/etc/Emacs.ad
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
293 @echo "Producing \`src/Emacs.ad.h' from \`etc/Emacs.ad'."
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
294 @$(RM) src/Emacs.ad.h
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
295 @(echo "/* Do not edit this file!" ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
296 echo " Automatically generated from ${srcdir}/etc/Emacs.ad" ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
297 echo " */" ; \
426
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
298 $(SHELL) ${srcdir}/lib-src/ad2c ${srcdir}/etc/Emacs.ad ) > \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
299 src/Emacs.ad.h
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
300
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
301 src/sheap-adjust.h:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
302 @echo "Resetting \`src/sheap-adjust.h'."; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
303 (echo "/* Do not edit this file!" ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
304 echo " Automatically generated by XEmacs */" ; \
1157
6af03f821bbe [xemacs-hg @ 2002-12-13 04:29:06 by andyp]
andyp
parents: 1011
diff changeset
305 echo "#define SHEAP_ADJUSTMENT 0") > $@
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
306
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
307 src: @SRC_SUBDIR_DEPS@ FRC.src
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
308 pkg-src/tree-x: pkg-src/FRC.tree-x
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
309 lib-src: FRC.lib-src
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
310 lwlib: FRC.lwlib
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
311 dynodump: FRC.dynodump
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
312 FRC.src FRC.lib-src FRC.lwlib FRC.dynodump pkg-src/FRC.tree-x:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
313 FRC.lisp.finder-inf.el:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
314
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
315 ${SUBDIR}: ${SUBDIR_MAKEFILES} ${GENERATED_HEADERS} FRC
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
316 cd ./$@ && $(RECURSIVE_MAKE) all
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
317
801
2b676dc88c66 [xemacs-hg @ 2002-04-01 03:58:02 by ben]
ben
parents: 776
diff changeset
318 Makefile: ${srcdir}/Makefile.in.in config.status
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
319 ./config.status
801
2b676dc88c66 [xemacs-hg @ 2002-04-01 03:58:02 by ben]
ben
parents: 776
diff changeset
320 $(RECURSIVE_MAKE) all
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
321
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
322 src/Makefile: ${srcdir}/src/Makefile.in.in ${srcdir}/src/depend config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
323 ./config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
324
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
325 lib-src/Makefile: ${srcdir}/lib-src/Makefile.in.in config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
326 ./config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
327
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
328 lwlib/Makefile: ${srcdir}/lwlib/Makefile.in.in config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
329 ./config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
330
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
331 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
332 ./config.status
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/config.h: ${srcdir}/src/config.h.in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
335 ./config.status && touch $@
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 src/paths.h: ${srcdir}/src/paths.h.in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
338 ./config.status && touch $@
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/config.h: ${srcdir}/lwlib/config.h.in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
341 ./config.status && touch $@
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 ## ==================== Installation ====================
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
344
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
345 ## If we let lib-src do its own installation, that means we
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
346 ## don't have to duplicate the list of utilities to install in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
347 ## this Makefile as well.
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 ## On AIX, use tar xBf.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
350 ## On Xenix, use tar xpf.
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 .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
353 .PHONY: check check-features
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
354
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
355 ## We delete each directory in ${COPYDESTS} before we copy into it;
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
356 ## that way, we can reinstall over directories that have been put in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
357 ## place with their files read-only (perhaps because they are checked
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
358 ## 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
359 ## source exists and is distinct from the destination.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
360
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
361 ## 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
362 ## 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
363 ## '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
364 ## 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
365 ## 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
366 ## inconsistency in the build process. So we go ahead and depend on
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
367 ## all. --cet
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 install-only: ${MAKE_SUBDIR} check-features install-arch-dep install-arch-indep
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
370
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
371 install: all check-features install-arch-dep install-arch-indep
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
372
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
373 install-arch-dep: mkdir
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
374 for subdir in ${INSTALL_ARCH_DEP_SUBDIR}; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
375 (cd ./$${subdir} && $(RECURSIVE_MAKE) install prefix=${prefix} \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
376 exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
377 archlibdir=${archlibdir}) ; done
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
378 if test "`(cd ${archlibdir} && $(pwd))`" != \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
379 "`(cd ./lib-src && $(pwd))`"; then \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
380 if test -f ../Installation; then \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
381 ${INSTALL_DATA} ../Installation ${archlibdir}/Installation; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
382 fi; \
422
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
383 ${INSTALL_DATA} lib-src/config.values ${docdir}/config.values; \
420
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
384 ${INSTALL_DATA} lib-src/DOC ${docdir}/DOC; \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
385 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
386 do (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ; done ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
387 else true; fi
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
388 #ifdef PDUMP
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
389 ${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
390 #endif
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
391 #ifdef WIN32_NATIVE
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
392 ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
393 -chmod 0755 ${bindir}/${PROGNAME}
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
394 #else
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
395 ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version}
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
396 -chmod 0755 ${bindir}/${PROGNAME}-${version}
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
397 # ifdef CYGWIN
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
398 cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version}.exe ./${PROGNAME}
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
399 # else
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
400 cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version} ./${PROGNAME}
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
401 # endif /* CYGWIN */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
402 #endif /* WIN32_NATIVE */
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
403 if test "${prefix}" != "${exec_prefix}"; then \
426
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
404 $(MAKEPATH) ${exec_prefix}/lib/${instvardir}; \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
405 for dir in \
422
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
406 lib/${inststaticdir} \
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
407 lib/${instvardir}/etc \
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
408 lib/${instvardir}/info \
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
409 lib/${instvardir}/lisp; do \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
410 if test ! -d ${exec_prefix}/$${dir}; then \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
411 $(LN_S) ${prefix}/$${dir} ${exec_prefix}/$${dir}; fi; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
412 done; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
413 fi
997
89cca5f594bd [xemacs-hg @ 2002-09-10 15:37:48 by james]
james
parents: 801
diff changeset
414 #ifdef HAVE_SHLIB
89cca5f594bd [xemacs-hg @ 2002-09-10 15:37:48 by james]
james
parents: 801
diff changeset
415 $(INSTALL_DATA) $(srcdir)/modules/auto-autoloads.* $(moduledir)
89cca5f594bd [xemacs-hg @ 2002-09-10 15:37:48 by james]
james
parents: 801
diff changeset
416 #endif
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
417
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
418 install-arch-indep: mkdir info
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
419 -@set ${COPYDESTS} ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
420 for dir in ${COPYDIR} ; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
421 if test "`(cd $$1 && $(pwd))`" != \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
422 "`(cd $${dir} && $(pwd))`"; then \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
423 : do nothing - echo "rm -rf $$1" ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
424 fi ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
425 shift ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
426 done
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
427 -set ${COPYDESTS} ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
428 for dir in ${COPYDESTS} ; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
429 if test ! -d $${dir} ; then mkdir $${dir} ; fi ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
430 done ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
431 for dir in ${COPYDIR} ; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
432 dest=$$1 ; shift ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
433 test -d $${dir} \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
434 -a "`(cd $${dir} && $(pwd))`" != \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
435 "`(cd $${dest} && $(pwd))`" \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
436 && (echo "Copying $${dir}..." ; \
430
a5df635868b2 Import from CVS: tag r21-2-23
cvs
parents: 426
diff changeset
437 (cd $${dir} && $(TAR) -cf - . ) | \
a5df635868b2 Import from CVS: tag r21-2-23
cvs
parents: 426
diff changeset
438 (cd $${dest} && umask 022 && $(TAR) -xf - );\
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
439 chmod 0755 $${dest}; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
440 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
441 (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
442 done) ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
443 done
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
444 if test "`(cd ${srcdir}/info && $(pwd))`" != \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
445 "`(cd ${infodir} && $(pwd))`" && cd ${srcdir}/info; then \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
446 if test ! -f ${infodir}/dir -a -f dir ; then \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
447 ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
448 fi ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
449 for file in *.info* ; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
450 ${INSTALL_DATA} $${file} ${infodir}/$${file} ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
451 chmod 0644 ${infodir}/$${file}; \
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 fi
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
454 cd ${srcdir}/etc && \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
455 for page in xemacs etags ctags gnuserv gnuclient gnuattach gnudoit; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
456 ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext} ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
457 chmod 0644 ${mandir}/$${page}${manext} ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
458 done
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
459 @echo "If you would like to save approximately 2M of disk space, do"
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
460 @echo "make gzip-el"
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
461 @echo "or you may run "
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
462 @echo ${srcdir}/lib-src/gzip-el.sh lispdir " from the command line."
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
463 @echo "Where lispdir is where the lisp files were installed, i.e.,"
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
464 @echo "${lispdir}"
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
465
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
466 gzip-el:
426
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
467 $(SHELL) ${srcdir}/lib-src/gzip-el.sh ${lispdir}
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
468
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
469 ## Build all the directories to install XEmacs in.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
470 ## Since we may be creating several layers of directories,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
471 ## (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
472 ## make-path instead of mkdir. Not all mkdirs have the `-p' flag.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
473 mkdir: FRC.mkdir
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 442
diff changeset
474 ${MAKEPATH} ${COPYDESTS} ${docdir} ${infodir} ${archlibdir} \
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
475 ${mandir} ${bindir} ${datadir} ${libdir} ${pkgdir} \
598
6452bb72f5b9 [xemacs-hg @ 2001-06-01 05:07:19 by martinb]
martinb
parents: 532
diff changeset
476 #ifdef HAVE_SHLIB
6452bb72f5b9 [xemacs-hg @ 2001-06-01 05:07:19 by martinb]
martinb
parents: 532
diff changeset
477 ${moduledir} ${sitemoduledir} \
6452bb72f5b9 [xemacs-hg @ 2001-06-01 05:07:19 by martinb]
martinb
parents: 532
diff changeset
478 #endif
6452bb72f5b9 [xemacs-hg @ 2001-06-01 05:07:19 by martinb]
martinb
parents: 532
diff changeset
479 ${sitelispdir}
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
480
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
481 ## Delete all the installed files that the `install' target would
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
482 ## create (but not the noninstalled files such as `make all' would
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
483 ## create).
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
484
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
485 #### 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
486 #### 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
487 #### would be extremely dangerous for anyone to use it.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
488 ##uninstall:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
489 ## (cd ./lib-src; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
490 ## $(RECURSIVE_MAKE) uninstall \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
491 ## prefix=${prefix} exec_prefix=${exec_prefix} \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
492 ## bindir=${bindir} libdir=${libdir} archlibdir=${archlibdir})
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
493 ## for dir in ${lispdir} ${etcdir} ; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
494 ## case `(cd $${dir} ; $(pwd))` in \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
495 ## `(cd ${srcdir} ; $(pwd))`* ) ;; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
496 ## * ) $(RM) $${dir} ;; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
497 ## esac ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
498 ## case $${dir} in \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
499 ## ${datadir}/${PROGNAME}/${version}/* ) \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
500 ## $(RM) -r ${datadir}/${PROGNAME}/${version} \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
501 ## ;; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
502 ## esac ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
503 ## done
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
504 ## cd ${infodir} && $(RM) cl* ${PROGNAME}* forms* info* vip*
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
505 ## cd ${mandir} && $(RM) xemacs.1 etags.1 ctags.1 gnuserv.1
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
506 ## cd ${bindir} && $(RM) ${PROGNAME}-${version} ${PROGNAME}
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
507
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
508
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
509 ## Some makes seem to remember that they've built something called FRC,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
510 ## so you can only use a given FRC once per makefile.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
511 FRC FRC.src.paths.h FRC.mkdir FRC.dump-elcs FRC.info:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
512 FRC.mostlyclean FRC.clean FRC.distclean FRC.realclean FRC.tags:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
513
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
514 ## ==================== Cleaning up and miscellanea ====================
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
515
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
516 .PHONY: mostlyclean clean distclean realclean extraclean
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
517
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
518 ## `mostlyclean'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
519 ## Like `clean', but may refrain from deleting a few files that people
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
520 ## normally don't want to recompile. For example, the `mostlyclean'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
521 ## target for GCC does not delete `libgcc.a', because recompiling it
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
522 ## is rarely necessary and takes a lot of time.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
523 mostlyclean: FRC.mostlyclean
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
524 for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
525
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
526 ## `clean'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
527 ## Delete all files from the current directory that are normally
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
528 ## created by building the program. Don't delete the files that
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
529 ## record the configuration. Also preserve files that could be made
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
530 ## by building, but normally aren't because the distribution comes
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
531 ## with them.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
532
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
533 ## Delete `.dvi' files here if they are not part of the distribution.
1232
c08a6fa181d1 [xemacs-hg @ 2003-01-23 11:38:56 by stephent]
stephent
parents: 1157
diff changeset
534
c08a6fa181d1 [xemacs-hg @ 2003-01-23 11:38:56 by stephent]
stephent
parents: 1157
diff changeset
535 ## Remove the generated load files here; they cause lots of problems
c08a6fa181d1 [xemacs-hg @ 2003-01-23 11:38:56 by stephent]
stephent
parents: 1157
diff changeset
536 ## when they don't work right. (beta can't depend on distclean, which
c08a6fa181d1 [xemacs-hg @ 2003-01-23 11:38:56 by stephent]
stephent
parents: 1157
diff changeset
537 ## removes necessary files generated by configure.)
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
538 clean: FRC.clean
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
539 for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
1232
c08a6fa181d1 [xemacs-hg @ 2003-01-23 11:38:56 by stephent]
stephent
parents: 1157
diff changeset
540 $(RM) core lisp/auto-autoloads.el* lisp/custom-load.el*
c08a6fa181d1 [xemacs-hg @ 2003-01-23 11:38:56 by stephent]
stephent
parents: 1157
diff changeset
541 $(RM) lisp/mule/auto-autoloads.el* lisp/mule/custom-load.el*
c08a6fa181d1 [xemacs-hg @ 2003-01-23 11:38:56 by stephent]
stephent
parents: 1157
diff changeset
542 $(RM) ${srcdir}/modules/auto-autoloads.el*
c08a6fa181d1 [xemacs-hg @ 2003-01-23 11:38:56 by stephent]
stephent
parents: 1157
diff changeset
543 $(RM) ${srcdir}/modules/custom-load.el*
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
544
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
545 ## `distclean'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
546 ## Delete all files from the current directory that are created by
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
547 ## configuring or building the program. If you have unpacked the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
548 ## source and built the program without creating any other files,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
549 ## `make distclean' should leave only the files that were in the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
550 ## distribution.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
551 top_distclean=\
394
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents: 388
diff changeset
552 $(RM) config.status config.log confdefs.h config-tmp-* build-install Installation ; \
382
064ab7fed2e0 Import from CVS: tag r21-2-6
cvs
parents: 380
diff changeset
553 $(RM) core .sbinit lock/* GNUmakefile Makefile Makefile.in ; \
064ab7fed2e0 Import from CVS: tag r21-2-6
cvs
parents: 380
diff changeset
554 $(RM) lisp/finder-inf.el* Installation.el Installation.elc ; \
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
555 $(RM) -r site-packages xemacs-packages mule-packages site-lisp
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
556
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
557 distclean: FRC.distclean
598
6452bb72f5b9 [xemacs-hg @ 2001-06-01 05:07:19 by martinb]
martinb
parents: 532
diff changeset
558 for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
559 -${top_distclean}
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
560
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
561 ## `realclean'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
562 ## Delete everything from the current directory that can be
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
563 ## reconstructed with this Makefile. This typically includes
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
564 ## everything deleted by distclean, plus more: C source files
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
565 ## produced by Bison, tags tables, info files, and so on.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
566
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
567 ## One exception, however: `make realclean' should not delete
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
568 ## `configure' even if `configure' can be remade using a rule in the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
569 ## Makefile. More generally, `make realclean' should not delete
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
570 ## anything that needs to exist in order to run `configure' and then
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
571 ## begin to build the program.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
572 realclean: FRC.realclean
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
573 for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
574 -${top_distclean}
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
575 $(RM) TAGS
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 ## This doesn't actually appear in the coding standards, but Karl
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
578 ## says GCC supports it, and that's where the configuration part of
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
579 ## the coding standards seem to come from. It's like distclean, but
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
580 ## it deletes backup and autosave files too.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
581 extraclean:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
582 for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
583 $(RM) *~ \#*
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
584 -${top_distclean}
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
585
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
586 ## Unlocking and relocking. The idea of these productions is to reduce
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
587 ## hassles when installing an incremental tar of XEmacs. Do `make unlock'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
588 ## 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
589 ## that tar xvof will overwrite them without fuss. Then do `make relock'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
590 ## 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
591 ## if you want to mung them.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
592
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
593 ## 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
594 ## 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
595 ## corrected.
801
2b676dc88c66 [xemacs-hg @ 2002-04-01 03:58:02 by ben]
ben
parents: 776
diff changeset
596 SOURCES = ChangeLog GETTING.GNU.SOFTWARE INSTALL Makefile.in.in PROBLEMS \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
597 README build-install.in configure make-dist move-if-change
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
598
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
599 .PHONY: unlock relock TAGS tags dist info dvi mcs
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
600
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
601 unlock:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
602 chmod u+w $(SOURCES) cpp/*
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
603 -cd ./elisp && chmod u+w Makefile README *.texi
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
604 for d in src etc lib-src lisp; do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
605 cd ./lisp/term && chmod u+w README *.el
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
606 cd ./man && chmod u+w *texi* ChangeLog split-man
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
607 cd ./lwlib && chmod u+w *.[ch] Makefile.in.in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
608
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
609 relock:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
610 chmod u-w $(SOURCES) cpp/*
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
611 -cd ./elisp && chmod u-w Makefile README *.texi
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
612 for d in src etc lib-src lisp; do (cd ./$$d && $(RECURSIVE_MAKE) $@); done
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
613 cd ./lisp/term && chmod u+w README *.el
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
614 cd ./man && chmod u+w *texi* ChangeLog split-man
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
615 cd ./lwlib && chmod u+w *.[ch] Makefile.in.in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
616
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
617 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
618 tagslisp = lisp
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
619 TAGS tags: FRC.tags
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
620 @echo "If you don't have a copy of etags around, then do 'make lib-src' first."
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
621 $(RM) ${srcdir}/TAGS
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
622 @PATH=`$(pwd)`/lib-src:$$PATH HOME=/-=-; export PATH HOME; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
623 echo "Using etags from `which etags`."
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
624 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
625 find src lwlib lib-src modules ${PRUNE_VC} -name '*.[ch]' -print | \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
626 xargs etags -a -r '/[ ]*DEF\(VAR\|INE\)_[A-Z_]+[ ]*([ ]*"\([^"]+\)"/\2/'; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
627 find ${tagslisp} ${PRUNE_VC} -name '*.el' ! -name 'auto-autoloads.el' -print | \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
628 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
629
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
630 info: FRC.info
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
631 cd ${srcdir}/man && $(RECURSIVE_MAKE) $@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
632
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
633 dvi:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
634 cd ${srcdir}/man && $(RECURSIVE_MAKE) $@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
635
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
636 ## Fix up version information in executables (Solaris-only)
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
637 mcs:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
638 date=`LANG=C LC_ALL=C date -u '+%e %b %Y'`; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
639 ident="@(#)RELEASE VERSION XEmacs ${version} $${date}"; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
640 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
641 mcs -da "$${ident} `echo $${f} | sed 's/.*\///'`" $${f}; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
642 done