comparison src/Makefile.in.in @ 398:74fd4e045ea6 r21-2-29

Import from CVS: tag r21-2-29
author cvs
date Mon, 13 Aug 2007 11:13:30 +0200
parents aabb7f5b1c81
children a86b2b5e0111
comparison
equal deleted inserted replaced
397:f4aeb21a5bad 398:74fd4e045ea6
95 ## This includes any .c or .h built from something else 95 ## This includes any .c or .h built from something else
96 ## (e.g. a .in file). 96 ## (e.g. a .in file).
97 vpath config.h 97 vpath config.h
98 vpath paths.h 98 vpath paths.h
99 vpath Emacs.ad.h 99 vpath Emacs.ad.h
100 vpath puresize-adjust.h
101 vpath sheap-adjust.h 100 vpath sheap-adjust.h
102 #else 101 #else
103 VPATH=@srcdir@ 102 VPATH=@srcdir@
104 #endif 103 #endif
105 104
116 lwlib_deps = $(lwlib_libs) 115 lwlib_deps = $(lwlib_libs)
117 $(lwlib_libs) : 116 $(lwlib_libs) :
118 cd ../lwlib && $(RECURSIVE_MAKE) 117 cd ../lwlib && $(RECURSIVE_MAKE)
119 118
120 x_objs=balloon_help.o balloon-x.o console-x.o device-x.o event-Xt.o frame-x.o\ 119 x_objs=balloon_help.o balloon-x.o console-x.o device-x.o event-Xt.o frame-x.o\
121 glyphs-x.o objects-x.o redisplay-x.o xgccache.o xselect.o 120 glyphs-x.o objects-x.o redisplay-x.o select-x.o xgccache.o
122 121
123 #ifdef AIX4 122 #ifdef AIX4
124 LIBI18N = -li18n 123 LIBI18N = -li18n
125 #endif /* AIX4 */ 124 #endif /* AIX4 */
126 125
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 eval.o events.o $(extra_objs)\ 175 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 $(LOCK_OBJ) 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 glyphs-eimage.o glyphs-widget.o\ 178 frame.o general.o glyphs.o glyphs-eimage.o glyphs-widget.o\
180 gui.o $(gui_objs) hash.o imgproc.o indent.o insdel.o intl.o\ 179 gui.o gutter.o $(gui_objs) hash.o imgproc.o indent.o insdel.o intl.o\
181 keymap.o $(RTC_patch_objs) line-number.o lread.o lstream.o\ 180 keymap.o $(RTC_patch_objs) line-number.o 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\ 182 print.o process.o profile.o\
184 rangetab.o redisplay.o redisplay-output.o regex.o\ 183 rangetab.o redisplay.o redisplay-output.o regex.o\
185 search.o $(sheap_obj) signal.o sound.o\ 184 search.o select.o $(sheap_obj) signal.o sound.o\
186 specifier.o strftime.o symbols.o syntax.o sysdep.o\ 185 specifier.o strftime.o symbols.o syntax.o sysdep.o\
187 undo.o $(x_objs) widget.o window.o 186 undo.o $(x_objs) widget.o window.o
188 187
189 obj_rtl = $(objs:.o=.c.rtl) 188 obj_rtl = $(objs:.o=.c.rtl)
190 189
235 # ifdef USE_GCC 234 # ifdef USE_GCC
236 # ifdef USG5 235 # ifdef USG5
237 # define EXTW_LINK(objs, output) $(CC) -shared objs -Xlinker -z -Xlinker text -o output 236 # define EXTW_LINK(objs, output) $(CC) -shared objs -Xlinker -z -Xlinker text -o output
238 extw_link_beg = $(CC) -shared 237 extw_link_beg = $(CC) -shared
239 extw_link_mid = -Xlinker -z -Xlinker text -o 238 extw_link_mid = -Xlinker -z -Xlinker text -o
240 extw_link_end = 239 extw_link_end =
241 ## I cannot figure out how to do shared a.out libraries, so just punt. 240 ## I cannot figure out how to do shared a.out libraries, so just punt.
242 # elif !defined (LINUX) || defined (__ELF__) 241 # elif !defined (LINUX) || defined (__ELF__)
243 # define EXTW_LINK(objs, output) $(CC) -shared objs -o output 242 # define EXTW_LINK(objs, output) $(CC) -shared objs -o output
244 extw_link_beg = $(CC) -shared 243 extw_link_beg = $(CC) -shared
245 extw_link_mid = -o 244 extw_link_mid = -o
246 extw_link_end = 245 extw_link_end =
247 # endif 246 # endif
248 # elif defined (USG5) 247 # elif defined (USG5)
249 # if defined (IRIX) 248 # if defined (IRIX)
250 # define EXTW_LINK(objs, output) $(LD) -shared -g -check_registry ${TOOLROOT}/usr/lib/so_locations objs -o output 249 # define EXTW_LINK(objs, output) $(LD) -shared -g -check_registry ${TOOLROOT}/usr/lib/so_locations objs -o output
251 extw_link_beg = $(LD) -shared -g -check_registry ${TOOLROOT}/usr/lib/so_locations 250 extw_link_beg = $(LD) -shared -g -check_registry ${TOOLROOT}/usr/lib/so_locations
252 extw_link_mid = -o 251 extw_link_mid = -o
253 extw_link_end = 252 extw_link_end =
254 # else /* not IRIX */ 253 # else /* not IRIX */
255 # define EXTW_LINK(objs, output) $(CC) -G objs -z text -o output 254 # define EXTW_LINK(objs, output) $(CC) -G objs -z text -o output
256 extw_link_beg = $(CC) -G 255 extw_link_beg = $(CC) -G
257 extw_link_mid = -z text -o 256 extw_link_mid = -z text -o
258 extw_link_end = 257 extw_link_end =
259 # endif /* not IRIX */ 258 # endif /* not IRIX */
260 # else /* not USG5 */ 259 # else /* not USG5 */
261 # if defined (DEC_ALPHA) && defined (OSF1) 260 # if defined (DEC_ALPHA) && defined (OSF1)
262 # define EXTW_LINK(objs, output) $(LD) $(ldflags) $(ld_switch_shared) -d objs -o output $(LIBES) 261 # define EXTW_LINK(objs, output) $(LD) $(ldflags) $(ld_switch_shared) -d objs -o output $(LIBES)
263 extw_link_beg = $(LD) $(ldflags) $(ld_switch_shared) -d 262 extw_link_beg = $(LD) $(ldflags) $(ld_switch_shared) -d
264 extw_link_mid = -o 263 extw_link_mid = -o
265 extw_link_end = $(LIBES) 264 extw_link_end = $(LIBES)
266 # else /* !(DEC_ALPHA && OSF1) */ 265 # else /* !(DEC_ALPHA && OSF1) */
267 # define EXTW_LINK(objs, output) $(LD) -dc objs -assert pure-text -o output 266 # define EXTW_LINK(objs, output) $(LD) -dc objs -assert pure-text -o output
268 extw_link_beg = $(LD) -dc 267 extw_link_beg = $(LD) -dc
269 extw_link_mid = -assert pure-text -o 268 extw_link_mid = -assert pure-text -o
270 extw_link_end = 269 extw_link_end =
271 # endif /* !(DEC_ALPHA && OSF1) */ 270 # endif /* !(DEC_ALPHA && OSF1) */
272 # endif /* not USG5 */ 271 # endif /* not USG5 */
273 272
274 # ifdef LWLIB_USES_MOTIF 273 # ifdef LWLIB_USES_MOTIF
275 # ifdef EXTW_LINK 274 # ifdef EXTW_LINK
308 #ifdef I18N3 307 #ifdef I18N3
309 mo_dir = ${etcdir} 308 mo_dir = ${etcdir}
310 mo_file = ${mo_dir}emacs.mo 309 mo_file = ${mo_dir}emacs.mo
311 #endif 310 #endif
312 311
312 #ifdef WINDOWSNT
313 LOADPATH = EMACSBOOTSTRAPLOADPATH="${lispdir};${blddir}"
314 MODULEPATH = EMACSBOOTSTRAPMODULEPATH="${moduledir};${blddir}"
315 #else
313 LOADPATH = EMACSBOOTSTRAPLOADPATH="${lispdir}:${blddir}" 316 LOADPATH = EMACSBOOTSTRAPLOADPATH="${lispdir}:${blddir}"
314 MODULEPATH = EMACSBOOTSTRAPMODULEPATH="${moduledir}:${blddir}" 317 MODULEPATH = EMACSBOOTSTRAPMODULEPATH="${moduledir}:${blddir}"
318 #endif
315 DUMPENV = $(LOADPATH) $(MODULEPATH) 319 DUMPENV = $(LOADPATH) $(MODULEPATH)
316 temacs_loadup = $(DUMPENV) ./temacs -batch -l ${srcdir}/../lisp/loadup.el 320 temacs_loadup = $(DUMPENV) ./temacs -batch -l ${srcdir}/../lisp/loadup.el
317 dump_temacs = ${temacs_loadup} dump 321 dump_temacs = ${temacs_loadup} dump
318 run_temacs = ${temacs_loadup} run-temacs 322 run_temacs = ${temacs_loadup} run-temacs
323 debug_temacs = $(DUMPENV) gdb temacs
319 324
320 release: temacs ${libsrc}DOC $(mo_file) ${other_files} 325 release: temacs ${libsrc}DOC $(mo_file) ${other_files}
321 #ifdef CANNOT_DUMP 326 #ifdef CANNOT_DUMP
322 ln temacs ${PROGNAME} 327 ln temacs ${PROGNAME}
323 #else 328 #else
324 #ifdef HAVE_SHM 329 #ifdef HAVE_SHM
325 -if [ -w ${srcdir}/../lisp ]; then \ 330 -if [ -w ${srcdir}/../lisp ]; then \
326 w=`pwd`; cd ${srcdir} && $${w}/temacs -nl -batch -l ${srcdir}/../lisp/inc-vers; \ 331 w=`pwd`; cd ${srcdir} && $${w}/temacs -nl -batch -l ${srcdir}/../lisp/inc-vers; \
327 else true; fi 332 else true; fi
328 @touch SATISFIED
329 -$(DUMPENV) ./temacs -nl -batch -l ${srcdir}/../lisp/loadup.el dump 333 -$(DUMPENV) ./temacs -nl -batch -l ${srcdir}/../lisp/loadup.el dump
330 @if test ! -f SATISFIED; then $(RECURSIVE_MAKE) $@; fi
331 @$(RM) SATISFIED
332 #else /* ! defined (HAVE_SHM) */ 334 #else /* ! defined (HAVE_SHM) */
333 -if [ -w ${srcdir}/../lisp ]; then \ 335 -if [ -w ${srcdir}/../lisp ]; then \
334 w=`pwd`; cd ${srcdir} && $${w}/temacs -batch -l ${srcdir}/../lisp/inc-vers; \ 336 w=`pwd`; cd ${srcdir} && $${w}/temacs -batch -l ${srcdir}/../lisp/inc-vers; \
335 else true; fi 337 else true; fi
336 @touch SATISFIED
337 -$(DUMPENV) ./temacs -batch -l ${srcdir}/../lisp/loadup.el dump 338 -$(DUMPENV) ./temacs -batch -l ${srcdir}/../lisp/loadup.el dump
338 @if test ! -f SATISFIED; then $(RECURSIVE_MAKE) $@; fi
339 @$(RM) SATISFIED
340 #endif /* ! defined (HAVE_SHM) */ 339 #endif /* ! defined (HAVE_SHM) */
341 touch release 340 touch release
342 #endif /* ! defined (CANNOT_DUMP) */ 341 #endif /* ! defined (CANNOT_DUMP) */
343 342
344 ${PROGNAME}: temacs ${libsrc}DOC $(mo_file) ${other_files} update-elc.stamp 343 ${PROGNAME}: temacs ${libsrc}DOC $(mo_file) ${other_files} update-elc.stamp
345 @$(RM) $@ && touch SATISFIED 344 #ifdef HEAP_IN_DATA
345 @$(RM) $@ $@.exe && touch SATISFIED
346 -${dump_temacs} 346 -${dump_temacs}
347 @if test -f $@; then if test -f SATISFIED; then \ 347 @if test -f $@; then if test -f SATISFIED; then \
348 echo "Testing for Lisp shadows ..."; \ 348 echo "Testing for Lisp shadows ..."; \
349 ./${PROGNAME} -batch -vanilla -f list-load-path-shadows; fi; \ 349 ./${PROGNAME} -batch -vanilla -f list-load-path-shadows; fi; \
350 $(RM) SATISFIED; exit 0; fi; \ 350 $(RM) SATISFIED; exit 0; fi; \
351 if test -f SATISFIED; then $(RM) SATISFIED; exit 1; fi; \ 351 if test -f SATISFIED; then $(RM) SATISFIED; exit 1; fi; \
352 $(RECURSIVE_MAKE) $@; 352 $(RECURSIVE_MAKE) $@;
353 353 #else
354 fastdump: temacs 354 @$(RM) $@ xemacs.dmp
355 ${dump_temacs}
356 #ifdef PDUMP
357 @mv temacs $@
358 #endif
359 @echo "Testing for Lisp shadows ..."
360 @./${PROGNAME} -batch -vanilla -f list-load-path-shadows
361 #endif
362
363 fastdump: temacs
355 @$(RM) ${PROGNAME} && touch SATISFIED 364 @$(RM) ${PROGNAME} && touch SATISFIED
356 -${dump_temacs} 365 -${dump_temacs}
357 @if test -f ${PROGNAME}; then if test -f SATISFIED; then \ 366 @./${PROGNAME} -batch -vanilla -f list-load-path-shadows
358 ./${PROGNAME} -batch -vanilla -f list-load-path-shadows; fi; \
359 $(RM) SATISFIED; exit 0; fi; \
360 if test -f SATISFIED; then $(RM) SATISFIED; exit 1; fi;
361 367
362 FRC.update-elc.stamp : 368 FRC.update-elc.stamp :
363 369
364 update-elc.stamp : temacs FRC.update-elc.stamp 370 update-elc.stamp : temacs FRC.update-elc.stamp
365 @touch NOBYTECOMPILE 371 @touch NOBYTECOMPILE
446 ${start_flags} ${ldflags}\ 452 ${start_flags} ${ldflags}\
447 -o $@ ${start_files} ${objs} ${otherobjs} ${LIBES} 453 -o $@ ${start_files} ${objs} ${otherobjs} ${LIBES}
448 454
449 temacs: $(temacs_deps) 455 temacs: $(temacs_deps)
450 $(LD) $(temacs_link_args) 456 $(LD) $(temacs_link_args)
457 #ifdef PDUMP
458 @$(RM) xemacs.dmp
459 #endif
451 460
452 .PHONY : run-temacs 461 .PHONY : run-temacs
453 462
454 run-temacs: temacs 463 run-temacs: temacs
455 -${run_temacs} 464 -${run_temacs}
456 465
457 ## We have automated tests!! 466 ## We have automated tests!!
458 testdir = ${srcdir}/../tests/automated 467 testdir = ${srcdir}/../tests/automated
459 tests = \ 468 batch_test_emacs = -batch -l ${testdir}/test-harness.el -f batch-test-emacs ${testdir}
460 ${testdir}/hash-table-tests.el \
461 ${testdir}/lisp-tests.el \
462 ${testdir}/database-tests.el \
463 ${testdir}/byte-compiler-tests.el \
464 ${testdir}/md5-tests.el
465 batch_test_emacs = -batch -l ${testdir}/test-harness.el -f batch-test-emacs ${tests}
466 469
467 .PHONY: check check-temacs 470 .PHONY: check check-temacs
468 check: 471 check:
469 ./${PROGNAME} ${batch_test_emacs} 472 ./${PROGNAME} ${batch_test_emacs}
470 check-temacs: 473 check-temacs:
494 check -access; \ 497 check -access; \
495 suppress rui; \ 498 suppress rui; \
496 runargs -batch -l ${srcdir}/../lisp/loadup.el run-temacs -q; \ 499 runargs -batch -l ${srcdir}/../lisp/loadup.el run-temacs -q; \
497 run' rtcmacs 500 run' rtcmacs
498 501
502 debug-temacs: temacs
503 -${debug_temacs}
504
499 ## Purify, Quantify, PureCoverage are software quality products from 505 ## Purify, Quantify, PureCoverage are software quality products from
500 ## Rational, formerly Pure Atria, formerly Pure Software. 506 ## Rational, formerly Pure Atria, formerly Pure Software.
501 ## 507 ##
502 ## Purify 508 ## Purify
503 PURIFY_PROG = purify 509 PURIFY_PROG = purify
504 PURIFY_FLAGS = -chain-length=32 -ignore-signals=SIGPOLL -threads=yes \ 510 PURIFY_FLAGS =\
505 -cache-dir=./purecache -always-use-cache-dir=yes -pointer-mask=0x0fffffff 511 #ifdef PDUMP
512 -search-mmaps=yes\
513 #endif
514 -chain-length=32 -ignore-signals=SIGPOLL -threads=yes\
515 -cache-dir=./purecache -always-use-cache-dir=yes
516
506 PURIFY_LIBS = -lpthread 517 PURIFY_LIBS = -lpthread
507 puremacs: $(temacs_deps) 518 puremacs: $(temacs_deps)
508 $(PURIFY_PROG) $(PURIFY_FLAGS) $(LD) $(temacs_link_args) $(PURIFY_LIBS) 519 $(PURIFY_PROG) $(PURIFY_FLAGS) $(LD) $(temacs_link_args) $(PURIFY_LIBS)
509 cp $@ temacs 520 cp $@ temacs
510 521
629 #endif /* EXTW_LINK */ 640 #endif /* EXTW_LINK */
630 641
631 #endif /* EXTERNAL_WIDGET */ 642 #endif /* EXTERNAL_WIDGET */
632 643
633 config.h: ${srcdir}/config.h.in 644 config.h: ${srcdir}/config.h.in
634 puresize-adjust.h: ${srcdir}/puresize.h
635 Emacs.ad.h: ${srcdir}/${etcdir}Emacs.ad 645 Emacs.ad.h: ${srcdir}/${etcdir}Emacs.ad
636 646
637 config.h puresize-adjust.h sheap-adjust.h paths.h Emacs.ad.h : 647 config.h sheap-adjust.h paths.h Emacs.ad.h :
638 @echo "The file $@ needs to be re-generated." 648 @echo "The file $@ needs to be re-generated."
639 @echo "Please run a make in the top level directory." 649 @echo "Please run a make in the top level directory."
640 @echo "Consult the file \`INSTALL' for instructions for building XEmacs." 650 @echo "Consult the file \`INSTALL' for instructions for building XEmacs."
641 @exit 1 651 @exit 1
642 652
687 ## select which of these should be compiled. */ 697 ## select which of these should be compiled. */
688 698
689 .PHONY: mostlyclean clean distclean realclean versionclean extraclean 699 .PHONY: mostlyclean clean distclean realclean versionclean extraclean
690 mostlyclean: 700 mostlyclean:
691 $(RM) temacs puremacs quantmacs prefix-args *.o *.i \ 701 $(RM) temacs puremacs quantmacs prefix-args *.o *.i \
692 core temacs.exe puresize-adjust.h sheap-adjust.h 702 core temacs.exe sheap-adjust.h
693 clean: mostlyclean versionclean 703 clean: mostlyclean versionclean
694 $(RM) libextcli* update-elc.stamp 704 $(RM) libextcli* update-elc.stamp
695 ## This is used in making a distribution. 705 ## This is used in making a distribution.
696 ## Do not use it on development directories! 706 ## Do not use it on development directories!
697 distclean: clean 707 distclean: clean
742 ## Dependency processing using home-grown script, not makedepend 752 ## Dependency processing using home-grown script, not makedepend
743 .PHONY: depend 753 .PHONY: depend
744 FRC.depend: 754 FRC.depend:
745 depend: FRC.depend 755 depend: FRC.depend
746 cd ${srcdir} && $(RM) depend.tmp && \ 756 cd ${srcdir} && $(RM) depend.tmp && \
747 perl make-src-depend > depend.tmp && \ 757 perl ./make-src-depend > depend.tmp && \
748 $(RM) depend && mv depend.tmp depend 758 if cmp -s depend depend.tmp; \
759 then $(RM) depend.tmp; \
760 else $(RM) depend && mv depend.tmp depend; \
761 fi