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