Mercurial > hg > xemacs-beta
comparison Makefile.in @ 70:131b0175ea99 r20-0b30
Import from CVS: tag r20-0b30
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:02:59 +0200 |
parents | 7e54bd776075 |
children | 54cc21c15cbb |
comparison
equal
deleted
inserted
replaced
69:804d1389bcd6 | 70:131b0175ea99 |
---|---|
1 # DIST: This is the distribution Makefile for XEmacs. configure can | 1 # DIST: This is the distribution Makefile for XEmacs. configure can |
2 # DIST: make most of the changes to this file you might want, so try | 2 # DIST: make most of the changes to this file you might want, so try |
3 # DIST: that first. | 3 # DIST: that first. |
4 | |
5 # This file is part of XEmacs. | |
6 | |
7 # XEmacs is free software; you can redistribute it and/or modify it | |
8 # under the terms of the GNU General Public License as published by the | |
9 # Free Software Foundation; either version 2, or (at your option) any | |
10 # later version. | |
11 | |
12 # XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
13 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
14 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
15 # for more details. | |
16 | |
17 # You should have received a copy of the GNU General Public License | |
18 # along with XEmacs; see the file COPYING. If not, write to | |
19 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
20 # Boston, MA 02111-1307, USA. | |
4 | 21 |
5 # make all to compile and build XEmacs. | 22 # make all to compile and build XEmacs. |
6 # make install to install it. | 23 # make install to install it. |
7 # make TAGS to update tags tables. | 24 # make TAGS to update tags tables. |
8 # | 25 # |
47 | 64 |
48 ### These help us choose version- and architecture-specific directories | 65 ### These help us choose version- and architecture-specific directories |
49 ### to install files in. | 66 ### to install files in. |
50 | 67 |
51 ### This should be the number of the XEmacs version we're building, | 68 ### This should be the number of the XEmacs version we're building, |
52 ### like `19.13' or `19.14'. | 69 ### like `19.12' or `19.13'. |
53 version=@version@ | 70 version=@version@ |
54 | 71 |
55 ### This should be the name of the configuration we're building XEmacs | 72 ### This should be the name of the configuration we're building XEmacs |
56 ### for, like `mips-dec-ultrix' or `sparc-sun-sunos'. | 73 ### for, like `mips-dec-ultrix' or `sparc-sun-sunos'. |
57 configuration=@configuration@ | 74 configuration=@configuration@ |
206 .NO_PARALLEL: src/paths.h src/Emacs.ad.h ${MAKE_SUBDIR} dump-elcs | 223 .NO_PARALLEL: src/paths.h src/Emacs.ad.h ${MAKE_SUBDIR} dump-elcs |
207 | 224 |
208 all: src/paths.h src/Emacs.ad.h ${MAKE_SUBDIR} | 225 all: src/paths.h src/Emacs.ad.h ${MAKE_SUBDIR} |
209 | 226 |
210 # Convenience target for XEmacs beta testers | 227 # Convenience target for XEmacs beta testers |
211 beta: clean all-elc | 228 beta: clean all-elc |
212 | 229 |
213 # Build XEmacs and recompile out-of-date and missing .elc files along | 230 # Build XEmacs and recompile out-of-date and missing .elc files along |
214 # the way. | 231 # the way. |
215 all-elc: src/paths.h src/Emacs.ad.h lib-src lwlib dump-elcs src | 232 all-elc all-elcs: src/paths.h src/Emacs.ad.h lib-src lwlib dump-elcs src |
216 MAKE='$(MAKE)' sh ${srcdir}/lib-src/update-elc.sh | 233 sh ${srcdir}/lib-src/update-elc.sh |
217 | 234 |
218 # Sub-target for all-elc. | 235 # Sub-target for all-elc. |
219 dump-elcs: FRC.dump-elcs | 236 dump-elc dump-elcs: FRC.dump-elcs |
220 cd src; $(MAKE) dump-elcs $(MFLAGS) \ | 237 cd src; $(MAKE) dump-elcs $(MFLAGS) \ |
221 CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' | 238 CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' |
222 | 239 |
223 autoloads: src | 240 autoloads: src |
224 MAKE='$(MAKE)' sh ${srcdir}/lib-src/update-autoloads.sh | 241 sh ${srcdir}/lib-src/update-autoloads.sh |
225 | 242 |
226 # We force the rebuilding of src/paths.h because the user might give | 243 # We force the rebuilding of src/paths.h because the user might give |
227 # different values for the various directories. Since we use | 244 # different values for the various directories. Since we use |
228 # move-if-change, src/paths.h only actually changes if the user did | 245 # move-if-change, src/paths.h only actually changes if the user did |
229 # something notable, so the only unnecessary work we do is in building | 246 # something notable, so the only unnecessary work we do is in building |
279 lwlib: FRC.lwlib | 296 lwlib: FRC.lwlib |
280 dynodump: FRC.dynodump | 297 dynodump: FRC.dynodump |
281 | 298 |
282 .RECURSIVE: ${SUBDIR} | 299 .RECURSIVE: ${SUBDIR} |
283 | 300 |
284 ${SUBDIR}: ${SUBDIR_MAKEFILES} src/config.h src/puresize_adjust.h FRC | 301 ${SUBDIR}: ${SUBDIR_MAKEFILES} src/config.h FRC |
285 cd $@; $(MAKE) all $(MFLAGS) \ | 302 cd $@; $(MAKE) all $(MFLAGS) \ |
286 CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' | 303 CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' |
287 | 304 |
288 Makefile: ${srcdir}/Makefile.in config.status | 305 Makefile: ${srcdir}/Makefile.in config.status |
289 ./config.status | 306 ./config.status |
300 dynodump/Makefile: ${srcdir}/dynodump/Makefile.in.in config.status | 317 dynodump/Makefile: ${srcdir}/dynodump/Makefile.in.in config.status |
301 ./config.status | 318 ./config.status |
302 | 319 |
303 src/config.h: ${srcdir}/src/config.h.in | 320 src/config.h: ${srcdir}/src/config.h.in |
304 ./config.status | 321 ./config.status |
305 | |
306 src/puresize_adjust.h: ${srcdir}/src/puresize.h | |
307 @echo "Resetting \`src/puresize_adjust.h'." | |
308 @echo '/* This file is generated by XEmacs, DO NOT MODIFY!!! */' > src/puresize_adjust.h | |
309 @echo '#define PURESIZE_ADJUSTMENT 0' >> src/puresize_adjust.h | |
310 | |
311 | 322 |
312 # ==================== Installation ==================== | 323 # ==================== Installation ==================== |
313 | 324 |
314 ## If we let lib-src do its own installation, that means we | 325 ## If we let lib-src do its own installation, that means we |
315 ## don't have to duplicate the list of utilities to install in | 326 ## don't have to duplicate the list of utilities to install in |
335 ## all. --cet | 346 ## all. --cet |
336 | 347 |
337 install: all install-arch-dep install-arch-indep; | 348 install: all install-arch-dep install-arch-indep; |
338 | 349 |
339 install-arch-dep: mkdir | 350 install-arch-dep: mkdir |
340 (cd lib-src; \ | 351 (cd lib-src && \ |
341 $(MAKE) install $(MFLAGS) prefix=${prefix} \ | 352 $(MAKE) install $(MFLAGS) prefix=${prefix} \ |
342 exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \ | 353 exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \ |
343 archlibdir=${archlibdir}) | 354 archlibdir=${archlibdir}) |
344 if [ `(cd ${archlibdir}; /bin/pwd)` != `(cd ./lib-src; /bin/pwd)` ]; \ | 355 if [ `(cd ${archlibdir}; /bin/pwd)` != `(cd ./lib-src; /bin/pwd)` ]; \ |
345 then \ | 356 then \ |
346 echo "Copying lib-src/DOC-* ..." ; \ | 357 ${INSTALL_DATA} lib-src/DOC ${archlibdir}/DOC ; \ |
347 (cd ./lib-src; tar -cf - DOC-*)|(cd ${archlibdir}; umask 0; tar -xf - ); \ | |
348 for subdir in `find ${archlibdir} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \ | 358 for subdir in `find ${archlibdir} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \ |
349 rm -rf $${subdir}/RCS ; \ | 359 rm -rf $${subdir}/RCS $${subdir}/CVS $${subdir}/SCCS ; \ |
350 rm -rf $${subdir}/CVS ; \ | 360 rm -f $${subdir}/\#* $${subdir}/*~ ; \ |
351 rm -rf $${subdir}/SCCS ; \ | |
352 rm -f $${subdir}/\#* ; \ | |
353 rm -f $${subdir}/*~ ; \ | |
354 done ; \ | 361 done ; \ |
355 else true; fi | 362 else true; fi |
356 ${INSTALL_PROGRAM} src/xemacs ${bindir}/xemacs-${version} | 363 ${INSTALL_PROGRAM} src/xemacs ${bindir}/xemacs-${version} |
357 -chmod 0755 ${bindir}/xemacs-${version} | 364 -chmod 0755 ${bindir}/xemacs-${version} |
358 rm -f ${bindir}/xemacs | 365 rm -f ${bindir}/xemacs |
374 && [ `(cd $${dir} && /bin/pwd)` != `(cd $${dest} && /bin/pwd)` ] \ | 381 && [ `(cd $${dir} && /bin/pwd)` != `(cd $${dest} && /bin/pwd)` ] \ |
375 && (echo "Copying $${dir}..." ; \ | 382 && (echo "Copying $${dir}..." ; \ |
376 (cd $${dir}; tar -cf - . )|(cd $${dest};umask 022; tar -xf - );\ | 383 (cd $${dir}; tar -cf - . )|(cd $${dest};umask 022; tar -xf - );\ |
377 chmod 0755 $${dest}; \ | 384 chmod 0755 $${dest}; \ |
378 for subdir in `find $${dest} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \ | 385 for subdir in `find $${dest} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \ |
379 rm -rf $${subdir}/RCS ; \ | 386 rm -rf $${subdir}/RCS $${subdir}/CVS $${subdir}/SCCS ; \ |
380 rm -rf $${subdir}/CVS ; \ | 387 rm -f $${subdir}/\#* $${subdir}/*~ ; \ |
381 rm -rf $${subdir}/SCCS ; \ | |
382 rm -f $${subdir}/\#* ; \ | |
383 rm -f $${subdir}/*~ ; \ | |
384 done) ; \ | 388 done) ; \ |
385 done | 389 done |
386 if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \ | 390 if [ `(cd ${srcdir}/info && /bin/pwd)` != `(cd ${infodir} && /bin/pwd)` ]; \ |
387 then \ | 391 then \ |
388 (cd ${srcdir}/info ; \ | 392 (cd ${srcdir}/info ; \ |
389 if [ ! -f ${infodir}/dir ] && [ -f dir ]; then \ | 393 if [ ! -f ${infodir}/dir ] && [ -f dir ]; then \ |
390 ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir ; \ | 394 ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir ; \ |
391 fi ; \ | 395 fi ; \ |
392 for f in *.info* ; do \ | 396 for f in ange-ftp* cc-mode* cl* dired* ediff* external-widget* \ |
397 forms* gnus* hyperbole* ilisp* info* internals* \ | |
398 ispell* lispref* mailcrypt* message* mh-e* \ | |
399 new-users-guide* oo-browser* pcl-cvs* psgml* rmail* \ | |
400 standards* supercite* term.* termcap* texinfo* viper* \ | |
401 vm* w3* xemacs* ; do \ | |
393 ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f ; \ | 402 ${INSTALL_DATA} ${srcdir}/info/$$f ${infodir}/$$f ; \ |
394 chmod 0644 ${infodir}/$$f; \ | 403 chmod 0644 ${infodir}/$$f; \ |
395 gzip -f9 ${infodir}/$$f; \ | |
396 done); \ | 404 done); \ |
397 else true; fi | 405 else true; fi |
398 cd ${srcdir}/etc; for page in xemacs etags ctags gnuserv \ | 406 cd ${srcdir}/etc; for page in xemacs etags ctags gnuserv \ |
399 gnuclient gnuattach gnudoit ; do \ | 407 gnuclient gnuattach gnudoit ; do \ |
400 ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext} ; \ | 408 ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext} ; \ |
401 chmod 0644 ${mandir}/$${page}${manext} ; \ | 409 chmod 0644 ${mandir}/$${page}${manext} ; \ |
402 done | 410 done |
403 @echo "If you would like to save approximately 15M of disk space, do" | |
404 @echo "make gzip-el" | |
405 @echo "or you may run" | |
406 @echo lib-src/gzip-el.sh lispdir " from the command line." | |
407 @echo "Where lispdir is where the lisp files were installed, i.e.," | |
408 @echo "${lispdir}" | |
409 | |
410 gzip-el: | |
411 lib-src/gzip-el.sh ${lispdir} | |
412 | 411 |
413 MAKEPATH=./lib-src/make-path | 412 MAKEPATH=./lib-src/make-path |
414 ### Build all the directories we're going to install XEmacs in. Since | 413 ### Build all the directories we're going to install XEmacs in. Since |
415 ### we may be creating several layers of directories (for example, | 414 ### we may be creating several layers of directories (for example, |
416 ### /usr/local/lib/xemacs-19.14/mips-dec-ultrix4.2), we use make-path | 415 ### /usr/local/lib/xemacs-19.13/mips-dec-ultrix4.2), we use make-path |
417 ### instead of mkdir. Not all systems' mkdirs have the `-p' flag. | 416 ### instead of mkdir. Not all systems' mkdirs have the `-p' flag. |
418 mkdir: FRC.mkdir | 417 mkdir: FRC.mkdir |
419 ${MAKEPATH} ${COPYDESTS} ${lockdir} ${infodir} ${mandir} \ | 418 ${MAKEPATH} ${COPYDESTS} ${lockdir} ${infodir} ${mandir} \ |
420 ${bindir} ${datadir} ${libdir} ${sitelispdir} | 419 ${bindir} ${datadir} ${libdir} ${sitelispdir} |
421 -chmod 0777 ${lockdir} | 420 -chmod 0777 ${lockdir} |
495 rm -f config.status config-tmp-* build-install ; \ | 494 rm -f config.status config-tmp-* build-install ; \ |
496 rm -f Makefile ${SUBDIR_MAKEFILES}; \ | 495 rm -f Makefile ${SUBDIR_MAKEFILES}; \ |
497 (cd lock && rm -f *) | 496 (cd lock && rm -f *) |
498 | 497 |
499 distclean: FRC.distclean | 498 distclean: FRC.distclean |
500 -([ ! -d lock ] && mkdir lock) | |
501 -([ ! -d site-lisp ] && mkdir site-lisp) | |
502 (cd src && $(MAKE) $(MFLAGS) distclean) | 499 (cd src && $(MAKE) $(MFLAGS) distclean) |
503 (cd lib-src && $(MAKE) $(MFLAGS) distclean) | 500 (cd lib-src && $(MAKE) $(MFLAGS) distclean) |
504 (cd lwlib && $(MAKE) $(MFLAGS) distclean) | 501 (cd lwlib && $(MAKE) $(MFLAGS) distclean) |
505 (cd dynodump && $(MAKE) $(MFLAGS) distclean) | 502 (cd dynodump && $(MAKE) $(MFLAGS) distclean) |
506 -(cd man && $(MAKE) $(MFLAGS) distclean) | 503 -(cd man && $(MAKE) $(MFLAGS) distclean) |
577 | 574 |
578 .PHONY: TAGS tags check dist | 575 .PHONY: TAGS tags check dist |
579 | 576 |
580 TAGS tags: | 577 TAGS tags: |
581 @echo "If you don't have a copy of etags around, then do 'make lib-src' first." | 578 @echo "If you don't have a copy of etags around, then do 'make lib-src' first." |
582 @PATH=`pwd`/lib-src:$$PATH ; echo "Using etags from `which etags`." | 579 @PATH=`pwd`/lib-src:$$PATH HOME=/-=-; export PATH HOME; \ |
583 PATH=`pwd`/lib-src:$$PATH ; cd ${srcdir} ; \ | 580 echo "Using etags from `which etags`." |
584 etags --regex='| /[ ]*DEFVAR_[A-Z_ (]+"\([^\"]+\)"/|' src/*.[ch] ; \ | 581 PATH=`pwd`/lib-src:$$PATH ; export PATH; cd ${srcdir} ; \ |
585 for d in `find lisp -name SCCS -prune -o -name RCS -prune -o -type d -print` ; do (cd $$d ; if [ "`echo *.el`" != "*.el" ] ; then etags -a -o ${srcdir}/TAGS *.el ; fi ) ; done ; \ | 582 etags --regex='/[ ]*DEF\(VAR\|INE\)_[A-Z_]+[ ]*([ ]*"\([^"]+\)"/\2/' src/*.[ch] ; \ |
583 for d in `find lisp -name SCCS -prune -o -name RCS -prune -o -type d -print` ; do \ | |
584 (cd $$d ; if [ "`echo *.el`" != "*.el" ] ; then etags -a -o ${srcdir}/TAGS *.el ; fi ) ; \ | |
585 done ; \ | |
586 etags -a lwlib/*.[ch] | 586 etags -a lwlib/*.[ch] |
587 | 587 |
588 check: | 588 check: |
589 @echo "We don't have any tests for XEmacs yet." | 589 @echo "We don't have any automated tests for XEmacs yet." |
590 | 590 |
591 dist: | 591 dist: |
592 cd ${srcdir} && make-dist | 592 cd ${srcdir} && make-dist |
593 | 593 |
594 .PHONY: info dvi | 594 .PHONY: info dvi |
595 force-info: | 595 force-info: |
596 info: force-info | 596 info: force-info |
597 (cd ${srcdir}/man && $(MAKE) $(MFLAGS) info) | 597 cd ${srcdir}/man && $(MAKE) $(MFLAGS) $@ |
598 | |
599 dvi: | 598 dvi: |
600 (cd ${srcdir}/man && $(MAKE) $(MFLAGS) dvi) | 599 cd ${srcdir}/man && $(MAKE) $(MFLAGS) $@ |
600 | |
601 # Fix up version information in executables (Solaris-only) | |
602 mcs: | |
603 date=`LANG=C LC_ALL=C date -u '+%e %b %Y'`; \ | |
604 ident="@(#)RELEASE VERSION XEmacs ${version} $${date}"; \ | |
605 for f in `file lib-src/* src/xemacs | grep ELF | sed -e 's/:.*//'`; do \ | |
606 mcs -da "$${ident} `echo $${f} | sed 's/.*\///'`" $${f}; \ | |
607 done |