Mercurial > hg > xemacs-beta
comparison src/Makefile.in.in @ 163:0132846995bd r20-3b8
Import from CVS: tag r20-3b8
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:43:35 +0200 |
parents | 3bb7ccffb0c0 |
children | 5a88923fcbfe |
comparison
equal
deleted
inserted
replaced
162:4de2936b4e77 | 163:0132846995bd |
---|---|
1 /* Makefile for src subdirectory in XEmacs. | 1 ## Makefile for src subdirectory in XEmacs. |
2 Copyright (C) 1985, 1987, 1988, 1993, 1994 Free Software Foundation, Inc. | 2 ## Copyright (C) 1985, 1987, 1988, 1993, 1994 Free Software Foundation, Inc. |
3 Copyright (C) 1994, 1995 Board of Trustees, University of Illinois | 3 ## Copyright (C) 1994, 1995 Board of Trustees, University of Illinois |
4 | 4 ## Copyright (C) 1996, 1997 Sun Microsystems, Inc. |
5 This file is part of XEmacs. | 5 |
6 | 6 ## This file is part of XEmacs. |
7 XEmacs is free software; you can redistribute it and/or modify it | 7 |
8 under the terms of the GNU General Public License as published by the | 8 ## XEmacs is free software; you can redistribute it and/or modify it |
9 Free Software Foundation; either version 2, or (at your option) any | 9 ## under the terms of the GNU General Public License as published by the |
10 later version. | 10 ## Free Software Foundation; either version 2, or (at your option) any |
11 | 11 ## later version. |
12 XEmacs is distributed in the hope that it will be useful, but WITHOUT | 12 |
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | 13 ## XEmacs is distributed in the hope that it will be useful, but WITHOUT |
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | 14 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
15 for more details. | 15 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
16 | 16 ## for more details. |
17 You should have received a copy of the GNU General Public License | 17 |
18 along with XEmacs; see the file COPYING. If not, write to | 18 ## You should have received a copy of the GNU General Public License |
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | 19 ## along with XEmacs; see the file COPYING. If not, write to |
20 Boston, MA 02111-1307, USA. */ | 20 ## the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
21 | 21 ## Boston, MA 02111-1307, USA. |
22 /* Synched up with: Not synched with FSF. */ | 22 |
23 ## Synched up with: Not synched with FSF. | |
23 | 24 |
24 @SET_MAKE@ | 25 @SET_MAKE@ |
25 | 26 |
26 /* Some people use these in paths they define. We do not want their paths | 27 all: xemacs |
27 getting changed on them. */ | 28 .PHONY : all release dump-elc dump-elcs all-elc all-elcs lint |
28 #undef sparc | 29 |
29 #undef sun | 30 ## For performance and consistency, no built-in rules. |
30 #undef unix | |
31 #undef sgi | |
32 #undef NeXT | |
33 #undef i386 | |
34 | |
35 /* For performance and consistency, no built-in rules */ | |
36 .SUFFIXES: | 31 .SUFFIXES: |
37 .SUFFIXES: .c .o .i .h | 32 .SUFFIXES: .c .o .i .h |
38 dot = . | 33 |
39 /* On Xenix and the IBM RS6000, double-dot gets screwed up. */ | 34 lispdir = ${srcdir}/../lisp/ |
40 lispdir = ${srcdir}/$(dot)$(dot)/lisp/ | 35 libsrc = ../lib-src/ |
41 libsrc = $(dot)$(dot)/lib-src/ | 36 etcdir = ../etc/ |
42 etcdir = $(dot)$(dot)/etc/ | 37 |
43 | 38 ## Here are the things that we expect ../configure to edit. |
44 /* Here are the things that we expect ../configure to edit. */ | |
45 srcdir=@srcdir@ | 39 srcdir=@srcdir@ |
46 CC=@CC@ | 40 CC=@CC@ |
47 CPP=@CPP@ | 41 CPP=@CPP@ |
48 CFLAGS=@CFLAGS@ | 42 CFLAGS=@CFLAGS@ |
49 CPPFLAGS=@CPPFLAGS@ | 43 CPPFLAGS=@CPPFLAGS@ |
60 ld_libs_all=@ld_libs_all@ | 54 ld_libs_all=@ld_libs_all@ |
61 | 55 |
62 extra_objs=@extra_objs@ | 56 extra_objs=@extra_objs@ |
63 LN_S=@LN_S@ | 57 LN_S=@LN_S@ |
64 | 58 |
65 /* just to be sure the sh is used */ | 59 ld_switch_call_shared=@ld_switch_call_shared@ |
60 ld_switch_shared=@ld_switch_shared@ | |
61 start_files=@start_files@ | |
62 start_flags=@start_flags@ | |
63 LD=@ld@ | |
64 lib_gcc=@lib_gcc@ | |
65 | |
66 ## just to be sure the sh is used | |
66 SHELL=/bin/sh | 67 SHELL=/bin/sh |
67 | 68 |
68 #define NO_SHORTNAMES | 69 #define NO_SHORTNAMES |
69 #define NOT_C_CODE | 70 #define NOT_C_CODE |
70 #include "config.h" | 71 #include "config.h" |
71 | 72 |
72 /* With the traditional VPATH setting, it is not possible to | 73 ## With the traditional VPATH setting, it is not possible to |
73 simultaneously compile in-place and in another directory. The | 74 ## simultaneously compile in-place and in another directory. The |
74 mistaken definition is that *all* dependencies are searched for in | 75 ## mistaken definition is that *all* dependencies are searched for in |
75 the VPATH directory, rather than just the dependencies that are not | 76 ## the VPATH directory, rather than just the dependencies that are not |
76 themselves targets. Thus, if there is an up-to-date .o file in the | 77 ## themselves targets. Thus, if there is an up-to-date .o file in the |
77 in-place location, it will not get recompiled in the not-in-place | 78 ## in-place location, it will not get recompiled in the not-in-place |
78 location. | 79 ## location. |
79 | 80 |
80 The GNU Make "vpath" directive continues this tradition, but at | 81 ## The GNU Make "vpath" directive continues this tradition, but at |
81 least lets you restrict the classes of files that it applies to. | 82 ## least lets you restrict the classes of files that it applies to. |
82 This allows us to kludge around the problem. */ | 83 ## This allows us to kludge around the problem. |
84 | |
83 #ifdef USE_GNU_MAKE | 85 #ifdef USE_GNU_MAKE |
84 vpath %.c @srcdir@ | 86 vpath %.c @srcdir@ |
85 vpath %.h @srcdir@ | 87 vpath %.h @srcdir@ |
86 /* now list files that should NOT be searched in the srcdir. | 88 ## now list files that should NOT be searched in the srcdir. |
87 This includes any .c or .h built from something else | 89 ## This includes any .c or .h built from something else |
88 (e.g. a .in file). */ | 90 ## (e.g. a .in file). |
89 vpath config.h | 91 vpath config.h |
90 vpath paths.h | 92 vpath paths.h |
91 vpath Emacs.ad.h | 93 vpath Emacs.ad.h |
92 vpath puresize_adjust.h | 94 vpath puresize_adjust.h |
93 #else | 95 #else |
94 VPATH=@srcdir@ | 96 VPATH=@srcdir@ |
95 #endif | 97 #endif |
96 | 98 |
97 /* On some machines #define register is done in config; | 99 RM = rm -f |
98 do not let it interfere with this file. */ | |
99 #undef register | |
100 | |
101 /* Unless inhibited or changed, use -lg to link for debugging. */ | |
102 #ifndef LIBS_DEBUG | |
103 #define LIBS_DEBUG "-lg" | |
104 #endif | |
105 | |
106 #ifndef LD_SWITCH_CALL_SHARED | |
107 #define LD_SWITCH_CALL_SHARED | |
108 #endif /* define a call_shared switch */ | |
109 | |
110 #ifndef LD_SWITCH_SHARED | |
111 #define LD_SWITCH_SHARED "-c" | |
112 #endif /* define a shared switch */ | |
113 | |
114 #ifndef ORDINARY_LINK | |
115 | |
116 #ifndef CRT0_COMPILE | |
117 #define CRT0_COMPILE $(CC) "-c" $(cflags) C_SWITCH_ASM | |
118 #endif | |
119 | |
120 #ifndef START_FILES | |
121 #ifdef NO_REMAP | |
122 #ifdef COFF_ENCAPSULATE | |
123 #define START_FILES "pre-crt0.o" "/usr/local/lib/gcc-crt0.o" | |
124 #else /* ! defined (COFF_ENCAPSULATE) */ | |
125 #define START_FILES "pre-crt0.o" "/lib/crt0.o" | |
126 #endif /* ! defined (COFF_ENCAPSULATE) */ | |
127 #else /* ! defined (NO_REMAP) */ | |
128 #define START_FILES "ecrt0.o" | |
129 #endif /* ! defined (NO_REMAP) */ | |
130 #endif /* START_FILES */ | |
131 STARTFILES = START_FILES | |
132 | |
133 #else /* ORDINARY_LINK */ | |
134 | |
135 /* config.h might want to force START_FILES anyway */ | |
136 #ifdef START_FILES | |
137 STARTFILES = START_FILES | |
138 #else | |
139 STARTFILES = | |
140 #endif /* START_FILES */ | |
141 | |
142 #endif /* not ORDINARY_LINK */ | |
143 | |
144 /* cc switches needed to make the "asm" keyword work. | |
145 Nothing special needed on most machines. */ | |
146 #ifndef C_SWITCH_ASM | |
147 #define C_SWITCH_ASM | |
148 #endif | |
149 | |
150 PURIFY_PROG=purify | 100 PURIFY_PROG=purify |
151 PURIFY_FLAGS=-chain-length=16 -ignore-signals=SIGPOLL -log-file=puremacs.log \ | 101 PURIFY_FLAGS=-chain-length=16 -ignore-signals=SIGPOLL -log-file=puremacs.log \ |
152 -messages=batch -show-directory=yes -windows=yes \ | 102 -messages=batch -show-directory=yes -windows=yes \ |
153 -cache-dir=. -always-use-cache-dir=yes | 103 -cache-dir=. -always-use-cache-dir=yes |
154 PURECOV_PROG=purecov | 104 PURECOV_PROG=purecov |
165 | 115 |
166 #ifdef HAVE_NATIVE_SOUND | 116 #ifdef HAVE_NATIVE_SOUND |
167 sound_cflags=@sound_cflags@ | 117 sound_cflags=@sound_cflags@ |
168 #endif | 118 #endif |
169 | 119 |
170 LWLIB_SRCDIR = ${srcdir}/$(dot)$(dot)/lwlib | 120 LWLIB_SRCDIR = ${srcdir}/../lwlib |
171 | 121 |
172 #ifdef HAVE_X_WINDOWS | 122 #ifdef HAVE_X_WINDOWS |
173 LWLIB_BUILDDIR = $(dot)$(dot)/lwlib | 123 lwlib_libs = ../lwlib/liblw.a |
174 | 124 lwlib_deps = $(lwlib_libs) |
175 LWLIB_LDFLAGS = -L$(LWLIB_BUILDDIR) | 125 $(lwlib_libs) : |
176 LWLIB_LIBS = -llw | 126 cd ../lwlib && ${MAKE} ${MFLAGS} |
177 /* LWLIB_CPPFLAGS = -I$(LWLIB_SRCDIR) */ | 127 ## LWLIB_LDFLAGS = -L../lwlib |
178 LWLIB_DEPS = $(LWLIB_BUILDDIR)/liblw.a | |
179 | 128 |
180 x_objs=balloon_help.o balloon-x.o console-x.o device-x.o event-Xt.o frame-x.o\ | 129 x_objs=balloon_help.o balloon-x.o console-x.o device-x.o event-Xt.o frame-x.o\ |
181 glyphs-x.o objects-x.o redisplay-x.o xgccache.o xselect.o | 130 glyphs-x.o objects-x.o redisplay-x.o xgccache.o xselect.o |
182 | 131 |
183 #ifdef AIX4 | 132 #ifdef AIX4 |
185 #endif /* AIX4 */ | 134 #endif /* AIX4 */ |
186 | 135 |
187 X11_libs= $(LIBX11_LIBS) $(libx11_intl) $(LIBI18N) | 136 X11_libs= $(LIBX11_LIBS) $(libx11_intl) $(LIBI18N) |
188 #endif /* HAVE_X_WINDOWS */ | 137 #endif /* HAVE_X_WINDOWS */ |
189 | 138 |
190 /* -Demacs is needed to make some files produce the correct version | 139 ## -Demacs is needed to make some files produce the correct version |
191 for use in Emacs. */ | 140 ## for use in Emacs. |
192 | 141 |
193 cppflags = $(CPPFLAGS) -Demacs -I. $(c_switch_all) | 142 cppflags = $(CPPFLAGS) -Demacs -I. $(c_switch_all) |
194 | 143 cflags = $(CFLAGS) $(cppflags) |
195 cflags= $(CFLAGS) $(cppflags) | 144 ldflags = -L. $(ld_switch_all) |
196 | |
197 ldflags = -L. $(LWLIB_LDFLAGS) $(ld_switch_all) | |
198 | 145 |
199 .c.o: | 146 .c.o: |
200 $(CC) -c $(cflags) $< | 147 $(CC) -c $(cflags) $< |
201 | 148 |
202 /* Create preprocessor output (debugging purposes only) */ | 149 ## Create preprocessor output (debugging purposes only) |
203 .c.i: | 150 .c.i: |
204 $(CC) -P $(cppflags) $< | 151 $(CC) -P $(cppflags) $< |
205 | |
206 #ifndef ORDINARY_LINK | |
207 /* Fix linking if compiled with GCC. */ | |
208 #ifdef __GNUC__ | |
209 | |
210 /* Versions of GCC >= 2.0 put their library, libgcc.a, in obscure | |
211 places that are difficult to figure out at make time. Fortunately, | |
212 these same versions allow you to pass arbitrary flags on to the | |
213 linker, so there is no reason not to use it as a linker. | |
214 | |
215 Well, it is not quite perfect. The "-nostdlib" option keeps GCC | |
216 from searching for libraries in its internal directories, so we | |
217 have to ask GCC explicitly where to find libgcc.a. */ | |
218 | |
219 #ifndef LINKER | |
220 #define LINKER $(CC) "-nostdlib" | |
221 /* GCC passes any argument prefixed with -Xlinker directly to the | |
222 linker. See prefix-args.c for an explanation of why we do not do | |
223 this with the shell "for" construct. | |
224 Note that some people do not have "." in their paths, so we must | |
225 use ./prefix-args. */ | |
226 #define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags` | |
227 #endif /* LINKER */ | |
228 | |
229 #ifndef LIB_GCC | |
230 /* Ask GCC where to find libgcc.a. */ | |
231 #define LIB_GCC `$(CC) -print-libgcc-file-name` | |
232 #endif /* LIB_GCC */ | |
233 | |
234 GNULIB_VAR = LIB_GCC | |
235 | |
236 #else /* ! defined (__GNUC__) */ | |
237 GNULIB_VAR = | |
238 | |
239 #endif /* ! defined (__GNUC__) */ | |
240 #else | |
241 GNULIB_VAR = | |
242 #endif /* not ORDINARY_LINK */ | |
243 | |
244 /* A macro which other sections of the makefile can redefine to munge the | |
245 flags before they are passed to LD. This is helpful if you have | |
246 redefined LD to something odd, like "gcc". */ | |
247 #ifndef YMF_PASS_LDFLAGS | |
248 #define YMF_PASS_LDFLAGS(flags) flags | |
249 #endif | |
250 | |
251 /* Specify address for ld to start loading at, if requested by configuration. */ | |
252 #ifdef LD_TEXT_START_ADDR | |
253 STARTFLAGS = "-T" LD_TEXT_START_ADDR "-e" "__start" | |
254 #else | |
255 STARTFLAGS = | |
256 #endif | |
257 | |
258 #ifdef ORDINARY_LINK | |
259 LD = $(CC) $(CFLAGS) | |
260 #else | |
261 #ifdef COFF_ENCAPSULATE | |
262 LD=$(CC) -nostdlib | |
263 #else /* not ORDINARY_LINK */ | |
264 #ifdef LINKER | |
265 LD=LINKER | |
266 #else /* ! defined (LINKER) */ | |
267 LD=ld | |
268 #endif /* ! defined (LINKER) */ | |
269 #endif /* ! defined (COFF_ENCAPSULATE) */ | |
270 #endif /* not ORDINARY_LINK */ | |
271 | 152 |
272 #ifdef ENERGIZE | 153 #ifdef ENERGIZE |
273 # ifdef EMACS_BTL | 154 # ifdef EMACS_BTL |
274 BTL_dir=$(srcdir)/../btl | 155 BTL_dir=$(srcdir)/../btl |
275 BTL_objs = cadillac-btl.o cadillac-btl-process.o cadillac-btl-asm.o cadillac-btl-emacs.o | 156 BTL_objs = cadillac-btl.o cadillac-btl-process.o cadillac-btl-asm.o cadillac-btl-emacs.o |
278 freecheck_objs = free-hook.o | 159 freecheck_objs = free-hook.o |
279 # endif /* FREE */ | 160 # endif /* FREE */ |
280 energize_objs = energize.o $(freecheck_objs) | 161 energize_objs = energize.o $(freecheck_objs) |
281 #endif /* ENERGIZE */ | 162 #endif /* ENERGIZE */ |
282 | 163 |
283 #ifdef HAVE_UNIXOID_EVENT_LOOP | 164 ## lastfile must follow all files whose initialized data areas should |
284 event_unixoid_objs = event-unixoid.o | 165 ## be dumped as pure by dump-emacs. |
285 #endif | 166 |
286 | 167 ## NOTE: The last line cannot be all macros, because make will barf |
287 /* lastfile must follow all files whose initialized data areas should | 168 ## if they all come out null. |
288 be dumped as pure by dump-emacs. */ | |
289 | |
290 /* NOTE: The last line cannot be all macros, because make will barf | |
291 if they all come out null. */ | |
292 | 169 |
293 objs=\ | 170 objs=\ |
294 abbrev.o alloc.o blocktype.o buffer.o bytecode.o\ | 171 abbrev.o alloc.o blocktype.o buffer.o bytecode.o\ |
295 callint.o callproc.o casefiddle.o casetab.o chartab.o\ | 172 callint.o callproc.o casefiddle.o casetab.o chartab.o\ |
296 cmdloop.o cmds.o console.o console-stream.o\ | 173 cmdloop.o cmds.o console.o console-stream.o\ |
297 data.o device.o dired.o doc.o doprnt.o dynarr.o\ | 174 data.o device.o dired.o doc.o doprnt.o dynarr.o\ |
298 editfns.o elhash.o emacs.o\ | 175 editfns.o elhash.o emacs.o\ |
299 $(energize_objs) eval.o events.o $(extra_objs)\ | 176 $(energize_objs) eval.o events.o $(extra_objs)\ |
300 event-stream.o $(event_unixoid_objs) extents.o faces.o\ | 177 event-stream.o extents.o faces.o\ |
301 fileio.o filelock.o filemode.o floatfns.o fns.o font-lock.o\ | 178 fileio.o filelock.o filemode.o floatfns.o fns.o font-lock.o\ |
302 frame.o general.o getloadavg.o glyphs.o\ | 179 frame.o general.o getloadavg.o glyphs.o\ |
303 $(gui_objs) hash.o indent.o insdel.o intl.o\ | 180 $(gui_objs) hash.o indent.o insdel.o intl.o\ |
304 keymap.o $(RTC_patch_objs) lread.o lstream.o\ | 181 keymap.o $(RTC_patch_objs) lread.o lstream.o\ |
305 macros.o marker.o md5.o minibuf.o objects.o opaque.o\ | 182 macros.o marker.o md5.o minibuf.o objects.o opaque.o\ |
335 #ifdef HAVE_X_WINDOWS | 212 #ifdef HAVE_X_WINDOWS |
336 | 213 |
337 # ifdef EXTERNAL_WIDGET | 214 # ifdef EXTERNAL_WIDGET |
338 external_widget_objs = ExternalShell.o extw-Xt-nonshared.o extw-Xlib-nonshared.o | 215 external_widget_objs = ExternalShell.o extw-Xt-nonshared.o extw-Xlib-nonshared.o |
339 | 216 |
340 /* Now we try to figure out how to link a shared library. | 217 ## Now we try to figure out how to link a shared library. |
341 If we cannot figure it out, leave EXTW_LINK undefined and a shared | 218 ## If we cannot figure it out, leave EXTW_LINK undefined and a shared |
342 library will not be created. */ | 219 ## library will not be created. |
343 | 220 |
344 # ifdef USE_GCC | 221 # ifdef USE_GCC |
345 # ifdef USG5 | 222 # ifdef USG5 |
346 # define EXTW_LINK(objs, output) $(CC) -shared objs -Xlinker -z -Xlinker text -o output | 223 # define EXTW_LINK(objs, output) $(CC) -shared objs -Xlinker -z -Xlinker text -o output |
347 /* I cannot figure out how to do shared a.out libraries, so just punt. */ | 224 ## I cannot figure out how to do shared a.out libraries, so just punt. |
348 # elif !defined (LINUX) || defined (__ELF__) | 225 # elif !defined (LINUX) || defined (__ELF__) |
349 # define EXTW_LINK(objs, output) $(CC) -shared objs -o output | 226 # define EXTW_LINK(objs, output) $(CC) -shared objs -o output |
350 # endif | 227 # endif |
351 # elif defined (USG5) | 228 # elif defined (USG5) |
352 # if defined (IRIX) | 229 # if defined (IRIX) |
354 # else /* not IRIX */ | 231 # else /* not IRIX */ |
355 # define EXTW_LINK(objs, output) $(CC) -G objs -z text -o output | 232 # define EXTW_LINK(objs, output) $(CC) -G objs -z text -o output |
356 # endif /* not IRIX */ | 233 # endif /* not IRIX */ |
357 # else /* not USG5 */ | 234 # else /* not USG5 */ |
358 # if defined (DEC_ALPHA) && defined (OSF1) | 235 # if defined (DEC_ALPHA) && defined (OSF1) |
359 # define EXTW_LINK(objs, output) $(LD) $(ldflags) LD_SWITCH_SHARED -d objs -o output $(LIBES) | 236 # define EXTW_LINK(objs, output) $(LD) $(ldflags) $(ld_switch_shared) -d objs -o output $(LIBES) |
360 # else /* !(DEC_ALPHA && OSF1) */ | 237 # else /* !(DEC_ALPHA && OSF1) */ |
361 # define EXTW_LINK(objs, output) $(LD) -dc objs -assert pure-text -o output | 238 # define EXTW_LINK(objs, output) $(LD) -dc objs -assert pure-text -o output |
362 # endif /* !(DEC_ALPHA && OSF1) */ | 239 # endif /* !(DEC_ALPHA && OSF1) */ |
363 # endif /* not USG5 */ | 240 # endif /* not USG5 */ |
364 | 241 |
380 # endif /* EXTERNAL_WIDGET */ | 257 # endif /* EXTERNAL_WIDGET */ |
381 | 258 |
382 X11_objs = EmacsFrame.o EmacsShell.o TopLevelEmacsShell.o TransientEmacsShell.o EmacsManager.o $(external_widget_objs) | 259 X11_objs = EmacsFrame.o EmacsShell.o TopLevelEmacsShell.o TransientEmacsShell.o EmacsManager.o $(external_widget_objs) |
383 #endif /* HAVE_X_WINDOWS */ | 260 #endif /* HAVE_X_WINDOWS */ |
384 | 261 |
385 /* define otherobjs as list of object files that make-docfile | 262 ## define otherobjs as list of object files that make-docfile |
386 should not be told about. */ | 263 ## should not be told about. |
387 otherobjs = $(BTL_objs) lastfile.o $(mallocobjs) $(rallocobjs) $(X11_objs) | 264 otherobjs = $(BTL_objs) lastfile.o $(mallocobjs) $(rallocobjs) $(X11_objs) |
388 | 265 |
389 #ifdef LISP_FLOAT_TYPE | 266 |
390 float_lisp = ${lispdir}prim/float-sup.elc | 267 LIBES = $(lwlib_libs) $(quantify_libs) $(ld_libs_all) $(GNULIB_VAR) |
391 #endif | 268 |
392 | 269 ## Enable recompilation of certain other files depending on system type. |
393 #ifdef HAVE_X_WINDOWS | 270 |
394 /* lisp files preloaded if compiled with support for X Windows */ | 271 ## Enable inclusion of object files in temacs depending on system type. |
395 # ifdef HAVE_TOOLBARS | |
396 x11_toolbar_lisp = ${lispdir}x11/x-toolbar.elc | |
397 # endif | |
398 # ifdef HAVE_MENUBARS | |
399 x11_menubar_lisp = ${lispdir}x11/x-menubar.elc | |
400 # endif | |
401 # ifdef HAVE_SCROLLBARS | |
402 x11_scrollbar_lisp = ${lispdir}x11/x-scrollbar.elc | |
403 # endif | |
404 x11_lisp=\ | |
405 ${x11_menubar_lisp}\ | |
406 ${lispdir}x11/x-faces.elc\ | |
407 ${lispdir}x11/x-iso8859-1${null}.elc ${lispdir}x11/x-mouse.elc\ | |
408 ${lispdir}x11/x-select.elc ${x11_scrollbar_lisp}\ | |
409 ${x11_toolbar_lisp} ${lispdir}x11/x-misc.elc\ | |
410 ${lispdir}x11/x-init.elc | |
411 #endif | |
412 | |
413 #ifdef HAVE_TTY | |
414 /* lisp files preloaded if compiled with support for tty */ | |
415 tty_lisp = ${lispdir}term/tty-init.elc | |
416 #endif | |
417 | |
418 #ifdef MULE | |
419 #ifdef HAVE_X_WINDOWS | |
420 mule_x11_lisp = ${lispdir}mule/mule-x-init.elc | |
421 #endif | |
422 mule_lisp=\ | |
423 ${lispdir}mule/mule-load.elc ${lispdir}mule/mule-coding.elc\ | |
424 ${lispdir}mule/mule-charset.elc ${lispdir}mule/mule-files.elc\ | |
425 ${lispdir}mule/mule-category.elc ${lispdir}mule/mule-misc.elc\ | |
426 ${lispdir}mule/mule-ccl.elc\ | |
427 ${lispdir}mule/mule-init.elc ${lispdir}mule/mule-cmds.elc\ | |
428 ${lispdir}mule/kinsoku.elc\ | |
429 ${mule_x11_lisp}\ | |
430 ${lispdir}mule/arabic-hooks.elc\ | |
431 ${lispdir}language/chinese.elc\ | |
432 ${lispdir}language/cyrillic.elc\ | |
433 ${lispdir}language/english.elc \ | |
434 ${lispdir}mule/ethiopic-hooks.elc\ | |
435 ${lispdir}language/european.elc\ | |
436 ${lispdir}language/greek.elc\ | |
437 ${lispdir}mule/hebrew-hooks.elc\ | |
438 ${lispdir}language/japanese.elc\ | |
439 ${lispdir}language/korean.elc\ | |
440 ${lispdir}language/misc-lang.elc\ | |
441 ${lispdir}language/thai.elc\ | |
442 ${lispdir}mule/vietnamese-hooks-1${null}.elc\ | |
443 ${lispdir}mule/vietnamese-hooks-2${null}.elc | |
444 #else | |
445 nomule_lisp = ${lispdir}prim/files-nomule.elc | |
446 #endif | |
447 | |
448 #ifdef ENERGIZE | |
449 /* Lisp files preloaded if compiled with support for Energize */ | |
450 energize_lisp=\ | |
451 ${lispdir}comint/gdb.elc\ | |
452 ${lispdir}comint/comint.elc ${lispdir}comint/shell.elc\ | |
453 ${lispdir}utils/ring.elc ${lispdir}packages/compile.elc\ | |
454 ${lispdir}modes/view-less.elc ${lispdir}emulators/evi.elc\ | |
455 ${lispdir}packages/font-lock.elc ${lispdir}packages/fast-lock.elc\ | |
456 ${lispdir}dired/dired.elc ${lispdir}dired/dired-x.elc\ | |
457 ${lispdir}dired/dired-lucid.elc ${lispdir}prim/userlock.elc\ | |
458 ${lispdir}energize/energize-init.elc\ | |
459 ${lispdir}energize/energize-mode.elc\ | |
460 ${lispdir}energize/energize-windows.elc\ | |
461 ${lispdir}energize/energize-menus.elc\ | |
462 ${lispdir}energize/energize-shell.elc\ | |
463 ${lispdir}energize/energize-visit-use.elc\ | |
464 ${lispdir}energize/energize-vi.elc\ | |
465 ${lispdir}energize/energize-font-lock.elc\ | |
466 ${lispdir}energize/energize-advice.elc | |
467 #endif | |
468 | |
469 #ifdef SUNPRO | |
470 /* Lisp files preloaded if compiled with support for SunPro products */ | |
471 sunpro_lisp=\ | |
472 ${lispdir}sunpro/sunpro-init.elc\ | |
473 ${lispdir}sunpro/sunpro-menubar.elc\ | |
474 ${lispdir}sunpro/sunpro-keys.elc\ | |
475 ${lispdir}eos/sun-eos-init.elc\ | |
476 ${lispdir}eos/sun-eos-load.elc\ | |
477 ${lispdir}eos/sun-eos-common.elc\ | |
478 ${lispdir}eos/sun-eos-editor.elc\ | |
479 ${lispdir}eos/sun-eos-browser.elc\ | |
480 ${lispdir}eos/sun-eos-debugger.elc\ | |
481 ${lispdir}eos/sun-eos-debugger-extra.elc\ | |
482 ${lispdir}eos/sun-eos-toolbar.elc\ | |
483 ${lispdir}eos/sun-eos-menubar.elc\ | |
484 ${lispdir}comint/comint.elc\ | |
485 ${lispdir}utils/ring.elc\ | |
486 ${lispdir}utils/annotations.elc\ | |
487 ${lispdir}modes/cc-mode.elc\ | |
488 ${lispdir}modes/imenu.elc\ | |
489 ${lispdir}utils/reporter.elc | |
490 #endif | |
491 | |
492 #ifdef TOOLTALK | |
493 /* Lisp files preloaded if compiled with support for Tooltalk */ | |
494 tooltalk_lisp=\ | |
495 ${lispdir}tooltalk/tooltalk-load.elc\ | |
496 ${lispdir}tooltalk/tooltalk-macros.elc\ | |
497 ${lispdir}tooltalk/tooltalk-util.elc\ | |
498 ${lispdir}tooltalk/tooltalk-init.elc | |
499 #endif | |
500 | |
501 #ifdef LISP_COMMAND_LOOP | |
502 cmdloop_lisp = ${lispdir}prim/cmdloop1.elc | |
503 #endif | |
504 | |
505 #ifdef HAVE_TOOLBARS | |
506 toolbar_lisp = ${lispdir}prim/toolbar.elc | |
507 #endif | |
508 #ifdef HAVE_MENUBARS | |
509 menubar_lisp = ${lispdir}prim/menubar.elc | |
510 #endif | |
511 #ifdef HAVE_SCROLLBARS | |
512 scrollbar_lisp = ${lispdir}prim/scrollbar.elc | |
513 #endif | |
514 #ifdef HAVE_DIALOGS | |
515 dialog_lisp = ${lispdir}prim/dialog.elc | |
516 #endif | |
517 #ifdef HAVE_WINDOW_SYSTEM | |
518 mouse_lisp=\ | |
519 ${lispdir}prim/gui.elc\ | |
520 ${lispdir}prim/mouse.elc\ | |
521 ${lispdir}prim/mode-motion.elc | |
522 #endif | |
523 | |
524 /* List of Lisp files loaded into the dumped Emacs. | |
525 Every file that is loaded from loadup.el must be enumerated | |
526 here, or the functions will have no docstrings. | |
527 This is dumb - this list should be generated automatically. | |
528 [Note: "version.el" is included in the doc separately, but is not listed | |
529 here because we do not want things to appear to be out-of-date just | |
530 because the version number has been incremented. -- D.N.G. 8/28/93] | |
531 */ | |
532 lisp=\ | |
533 ${lispdir}paths.el ${lispdir}prim/featurep.elc\ | |
534 ${lispdir}prim/loaddefs.elc ${lispdir}prim/auto-autoloads.elc\ | |
535 ${lispdir}prim/loadup.el ${lispdir}prim/subr.elc\ | |
536 ${lispdir}prim/cmdloop.elc ${cmdloop_lisp}\ | |
537 ${lispdir}utils/text-props.elc ${mouse_lisp}\ | |
538 ${lispdir}prim/keymap.elc ${lispdir}prim/syntax.elc\ | |
539 ${lispdir}prim/minibuf.elc ${lispdir}prim/faces.elc\ | |
540 ${lispdir}prim/objects.elc ${lispdir}prim/process.elc\ | |
541 ${lispdir}prim/keydefs.elc ${lispdir}prim/device.elc\ | |
542 ${lispdir}prim/obsolete.elc ${lispdir}prim/glyphs.elc\ | |
543 ${lispdir}prim/extents.elc ${lispdir}prim/backquote.elc\ | |
544 ${lispdir}prim/events.elc ${lispdir}prim/console.elc\ | |
545 ${lispdir}utils/map-ynp.elc ${lispdir}prim/modeline.elc\ | |
546 ${lispdir}modes/list-mode.elc\ | |
547 ${lispdir}utils/derived.elc ${lispdir}cl/cl.elc\ | |
548 ${lispdir}cl/cl-defs.elc ${lispdir}prim/undo-stack.elc\ | |
549 ${lispdir}prim/simple.elc ${lispdir}prim/help.elc\ | |
550 ${lispdir}prim/files.elc ${lispdir}utils/lib-complete.elc\ | |
551 ${lispdir}prim/indent.elc ${lispdir}prim/frame.elc\ | |
552 ${toolbar_lisp} ${lispdir}prim/format.elc\ | |
553 ${lispdir}prim/window.elc ${lispdir}prim/window-xemacs.elc\ | |
554 ${lispdir}prim/startup.elc\ | |
555 ${lispdir}prim/lisp.elc ${lispdir}prim/page.elc\ | |
556 ${lispdir}prim/register.elc ${lispdir}iso/iso8859-1${null}.elc\ | |
557 ${lispdir}prim/paragraphs.elc ${lispdir}modes/lisp-mode.elc\ | |
558 ${lispdir}modes/text-mode.elc ${lispdir}prim/fill.elc\ | |
559 ${lispdir}prim/isearch-mode.elc ${lispdir}prim/misc.elc\ | |
560 ${lispdir}packages/vc-hooks.elc\ | |
561 ${lispdir}prim/replace.elc ${lispdir}prim/specifier.elc\ | |
562 ${lispdir}modes/auto-show.elc ${sunpro_lisp} ${tty_lisp}\ | |
563 ${lispdir}bytecomp/bytecomp-runtime.elc ${float_lisp}\ | |
564 ${lispdir}prim/itimer.elc ${lispdir}prim/itimer-autosave.elc\ | |
565 ${lispdir}ediff/ediff-hook.elc\ | |
566 ${lispdir}custom/widget.elc ${lispdir}custom/custom.elc\ | |
567 ${lispdir}prim/cus-start.elc\ | |
568 ${lispdir}packages/fontl-hooks.elc ${scrollbar_lisp}\ | |
569 ${lispdir}prim/buffer.elc ${menubar_lisp}\ | |
570 ${lispdir}packages/buff-menu.elc ${dialog_lisp} ${mule_lisp} ${nomule_lisp}\ | |
571 ${lispdir}modes/abbrev.elc ${x11_lisp} ${energize_lisp} ${tooltalk_lisp} | |
572 | |
573 /* Other Lisp files that are not dumped out but where it is convenient | |
574 (or required?) for them to be byte-compiled early, before xemacs is | |
575 dumped out. Avoid listing them in ${lisp} because then the | |
576 doc-snarfing routines get confused. */ | |
577 otherlisp=\ | |
578 ${lispdir}bytecomp/bytecomp.elc\ | |
579 ${lispdir}bytecomp/byte-optimize.elc\ | |
580 ${lispdir}utils/advice.elc | |
581 | |
582 LIBES = $(LWLIB_LIBS) $(quantify_libs) $(ld_libs_all) LIBS_DEBUG $(GNULIB_VAR) | |
583 | |
584 /* Enable recompilation of certain other files depending on system type. */ | |
585 | |
586 /* Enable inclusion of object files in temacs depending on system type. */ | |
587 #ifndef OBJECTS_SYSTEM | 272 #ifndef OBJECTS_SYSTEM |
588 #define OBJECTS_SYSTEM | 273 #define OBJECTS_SYSTEM |
589 #endif | 274 #endif |
590 | 275 |
591 #ifndef OBJECTS_MACHINE | 276 #ifndef OBJECTS_MACHINE |
610 -if [ -w ${srcdir}/../lisp ]; then \ | 295 -if [ -w ${srcdir}/../lisp ]; then \ |
611 w=`pwd`; cd ${srcdir} && $${w}/temacs -nl -batch -l inc-vers; \ | 296 w=`pwd`; cd ${srcdir} && $${w}/temacs -nl -batch -l inc-vers; \ |
612 else true; fi | 297 else true; fi |
613 @touch SATISFIED | 298 @touch SATISFIED |
614 -$(DUMPENV) ./temacs -nl -batch -l loadup.el dump | 299 -$(DUMPENV) ./temacs -nl -batch -l loadup.el dump |
615 @if [ ! -f SATISFIED ]; then \ | 300 @if test ! -f SATISFIED; then $(MAKE) $@; fi |
616 $(MAKE) release; \ | 301 @$(RM) SATISFIED |
617 fi | |
618 @/bin/rm -f SATISFIED | |
619 #else /* ! defined (HAVE_SHM) */ | 302 #else /* ! defined (HAVE_SHM) */ |
620 -if [ -w ${srcdir}/../lisp ]; then \ | 303 -if [ -w ${srcdir}/../lisp ]; then \ |
621 w=`pwd`; cd ${srcdir} && $${w}/temacs -batch -l inc-vers; \ | 304 w=`pwd`; cd ${srcdir} && $${w}/temacs -batch -l inc-vers; \ |
622 else true; fi | 305 else true; fi |
623 @touch SATISFIED | 306 @touch SATISFIED |
624 -$(DUMPENV) ./temacs -batch -l loadup.el dump | 307 -$(DUMPENV) ./temacs -batch -l loadup.el dump |
625 @if [ ! -f SATISFIED ]; then \ | 308 @if test ! -f SATISFIED; then $(MAKE) $@; fi |
626 $(MAKE) release; \ | 309 @$(RM) SATISFIED |
627 fi | |
628 @/bin/rm -f SATISFIED | |
629 #endif /* ! defined (HAVE_SHM) */ | 310 #endif /* ! defined (HAVE_SHM) */ |
630 touch release | 311 touch release |
631 #endif /* ! defined (CANNOT_DUMP) */ | 312 #endif /* ! defined (CANNOT_DUMP) */ |
632 | 313 |
633 xemacs: temacs ${libsrc}DOC ${lisp} $(mo_file) ${other_files} | 314 xemacs: temacs ${libsrc}DOC ${lisp} $(mo_file) ${other_files} |
634 @touch SATISFIED | 315 @touch SATISFIED |
635 -$(DUMPENV) ./temacs -batch -l loadup.el dump | 316 -$(DUMPENV) ./temacs -batch -l loadup.el dump |
636 @if [ ! -f SATISFIED ]; then \ | 317 @if test ! -f SATISFIED; then $(MAKE) $@; fi |
637 $(MAKE) xemacs; \ | 318 @$(RM) SATISFIED |
638 fi | |
639 @/bin/rm -f SATISFIED | |
640 | 319 |
641 xemacs-no-site-file: temacs ${libsrc}DOC ${lisp} $(mo_file) ${other_files} | 320 xemacs-no-site-file: temacs ${libsrc}DOC ${lisp} $(mo_file) ${other_files} |
642 @touch SATISFIED | 321 @touch SATISFIED |
643 -$(DUMPENV) ./temacs -batch -l loadup.el dump no-site-file | 322 -$(DUMPENV) ./temacs -batch -l loadup.el dump no-site-file |
644 @test ! -f SATISFIED && $(MAKE) xemacs-no-site-file | 323 @if test ! -f SATISFIED; then $(MAKE) $@; fi |
645 @/bin/rm -f SATISFIED | 324 @$(RM) SATISFIED |
646 | 325 |
647 obj_src = $(objs:.o=.c) | 326 obj_src = $(objs:.o=.c) |
648 | 327 |
649 #ifdef DYNODUMP | 328 #ifdef DYNODUMP |
650 dynodump_builddir = $(dot)$(dot)/dynodump | 329 dynodump_deps = ../dynodump/dynodump.so |
651 dynodump_deps = $(dynodump_builddir)/dynodump.so | 330 ../dynodump/dynodump.so: |
652 $(dynodump_builddir)/dynodump.so: force | 331 cd ../dynodump && ${MAKE} ${MFLAGS} |
653 cd ${dynodump_builddir} && ${MAKE} ${MFLAGS} | |
654 #endif /* DYNODUMP */ | 332 #endif /* DYNODUMP */ |
655 | 333 |
656 #ifdef NO_DOC_FILE | 334 ${libsrc}DOC: |
657 ${libsrc}DOC: ${libsrc}make-docfile | 335 $(RM) ${libsrc}DOC |
658 #else | 336 -${DUMPENV} ./temacs -batch -l ../prim/make-docfile.el -- \ |
659 ${libsrc}DOC: ${libsrc}make-docfile ${obj_src} ${lisp} | 337 -o ${libsrc}DOC -d ${srcdir} -i ${libsrc}../site-packages \ |
660 #endif | 338 ${obj_src} ${mallocdocsrc} ${rallocdocsrc} |
661 rm -f ${libsrc}DOC | |
662 ${libsrc}make-docfile -d ${srcdir} -i ${libsrc}../site-packages \ | |
663 ${obj_src} ${mallocdocsrc} ${rallocdocsrc} ${lispdir}version.el \ | |
664 ${lisp} > ${libsrc}DOC | |
665 | 339 |
666 dump_elcs: dump-elcs | 340 dump_elcs: dump-elcs |
667 | 341 |
668 dump-elcs: temacs | 342 dump-elcs: temacs |
669 @touch SATISFIED | 343 @touch SATISFIED |
670 -$(LOADPATH) ./temacs -batch -l ../prim/update-elc.el $(lisp) $(otherlisp) | 344 -${DUMPENV} ./temacs -batch -l ../prim/update-elc.el |
671 @if [ ! -f SATISFIED ]; then \ | 345 @if [ ! -f SATISFIED ]; then \ |
672 $(MAKE) dump-elcs; \ | 346 $(MAKE) dump-elcs; \ |
673 fi | 347 fi |
674 @/bin/rm -f SATISFIED | 348 @$(RM) SATISFIED |
675 | 349 |
676 all-elc all-elcs: | 350 all-elc all-elcs: |
677 cd .. && $(MAKE) all-elc $(MFLAGS) | 351 cd .. && $(MAKE) all-elc $(MFLAGS) |
678 | 352 |
679 #ifdef I18N3 | 353 #ifdef I18N3 |
689 #endif | 363 #endif |
690 | 364 |
691 ${mo_dir}emacs.po: ${libsrc}make-msgfile ${libsrc}make-po ${objs} ${lisp} | 365 ${mo_dir}emacs.po: ${libsrc}make-msgfile ${libsrc}make-po ${objs} ${lisp} |
692 ${libsrc}make-msgfile -o ${libsrc}messages ${objs} ${lisp} ${otherlisp} | 366 ${libsrc}make-msgfile -o ${libsrc}messages ${objs} ${lisp} ${otherlisp} |
693 cd ${libsrc} && ${xgettext} ${xgettext_args} | 367 cd ${libsrc} && ${xgettext} ${xgettext_args} |
694 rm -f ${mo_dir}emacs.po | 368 $(RM) ${mo_dir}emacs.po |
695 cd ${libsrc} && ${libsrc}make-po -a ${mo_dir}emacs.po DOC | 369 cd ${libsrc} && ${libsrc}make-po -a ${mo_dir}emacs.po DOC |
696 | 370 |
697 ${mo_dir}emacs.mo: ${mo_dir}emacs.po | 371 ${mo_dir}emacs.mo: ${mo_dir}emacs.po |
698 cd ${mo_dir} && ${msgfmt} -o emacs.mo emacs.po | 372 cd ${mo_dir} && ${msgfmt} -o emacs.mo emacs.po |
699 | 373 |
706 #endif /* I18N3 */ | 380 #endif /* I18N3 */ |
707 | 381 |
708 ${libsrc}make-docfile: | 382 ${libsrc}make-docfile: |
709 cd ${libsrc} && ${MAKE} ${MFLAGS} make-docfile | 383 cd ${libsrc} && ${MAKE} ${MFLAGS} make-docfile |
710 | 384 |
711 /* Lint Section */ | 385 ## Lint Section |
712 LINT.c=$(LINT) $(LINTFLAGS) $(LINTINCLUDES) | 386 LINT.c=$(LINT) $(LINTFLAGS) $(LINTINCLUDES) |
713 LINTFILES= $(objs:.o=.ln) | 387 LINTFILES= $(objs:.o=.ln) |
714 LINTINCLUDES = $(cppflags) | 388 LINTINCLUDES = $(cppflags) |
715 /* LINTFLAGS= -fd -m -p -s -u -v -x */ | 389 ## LINTFLAGS= -fd -m -p -s -u -v -x |
716 LINTFLAGS= -fd -m -s -u -v -x | 390 LINTFLAGS= -fd -m -s -u -v -x |
717 lint: $(LINTFILES) | 391 lint: $(LINTFILES) |
718 $(LINT.c) $(LINTFILES) | 392 $(LINT.c) $(LINTFILES) |
719 /* end of Lint Section */ | 393 ## end of Lint Section |
720 | |
721 force: | |
722 $(LWLIB_BUILDDIR)/liblw.a: force | |
723 cd ${LWLIB_BUILDDIR} && ${MAKE} ${MFLAGS} | |
724 | |
725 /* Some systems define this to cause parallel Make-ing. */ | |
726 #ifndef MAKE_PARALLEL | |
727 #define MAKE_PARALLEL | |
728 #endif | |
729 | 394 |
730 temacs_deps=\ | 395 temacs_deps=\ |
731 MAKE_PARALLEL $(LOCALCPP) $(SHORT) $(STARTFILES)\ | 396 $(LOCALCPP) $(SHORT) $(start_files) ${objs} ${otherobjs}\ |
732 ${objs} ${otherobjs} OBJECTS_SYSTEM OBJECTS_MACHINE\ | 397 $(lwlib_deps) $(dynodump_deps) prefix-args |
733 $(LWLIB_DEPS) $(dynodump_deps) prefix-args | |
734 | 398 |
735 temacs_link_args=\ | 399 temacs_link_args=\ |
736 ${STARTFLAGS} ${ldflags} LD_SWITCH_CALL_SHARED\ | 400 ${start_flags} ${ldflags} $(ld_switch_call_shared)\ |
737 -o $@ ${STARTFILES} ${objs} ${otherobjs}\ | 401 -o $@ ${start_files} ${objs} ${otherobjs} ${LIBES} |
738 OBJECTS_SYSTEM OBJECTS_MACHINE ${LIBES} | |
739 | |
740 temacs_deps: $(temacs_deps) | |
741 | 402 |
742 temacs: $(temacs_deps) | 403 temacs: $(temacs_deps) |
743 $(LD) $(temacs_link_args) | 404 $(LD) $(temacs_link_args) |
744 | 405 |
745 rtc_patch.o: | 406 rtc_patch.o: |
746 rtc_patch_area -o $@ | 407 rtc_patch_area -o $@ |
747 | 408 |
748 rtcmacs: $(temacs_deps) rtc_patch.o | 409 rtcmacs: $(temacs_deps) rtc_patch.o |
749 rm -f temacs; $(MAKE) $(MAKE_FLAGS) temacs RTC_patch_objs=rtc_patch.o | 410 $(RM) temacs; $(MAKE) $(MAKE_FLAGS) temacs RTC_patch_objs=rtc_patch.o |
750 mv temacs rtcmacs | 411 mv temacs rtcmacs |
751 | 412 |
752 rtcrun: rtcmacs | 413 rtcrun: rtcmacs |
753 dbx -q -C -c \ | 414 dbx -q -C -c \ |
754 'dbxenv rtc_error_log_file_name /dev/fd/1; \ | 415 'dbxenv rtc_error_log_file_name /dev/fd/1; \ |
774 | 435 |
775 TransientEmacsShell.o : ${srcdir}/EmacsShell-sub.c TopLevelEmacsShell.o | 436 TransientEmacsShell.o : ${srcdir}/EmacsShell-sub.c TopLevelEmacsShell.o |
776 $(CC) -c $(cflags) -DDEFINE_TRANSIENT_EMACS_SHELL ${srcdir}/EmacsShell-sub.c | 437 $(CC) -c $(cflags) -DDEFINE_TRANSIENT_EMACS_SHELL ${srcdir}/EmacsShell-sub.c |
777 mv EmacsShell-sub.o TransientEmacsShell.o | 438 mv EmacsShell-sub.o TransientEmacsShell.o |
778 | 439 |
779 /* Position-independent code for shared library creation */ | 440 ## Position-independent code for shared library creation |
780 #if USE_GCC | 441 #if USE_GCC |
781 pic_arg = -fpic | 442 pic_arg = -fpic |
782 #elif defined (IRIX) | 443 #elif defined (IRIX) |
783 pic_arg = -KPIC | 444 pic_arg = -KPIC |
784 # else | 445 # else |
792 external_client_xlib_objs_shared = ExternalClient-Xlib-shared.o extw-Xlib-shared.o | 453 external_client_xlib_objs_shared = ExternalClient-Xlib-shared.o extw-Xlib-shared.o |
793 external_client_motif_objs_nonshared = ExternalClient-Xm-nonshared.o extw-Xt-nonshared.o extw-Xlib-nonshared.o | 454 external_client_motif_objs_nonshared = ExternalClient-Xm-nonshared.o extw-Xt-nonshared.o extw-Xlib-nonshared.o |
794 external_client_xt_objs_nonshared = ExternalClient-Xt-nonshared.o extw-Xt-nonshared.o extw-Xlib-nonshared.o | 455 external_client_xt_objs_nonshared = ExternalClient-Xt-nonshared.o extw-Xt-nonshared.o extw-Xlib-nonshared.o |
795 external_client_xlib_objs_nonshared = ExternalClient-Xlib-nonshared.o extw-Xlib-nonshared.o | 456 external_client_xlib_objs_nonshared = ExternalClient-Xlib-nonshared.o extw-Xlib-nonshared.o |
796 | 457 |
797 /* Add dependencies so things work right with a parallel make */ | 458 ## Add dependencies so things work right with a parallel make |
798 ExternalClient-Xm-shared.o: ${srcdir}/ExternalClient.c ExternalClient-Xt-shared.o ExternalClient-Xm-nonshared.o | 459 ExternalClient-Xm-shared.o: ${srcdir}/ExternalClient.c ExternalClient-Xt-shared.o ExternalClient-Xm-nonshared.o |
799 $(CC) -c $(pic_arg) $(cflags) -DEXTW_USES_MOTIF ${srcdir}/ExternalClient.c | 460 $(CC) -c $(pic_arg) $(cflags) -DEXTW_USES_MOTIF ${srcdir}/ExternalClient.c |
800 mv ExternalClient.o ExternalClient-Xm-shared.o | 461 mv ExternalClient.o ExternalClient-Xm-shared.o |
801 | 462 |
802 ExternalClient-Xt-shared.o: ${srcdir}/ExternalClient.c ExternalClient-Xt-nonshared.o | 463 ExternalClient-Xt-shared.o: ${srcdir}/ExternalClient.c ExternalClient-Xt-nonshared.o |
817 | 478 |
818 ExternalClient-Xlib-nonshared.o: ${srcdir}/ExternalClient-Xlib.c | 479 ExternalClient-Xlib-nonshared.o: ${srcdir}/ExternalClient-Xlib.c |
819 $(CC) -c $(cflags) ${srcdir}/ExternalClient-Xlib.c | 480 $(CC) -c $(cflags) ${srcdir}/ExternalClient-Xlib.c |
820 mv ExternalClient-Xlib.o ExternalClient-Xlib-nonshared.o | 481 mv ExternalClient-Xlib.o ExternalClient-Xlib-nonshared.o |
821 | 482 |
822 /* We compile the common files twice (once with PIC and once without) | 483 ## We compile the common files twice (once with PIC and once without) |
823 because on some systems, compiling with PIC but not linking into | 484 ## because on some systems, compiling with PIC but not linking into |
824 a shared library messes things up. */ | 485 ## a shared library messes things up. |
486 | |
825 extw-Xt-shared.o: ${srcdir}/extw-Xt.c extw-Xt-nonshared.o | 487 extw-Xt-shared.o: ${srcdir}/extw-Xt.c extw-Xt-nonshared.o |
826 $(CC) -c $(pic_arg) $(cflags) ${srcdir}/extw-Xt.c | 488 $(CC) -c $(pic_arg) $(cflags) ${srcdir}/extw-Xt.c |
827 mv extw-Xt.o extw-Xt-shared.o | 489 mv extw-Xt.o extw-Xt-shared.o |
828 | 490 |
829 extw-Xlib-shared.o: ${srcdir}/extw-Xlib.c extw-Xlib-nonshared.o | 491 extw-Xlib-shared.o: ${srcdir}/extw-Xlib.c extw-Xlib-nonshared.o |
869 shortnames: | 531 shortnames: |
870 cd ${shortnamesdir} && ${MAKE} ${MFLAGS} | 532 cd ${shortnamesdir} && ${MAKE} ${MFLAGS} |
871 #endif | 533 #endif |
872 | 534 |
873 config.h: ${srcdir}/config.h.in | 535 config.h: ${srcdir}/config.h.in |
874 @echo "The file $@ needs to be set up from config.h.in." | |
875 @echo "Consult the file \`INSTALL' for instructions for building Emacs." | |
876 exit 1 | |
877 | |
878 puresize_adjust.h: ${srcdir}/puresize.h | 536 puresize_adjust.h: ${srcdir}/puresize.h |
879 @echo "The file $@ still needs to be generated." | |
880 @echo "Please run 'make' from the top-level." | |
881 exit 1 | |
882 | |
883 paths.h: ${srcdir}/paths.h.in | 537 paths.h: ${srcdir}/paths.h.in |
884 @echo "The file $@ needs to be set up from paths.h.in." | |
885 @echo "Consult the file \`INSTALL' for instructions for building Emacs." | |
886 exit 1 | |
887 | |
888 Emacs.ad.h: ${srcdir}/${etcdir}Emacs.ad | 538 Emacs.ad.h: ${srcdir}/${etcdir}Emacs.ad |
889 @echo "The file $@ needs to be set up from ${srcdir}/${etcdir}Emacs.ad" | 539 |
890 @echo "Consult the file \`INSTALL' for instructions for building Emacs." | 540 config.h puresize_adjust.h paths.h Emacs.ad.h : |
891 exit 1 | 541 @echo "The file $@ needs to be re-generated." |
892 | 542 @echo "Please run a make in the top level directory." |
893 /* Some machines have alloca built-in. | 543 @echo "Consult the file \`INSTALL' for instructions for building XEmacs." |
894 They should define HAVE_ALLOCA, or may just let alloca.s | 544 @exit 1 |
895 be used but generate no code. | 545 |
896 Some have it written in assembler in alloca.s. | 546 ## Some machines have alloca built-in. |
897 Some use the C version in alloca.c (these define C_ALLOCA in config.h). | 547 ## They should define HAVE_ALLOCA, or may just let alloca.s |
898 */ | 548 ## be used but generate no code. |
549 ## Some have it written in assembler in alloca.s. | |
550 ## Some use the C version in alloca.c (these define C_ALLOCA in config.h). | |
551 | |
899 | 552 |
900 #ifdef C_ALLOCA | 553 #ifdef C_ALLOCA |
901 /* We could put something in alloca.c to #define free and malloc | 554 ## We could put something in alloca.c to #define free and malloc |
902 whenever emacs was #defined, but that's not appropriate for all | 555 ## whenever emacs was #defined, but that's not appropriate for all |
903 users of alloca in Emacs. Check out ../lib-src/getopt.c. */ | 556 ## users of alloca in Emacs. Check out ../lib-src/getopt.c. */ |
557 | |
904 alloca.o : ${srcdir}/alloca.c | 558 alloca.o : ${srcdir}/alloca.c |
905 $(CC) -c -Dfree=xfree -Dmalloc=xmalloc $(cflags) $< | 559 $(CC) -c -Dfree=xfree -Dmalloc=xmalloc $(cflags) $< |
906 #else | 560 #else |
907 #ifndef HAVE_ALLOCA | 561 #ifndef HAVE_ALLOCA |
908 alloca.o : ${srcdir}/alloca.s config.h | 562 alloca.o : ${srcdir}/alloca.s config.h |
909 /* $(CPP) is cc -E, which may get confused by filenames | 563 ## $(CPP) is cc -E, which may get confused by filenames |
910 that do not end in .c. So copy file to a safe name. */ | 564 ## that do not end in .c. So copy file to a safe name. */ |
911 cp ${srcdir}/alloca.s allocatem.c | 565 ## cp ${srcdir}/alloca.s allocatem.c |
912 /* Remove any ^L, blank lines, and preprocessor comments, | 566 ## Remove any ^L, blank lines, and preprocessor comments, |
913 since some assemblers barf on them. Use a different basename for the | 567 ## since some assemblers barf on them. Use a different basename for the |
914 output file, since some stupid compilers (Green Hill) use that | 568 ## output file, since some stupid compilers (Green Hill) use that |
915 name for the intermediate assembler file. */ | 569 ## name for the intermediate assembler file. |
916 $(CPP) $(cppflags) allocatem.c | \ | 570 $(CPP) $(cppflags) allocatem.c | \ |
917 sed -e 's///' -e 's/^#.*//' | \ | 571 sed -e 's///' -e 's/^#.*//' | \ |
918 sed -n -e '/^..*$$/p' > allocax.s | 572 sed -n -e '/^..*$$/p' > allocax.s |
919 -rm -f alloca.o | 573 @$(RM) alloca.o |
920 /* Xenix, in particular, needs to run assembler via cc. */ | 574 ## Xenix, in particular, needs to run assembler via cc. |
921 $(CC) -c allocax.s | 575 $(CC) -c allocax.s |
922 mv allocax.o alloca.o | 576 mv allocax.o alloca.o |
923 rm -f allocax.s allocatem.c | 577 $(RM) allocax.s allocatem.c |
924 #endif /* HAVE_ALLOCA */ | 578 #endif /* HAVE_ALLOCA */ |
925 #endif /* ! defined (C_ALLOCA) */ | 579 #endif /* ! defined (C_ALLOCA) */ |
926 | 580 |
927 #ifdef EMACS_BTL | 581 #ifdef EMACS_BTL |
928 BTL_includes = -I$(BTL_dir) | 582 BTL_includes = -I$(BTL_dir) |
944 $(CC) -c $(sound_cflags) $(cflags) $< | 598 $(CC) -c $(sound_cflags) $(cflags) $< |
945 hpplay.o: ${srcdir}/hpplay.c | 599 hpplay.o: ${srcdir}/hpplay.c |
946 $(CC) -c -Demacs $(sound_cflags) $(cflags) $< | 600 $(CC) -c -Demacs $(sound_cflags) $(cflags) $< |
947 #endif /* HAVE_NATIVE_SOUND */ | 601 #endif /* HAVE_NATIVE_SOUND */ |
948 | 602 |
949 /* System-specific programs to be made. | 603 ## System-specific programs to be made. |
950 ${other_files}, OBJECTS_SYSTEM and OBJECTS_MACHINE | 604 ## ${other_files}, $(objects_system) and $(objects_machine) |
951 select which of these should be compiled. */ | 605 ## select which of these should be compiled. */ |
606 | |
607 .PHONY : mostlyclean clean distclean realclean versionclean extraclean | |
952 | 608 |
953 mostlyclean: | 609 mostlyclean: |
954 rm -f temacs puremacs quantmacs prefix-args xmakefile* core depend.* \#* *.o | 610 $(RM) temacs puremacs quantmacs prefix-args core depend.* \#* *.o *.i |
955 rm -f ${libsrc}DOC | |
956 clean: mostlyclean | 611 clean: mostlyclean |
957 rm -f xemacs libextcli* | 612 $(RM) xemacs libextcli* ${libsrc}DOC |
958 /**/# This is used in making a distribution. | 613 ## This is used in making a distribution. |
959 /**/# Do not use it on development directories! | 614 ## Do not use it on development directories! |
960 distclean: clean versionclean | 615 distclean: clean versionclean |
961 rm -f config.h paths.h puresize_adjust.h Emacs.ad.h \ | 616 $(RM) config.h paths.h puresize_adjust.h Emacs.ad.h \ |
962 rm -f Makefile Makefile.in .pure xemacs-version.h | 617 Makefile Makefile.in .pure xemacs-version.h |
963 realclean: distclean | 618 realclean: distclean |
964 rm -f TAGS | 619 $(RM) TAGS |
965 versionclean: | 620 versionclean: |
966 -rm -f xemacs ${libsrc}DOC | 621 $(RM) xemacs ${libsrc}DOC |
967 extraclean: realclean | 622 extraclean: realclean |
968 -rm -f *~ \#* m/?*~ s/?*~ | 623 $(RM) *~ \#* m/?*~ s/?*~ |
969 | 624 |
970 /* The rule for the [sm] files has to be written a little funny to | 625 ## The rule for the [sm] files has to be written a little funny to |
971 avoid looking like a C comment to CPP. */ | 626 ## avoid looking like a C comment to CPP. |
627 .PHONY : lock unlock | |
972 SOURCES = *.[chm] *.pswm [sm]/?* COPYING paths.h.in Makefile.in.in \ | 628 SOURCES = *.[chm] *.pswm [sm]/?* COPYING paths.h.in Makefile.in.in \ |
973 config.h.in README COPYING ChangeLog | 629 config.h.in README COPYING ChangeLog |
974 unlock: | 630 unlock: |
975 chmod u+w $(SOURCES) | 631 chmod u+w $(SOURCES) |
976 | 632 |
977 relock: | 633 relock: |
978 chmod -w $(SOURCES) | 634 chmod -w $(SOURCES) |
979 | 635 |
980 #ifdef __GNUC__ | 636 #ifdef __GNUC__ |
981 | 637 |
982 /*** Dependency processing using GCC ***/ | 638 ## Dependency processing using GCC |
983 | 639 |
984 .c.dep: | 640 .c.dep: |
985 $(CC) -MM $(cflags) $< > $*.dep | 641 $(CC) -MM $(cflags) $< > $*.dep |
986 | 642 |
987 .SUFFIXES: .dep | 643 .SUFFIXES: .dep |
988 | 644 |
989 obj_dep = $(objs:.o=.dep) | 645 obj_dep = $(objs:.o=.dep) |
990 | 646 |
647 .PHONY : depend gnu-depend | |
648 ## #### Needs a bit of work: it doesn't see the object files that | |
649 ## we are not compiling | |
991 gnu-depend: $(obj_dep) | 650 gnu-depend: $(obj_dep) |
992 /* #### Needs a bit of work: it doesn't see the object files that | |
993 we are not compiling */ | |
994 cat $(obj_dep) | sh ${libsrc}process-gnu-depends.sh > depend.out | 651 cat $(obj_dep) | sh ${libsrc}process-gnu-depends.sh > depend.out |
995 | 652 |
996 #endif /* GCC */ | 653 #endif /* GCC */ |
997 | 654 |
998 /*** Dependency processing using makedepend ***/ | 655 ## Dependency processing using makedepend |
999 | 656 |
1000 depend: | 657 depend: |
1001 : > depend.tmp | 658 : > depend.tmp |
1002 makedepend -f depend.tmp -Dsubprocesses \ | 659 makedepend -f depend.tmp -Dsubprocesses \ |
1003 -DHAVE_X_WINDOWS -DMULE -- $(cppflags) $(cflags) \ | 660 -DHAVE_X_WINDOWS -DMULE -- $(cppflags) $(cflags) \ |
1009 cat /tmp/depend1.$$ >> depend.out | 666 cat /tmp/depend1.$$ >> depend.out |
1010 @# The things you have to do to pay homage to the lexer God ... frightening | 667 @# The things you have to do to pay homage to the lexer God ... frightening |
1011 echo '#endif /''* MULE *''/' >> depend.out | 668 echo '#endif /''* MULE *''/' >> depend.out |
1012 echo '' >> depend.out | 669 echo '' >> depend.out |
1013 cat /tmp/depend2.$$ >> depend.out | 670 cat /tmp/depend2.$$ >> depend.out |
1014 rm -f /tmp/depend1.$$ /tmp/depend2.$$ | 671 $(RM) /tmp/depend1.$$ /tmp/depend2.$$ |
1015 | 672 |
1016 /* Manually-generated dependencies (makedepend misbehaves on these) */ | 673 ## Manually-generated dependencies (makedepend misbehaves on these) |
1017 | 674 |
1018 /* (actually makedepend does OK on these but we want to conditionalize | 675 ## (actually makedepend does OK on these but we want to conditionalize them) |
1019 them) */ | |
1020 #ifdef EXTERNAL_WIDGET | 676 #ifdef EXTERNAL_WIDGET |
1021 ExternalClient-Xlib.o: extw-Xlib.h | 677 ExternalClient-Xlib.o: extw-Xlib.h |
1022 ExternalClient-Xm.o: config.h | 678 ExternalClient-Xm.o: config.h |
1023 ExternalClient-Xm.o: xintrinsicp.h | 679 ExternalClient-Xm.o: xintrinsicp.h |
1024 ExternalClient-Xm.o: ExternalClient.h | 680 ExternalClient-Xm.o: ExternalClient.h |
1061 cadillac-btl-process.o: $(BTL_dir)/cadillac-btl-process.c | 717 cadillac-btl-process.o: $(BTL_dir)/cadillac-btl-process.c |
1062 cadillac-btl-process.o: $(BTL_dir)/cadillac-btl.h | 718 cadillac-btl-process.o: $(BTL_dir)/cadillac-btl.h |
1063 cadillac-btl-process.o: $(BTL_dir)/cadillac-btl-extern.h | 719 cadillac-btl-process.o: $(BTL_dir)/cadillac-btl-extern.h |
1064 #endif /* EMACS_BTL */ | 720 #endif /* EMACS_BTL */ |
1065 | 721 |
1066 /* (makedepend definitely misbehaves on these) */ | 722 ## (makedepend definitely misbehaves on these) |
1067 sgiplay.o: config.h | 723 sgiplay.o: config.h |
1068 sgiplay.o: libst.h | 724 sgiplay.o: libst.h |
1069 unexconvex.o: getpagesize.h | 725 unexconvex.o: getpagesize.h |
1070 unexec.o: getpagesize.h | 726 unexec.o: getpagesize.h |
1071 unexaix.o: config.h | 727 unexaix.o: config.h |
1079 unexhp9k3.o: config.h | 735 unexhp9k3.o: config.h |
1080 unexhp9k800.o: config.h | 736 unexhp9k800.o: config.h |
1081 unexmips.o: config.h | 737 unexmips.o: config.h |
1082 unexsunos4.o: config.h | 738 unexsunos4.o: config.h |
1083 | 739 |
1084 /* Dependencies generated by 'make depend' */ | 740 ## Dependencies generated by 'make depend' |
1085 | 741 |
1086 #ifdef MULE | 742 #ifdef MULE |
1087 EmacsFrame.o: mule-charset.h | 743 EmacsFrame.o: mule-charset.h |
1088 abbrev.o: mule-charset.h | 744 abbrev.o: mule-charset.h |
1089 alloc.o: mule-charset.h | 745 alloc.o: mule-charset.h |
1305 alloc.o: specifier.h | 961 alloc.o: specifier.h |
1306 alloc.o: systime.h | 962 alloc.o: systime.h |
1307 alloc.o: toolbar.h | 963 alloc.o: toolbar.h |
1308 alloc.o: window.h | 964 alloc.o: window.h |
1309 alloca.o: config.h | 965 alloca.o: config.h |
966 balloon_help.o: config.h | |
967 balloon_help.o: balloon_help.h | |
968 balloon-x.o: config.h | |
969 balloon-x.o: device.h | |
970 balloon-x.o: console-x.h | |
971 balloon-x.o: balloon_help.h | |
1310 blocktype.o: blocktype.h | 972 blocktype.o: blocktype.h |
1311 blocktype.o: config.h | 973 blocktype.o: config.h |
1312 blocktype.o: dynarr.h | 974 blocktype.o: dynarr.h |
1313 buffer.o: blocktype.h | 975 buffer.o: blocktype.h |
1314 buffer.o: buffer.h | 976 buffer.o: buffer.h |