comparison src/Makefile.in.in @ 173:8eaf7971accc r20-3b13

Import from CVS: tag r20-3b13
author cvs
date Mon, 13 Aug 2007 09:49:09 +0200
parents 929b76928fce
children 2d532a89d707
comparison
equal deleted inserted replaced
172:a38aed19690b 173:8eaf7971accc
20 ## the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 20 ## the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 ## Boston, MA 02111-1307, USA. 21 ## Boston, MA 02111-1307, USA.
22 22
23 ## Synched up with: Not synched with FSF. 23 ## Synched up with: Not synched with FSF.
24 24
25 @SET_MAKE@
26
27 all: xemacs 25 all: xemacs
28 .PHONY : all release dump-elc dump-elcs all-elc all-elcs lint 26 .PHONY : all release dump-elc dump-elcs all-elc all-elcs lint binary
29 27
30 ## For performance and consistency, no built-in rules. 28 ## For performance and consistency, no built-in rules.
31 .SUFFIXES: 29 .SUFFIXES:
32 .SUFFIXES: .c .o .i .h 30 .SUFFIXES: .c .o .i .h
31
32 @SET_MAKE@
33 SHELL=/bin/sh
34 RM = rm -f
33 35
34 lispdir = ${srcdir}/../lisp/ 36 lispdir = ${srcdir}/../lisp/
35 libsrc = ../lib-src/ 37 libsrc = ../lib-src/
36 etcdir = ../etc/ 38 etcdir = ../etc/
37 39
40 CC=@CC@ 42 CC=@CC@
41 CPP=@CPP@ 43 CPP=@CPP@
42 CFLAGS=@CFLAGS@ 44 CFLAGS=@CFLAGS@
43 CPPFLAGS=@CPPFLAGS@ 45 CPPFLAGS=@CPPFLAGS@
44 LDFLAGS=@LDFLAGS@ 46 LDFLAGS=@LDFLAGS@
47 RECURSIVE_MAKE=@RECURSIVE_MAKE@
45 48
46 c_switch_general=@c_switch_general@ 49 c_switch_general=@c_switch_general@
47 c_switch_window_system=@c_switch_window_system@ 50 c_switch_window_system=@c_switch_window_system@
48 c_switch_all=@c_switch_all@ 51 c_switch_all=@c_switch_all@
49 ld_switch_general=@ld_switch_general@ 52 ld_switch_general=@ld_switch_general@
54 ld_libs_all=@ld_libs_all@ 57 ld_libs_all=@ld_libs_all@
55 58
56 extra_objs=@extra_objs@ 59 extra_objs=@extra_objs@
57 LN_S=@LN_S@ 60 LN_S=@LN_S@
58 61
59 ld_switch_call_shared=@ld_switch_call_shared@
60 ld_switch_shared=@ld_switch_shared@ 62 ld_switch_shared=@ld_switch_shared@
61 start_files=@start_files@ 63 start_files=@start_files@
62 start_flags=@start_flags@ 64 start_flags=@start_flags@
63 LD=@ld@ 65 LD=@ld@
64 lib_gcc=@lib_gcc@ 66 lib_gcc=@lib_gcc@
65 67
66 ## just to be sure the sh is used
67 SHELL=/bin/sh
68
69 #define NO_SHORTNAMES
70 #define NOT_C_CODE 68 #define NOT_C_CODE
71 #include "config.h" 69 #include "config.h"
72 70
73 ## With the traditional VPATH setting, it is not possible to 71 ## With the traditional VPATH setting, it is not possible to
74 ## simultaneously compile in-place and in another directory. The 72 ## simultaneously compile in-place and in another directory. The
107 quantify_flags = -windows=no -record-data=no 105 quantify_flags = -windows=no -record-data=no
108 quantify_includes = -I/local/include 106 quantify_includes = -I/local/include
109 quantify_libs = /local/lib/quantify_stubs.a 107 quantify_libs = /local/lib/quantify_stubs.a
110 #endif /* QUANTIFY */ 108 #endif /* QUANTIFY */
111 109
112 #ifdef SHORTNAMES
113 SHORT= shortnames
114 #endif
115
116 #ifdef HAVE_NATIVE_SOUND 110 #ifdef HAVE_NATIVE_SOUND
117 sound_cflags=@sound_cflags@ 111 sound_cflags=@sound_cflags@
118 #endif 112 #endif
119 113
120 LWLIB_SRCDIR = ${srcdir}/../lwlib 114 LWLIB_SRCDIR = ${srcdir}/../lwlib
121 115
122 #ifdef HAVE_X_WINDOWS 116 #ifdef HAVE_X_WINDOWS
123 lwlib_libs = ../lwlib/liblw.a 117 lwlib_libs = ../lwlib/liblw.a
124 lwlib_deps = $(lwlib_libs) 118 lwlib_deps = $(lwlib_libs)
125 $(lwlib_libs) : 119 $(lwlib_libs) :
126 cd ../lwlib && ${MAKE} ${MFLAGS} 120 cd ../lwlib && $(RECURSIVE_MAKE)
127 ## LWLIB_LDFLAGS = -L../lwlib
128 121
129 x_objs=balloon_help.o balloon-x.o console-x.o device-x.o event-Xt.o frame-x.o\ 122 x_objs=balloon_help.o balloon-x.o console-x.o device-x.o event-Xt.o frame-x.o\
130 glyphs-x.o objects-x.o redisplay-x.o xgccache.o xselect.o 123 glyphs-x.o objects-x.o redisplay-x.o xgccache.o xselect.o
131 124
132 #ifdef AIX4 125 #ifdef AIX4
139 ## -Demacs is needed to make some files produce the correct version 132 ## -Demacs is needed to make some files produce the correct version
140 ## for use in Emacs. 133 ## for use in Emacs.
141 134
142 cppflags = $(CPPFLAGS) -Demacs -I. $(c_switch_all) 135 cppflags = $(CPPFLAGS) -Demacs -I. $(c_switch_all)
143 cflags = $(CFLAGS) $(cppflags) 136 cflags = $(CFLAGS) $(cppflags)
144 ldflags = -L. $(ld_switch_all) 137 ldflags = $(ld_switch_all)
145 138
146 .c.o: 139 .c.o:
147 $(CC) -c $(cflags) $< 140 $(CC) -c $(cflags) $<
148 141
149 ## Create preprocessor output (debugging purposes only) 142 ## Create preprocessor output (debugging purposes only)
159 freecheck_objs = free-hook.o 152 freecheck_objs = free-hook.o
160 # endif /* FREE */ 153 # endif /* FREE */
161 energize_objs = energize.o $(freecheck_objs) 154 energize_objs = energize.o $(freecheck_objs)
162 #endif /* ENERGIZE */ 155 #endif /* ENERGIZE */
163 156
157 #ifdef CLASH_DETECTION
158 LOCK_OBJ = filelock.o
159 #else
160 LOCK_OBJ =
161 #endif /* CLASH_DETECTION */
162
164 ## lastfile must follow all files whose initialized data areas should 163 ## lastfile must follow all files whose initialized data areas should
165 ## be dumped as pure by dump-emacs. 164 ## be dumped as pure by dump-emacs.
166 165
167 ## NOTE: The last line cannot be all macros, because make will barf 166 ## NOTE: The last line cannot be all macros, because make will barf
168 ## if they all come out null. 167 ## if they all come out null.
173 cmdloop.o cmds.o console.o console-stream.o\ 172 cmdloop.o cmds.o console.o console-stream.o\
174 data.o device.o dired.o doc.o doprnt.o dynarr.o\ 173 data.o device.o dired.o doc.o doprnt.o dynarr.o\
175 editfns.o elhash.o emacs.o\ 174 editfns.o elhash.o emacs.o\
176 $(energize_objs) eval.o events.o $(extra_objs)\ 175 $(energize_objs) eval.o events.o $(extra_objs)\
177 event-stream.o extents.o faces.o\ 176 event-stream.o extents.o faces.o\
178 fileio.o filelock.o filemode.o floatfns.o fns.o font-lock.o\ 177 fileio.o $(LOCK_OBJ) filemode.o floatfns.o fns.o font-lock.o\
179 frame.o general.o getloadavg.o glyphs.o\ 178 frame.o general.o getloadavg.o glyphs.o\
180 $(gui_objs) hash.o indent.o insdel.o intl.o\ 179 $(gui_objs) hash.o indent.o insdel.o intl.o\
181 keymap.o $(RTC_patch_objs) lread.o lstream.o\ 180 keymap.o $(RTC_patch_objs) lread.o lstream.o\
182 macros.o marker.o md5.o minibuf.o objects.o opaque.o\ 181 macros.o marker.o md5.o minibuf.o objects.o opaque.o\
183 print.o process.o profile.o pure.o\ 182 print.o process.o profile.o pure.o\
283 -if [ -w ${srcdir}/../lisp ]; then \ 282 -if [ -w ${srcdir}/../lisp ]; then \
284 w=`pwd`; cd ${srcdir} && $${w}/temacs -nl -batch -l inc-vers; \ 283 w=`pwd`; cd ${srcdir} && $${w}/temacs -nl -batch -l inc-vers; \
285 else true; fi 284 else true; fi
286 @touch SATISFIED 285 @touch SATISFIED
287 -$(DUMPENV) ./temacs -nl -batch -l loadup.el dump 286 -$(DUMPENV) ./temacs -nl -batch -l loadup.el dump
288 @if test ! -f SATISFIED; then $(MAKE) $@; fi 287 @if test ! -f SATISFIED; then $(RECURSIVE_MAKE) $@; fi
289 @$(RM) SATISFIED 288 @$(RM) SATISFIED
290 #else /* ! defined (HAVE_SHM) */ 289 #else /* ! defined (HAVE_SHM) */
291 -if [ -w ${srcdir}/../lisp ]; then \ 290 -if [ -w ${srcdir}/../lisp ]; then \
292 w=`pwd`; cd ${srcdir} && $${w}/temacs -batch -l inc-vers; \ 291 w=`pwd`; cd ${srcdir} && $${w}/temacs -batch -l inc-vers; \
293 else true; fi 292 else true; fi
294 @touch SATISFIED 293 @touch SATISFIED
295 -$(DUMPENV) ./temacs -batch -l loadup.el dump 294 -$(DUMPENV) ./temacs -batch -l loadup.el dump
296 @if test ! -f SATISFIED; then $(MAKE) $@; fi 295 @if test ! -f SATISFIED; then $(RECURSIVE_MAKE) $@; fi
297 @$(RM) SATISFIED 296 @$(RM) SATISFIED
298 #endif /* ! defined (HAVE_SHM) */ 297 #endif /* ! defined (HAVE_SHM) */
299 touch release 298 touch release
300 #endif /* ! defined (CANNOT_DUMP) */ 299 #endif /* ! defined (CANNOT_DUMP) */
301 300
302 FRC.DOC: 301 FRC.DOC:
303 302
304 xemacs: temacs ${libsrc}DOC $(mo_file) ${other_files} dump-elcs 303 FRC.xemacs:
304
305 xemacs: temacs ${libsrc}DOC $(mo_file) ${other_files} FRC.xemacs
306 @touch NOBYTECOMPILE
307 -${DUMPENV} ./temacs -batch -l ../prim/update-elc.el
308 if test -f NOBYTECOMPILE || test ! -f xemacs; then \
309 $(RECURSIVE_MAKE) binary; \
310 fi
311 @$(RM) NOBYTECOMPILE
312
313 binary: temacs
305 @touch SATISFIED 314 @touch SATISFIED
306 -$(DUMPENV) ./temacs -batch -l loadup.el dump 315 -$(DUMPENV) ./temacs -batch -l loadup.el dump
307 @if test ! -f SATISFIED; then $(MAKE) $@; fi 316 @if test ! -f SATISFIED; then $(RECURSIVE_MAKE) $@; fi
308 @$(RM) SATISFIED
309
310 xemacs-no-site-file: temacs ${libsrc}DOC $(mo_file) ${other_files} dump-elcs
311 @touch SATISFIED
312 -$(DUMPENV) ./temacs -batch -l loadup.el dump no-site-file
313 @if test ! -f SATISFIED; then $(MAKE) $@; fi
314 @$(RM) SATISFIED 317 @$(RM) SATISFIED
315 318
316 obj_src = $(objs:.o=.c) 319 obj_src = $(objs:.o=.c)
317 320
318 #ifdef DYNODUMP 321 #ifdef DYNODUMP
319 dynodump_deps = ../dynodump/dynodump.so 322 dynodump_deps = ../dynodump/dynodump.so
320 ../dynodump/dynodump.so: 323 ../dynodump/dynodump.so:
321 cd ../dynodump && ${MAKE} ${MFLAGS} 324 cd ../dynodump && $(RECURSIVE_MAKE)
322 #endif /* DYNODUMP */ 325 #endif /* DYNODUMP */
323 326
324 ${libsrc}DOC: temacs 327 ${libsrc}DOC: temacs
325 #ifdef NO_DOC_FILE 328 #ifdef NO_DOC_FILE
326 if test -f $@; then touch $@ && exit 0; fi; \ 329 if test -f $@; then touch $@ && exit 0; fi; \
331 ${obj_src} ${mallocdocsrc} ${rallocdocsrc} 334 ${obj_src} ${mallocdocsrc} ${rallocdocsrc}
332 335
333 dump_elcs: dump-elcs 336 dump_elcs: dump-elcs
334 337
335 dump-elcs: temacs 338 dump-elcs: temacs
336 @touch SATISFIED
337 -${DUMPENV} ./temacs -batch -l ../prim/update-elc.el 339 -${DUMPENV} ./temacs -batch -l ../prim/update-elc.el
338 @if test ! -f SATISFIED; then $(MAKE) $@; fi
339 @$(RM) SATISFIED
340 340
341 all-elc all-elcs: 341 all-elc all-elcs:
342 cd .. && $(MAKE) all-elc $(MFLAGS) 342 cd .. && $(RECURSIVE_MAKE) all-elc
343 343
344 #ifdef I18N3 344 #ifdef I18N3
345 345
346 # if defined(SPARC) && !defined(USG) 346 # if defined(SPARC) && !defined(USG)
347 xgettext= /usr/openwin/bin/xgettext 347 xgettext= /usr/openwin/bin/xgettext
361 361
362 ${mo_dir}emacs.mo: ${mo_dir}emacs.po 362 ${mo_dir}emacs.mo: ${mo_dir}emacs.po
363 cd ${mo_dir} && ${msgfmt} -o emacs.mo emacs.po 363 cd ${mo_dir} && ${msgfmt} -o emacs.mo emacs.po
364 364
365 ${libsrc}make-msgfile: 365 ${libsrc}make-msgfile:
366 cd ${libsrc} && ${MAKE} ${MFLAGS} make-msgfile 366 cd ${libsrc} && $(RECURSIVE_MAKE) make-msgfile
367 367
368 ${libsrc}make-po: 368 ${libsrc}make-po:
369 cd ${libsrc} && ${MAKE} ${MFLAGS} make-po 369 cd ${libsrc} && $(RECURSIVE_MAKE) make-po
370 370
371 #endif /* I18N3 */ 371 #endif /* I18N3 */
372 372
373 ${libsrc}make-docfile: 373 ${libsrc}make-docfile:
374 cd ${libsrc} && ${MAKE} ${MFLAGS} make-docfile 374 cd ${libsrc} && $(RECURSIVE_MAKE) make-docfile
375 375
376 ## Lint Section 376 ## Lint Section
377 LINT.c=$(LINT) $(LINTFLAGS) $(LINTINCLUDES) 377 LINT.c=$(LINT) $(LINTFLAGS) $(LINTINCLUDES)
378 LINTFILES= $(objs:.o=.ln) 378 LINTFILES= $(objs:.o=.ln)
379 LINTINCLUDES = $(cppflags) 379 LINTINCLUDES = $(cppflags)
382 lint: $(LINTFILES) 382 lint: $(LINTFILES)
383 $(LINT.c) $(LINTFILES) 383 $(LINT.c) $(LINTFILES)
384 ## end of Lint Section 384 ## end of Lint Section
385 385
386 temacs_deps=\ 386 temacs_deps=\
387 $(LOCALCPP) $(SHORT) $(start_files) ${objs} ${otherobjs}\ 387 $(LOCALCPP) $(start_files) ${objs} ${otherobjs}\
388 $(lwlib_deps) $(dynodump_deps) prefix-args 388 $(lwlib_deps) $(dynodump_deps) prefix-args
389 389
390 temacs_link_args=\ 390 temacs_link_args=\
391 ${start_flags} ${ldflags} $(ld_switch_call_shared)\ 391 ${start_flags} ${ldflags}\
392 -o $@ ${start_files} ${objs} ${otherobjs} ${LIBES} 392 -o $@ ${start_files} ${objs} ${otherobjs} ${LIBES}
393 393
394 temacs: $(temacs_deps) 394 temacs: $(temacs_deps)
395 $(LD) $(temacs_link_args) 395 if $(LD) $(temacs_link_args); then \
396 $(RM) xemacs; \
397 fi
396 398
397 rtc_patch.o: 399 rtc_patch.o:
398 rtc_patch_area -o $@ 400 rtc_patch_area -o $@
399 401
400 rtcmacs: $(temacs_deps) rtc_patch.o 402 rtcmacs: $(temacs_deps) rtc_patch.o
401 $(RM) temacs; $(MAKE) $(MAKE_FLAGS) temacs RTC_patch_objs=rtc_patch.o 403 $(RM) temacs; $(RECURSIVE_MAKE) temacs RTC_patch_objs=rtc_patch.o
402 mv temacs rtcmacs 404 mv temacs rtcmacs
403 405
404 rtcrun: rtcmacs 406 rtcrun: rtcmacs
405 dbx -q -C -c \ 407 dbx -q -C -c \
406 'dbxenv rtc_error_log_file_name /dev/fd/1; \ 408 'dbxenv rtc_error_log_file_name /dev/fd/1; \
515 517
516 #endif /* EXTERNAL_WIDGET */ 518 #endif /* EXTERNAL_WIDGET */
517 519
518 prefix-args: ${srcdir}/prefix-args.c config.h 520 prefix-args: ${srcdir}/prefix-args.c config.h
519 $(CC) $(cflags) ${srcdir}/prefix-args.c -o prefix-args 521 $(CC) $(cflags) ${srcdir}/prefix-args.c -o prefix-args
520
521 #ifdef SHORTNAMES
522 shortnames:
523 cd ${shortnamesdir} && ${MAKE} ${MFLAGS}
524 #endif
525 522
526 config.h: ${srcdir}/config.h.in 523 config.h: ${srcdir}/config.h.in
527 puresize_adjust.h: ${srcdir}/puresize.h 524 puresize_adjust.h: ${srcdir}/puresize.h
528 paths.h: ${srcdir}/paths.h.in 525 paths.h: ${srcdir}/paths.h.in
529 Emacs.ad.h: ${srcdir}/${etcdir}Emacs.ad 526 Emacs.ad.h: ${srcdir}/${etcdir}Emacs.ad